0
Исправлен

копирование материала

Сергей Марков 9 лет назад обновлен Тех.поддержка (специалист поддержки) 8 лет назад 6
В версии, которая только что стала доступной для скачивания (21.02.2012 14-30 по Москве)на режим Материалы и Изделия добавлена кнопка Копировать, которая позволяет скопировать изделие либо материал вместе с ед. изм., тиражной сеткой (только для изделия), поставщиками, аналогами, сопутствующими продуктами, операциями (только для изделия), скидками (только для материала), оборудования (только для материала).

вроде у нас свежая версия базы
программу обновили сегодня
при попытке копирования (через кнопку) и клонирования (через контекстное меню) получаем одинаковую ошибку при сохранении:


Ответ

Ответ
Исправлен

SQLQuery1.sql

Сергей, здравствуйте, данная ошибка может возникать, если у Вас в ед. из. материала в каком-либо коэффициенте стоит 0 - происходит деление на него и возникает ошибка. ЧТобы исправить - необходимо выполнить ф-ию в sql Menagement Studio (в данной ф-ии происходит расчет того поля, на которое появляется ошибка). Ф-ия в прикрепленном файле. Попробуйте ее выполнить и произвести копирование.

Сергей, здравствуйте, вот полный текст, который вышел по поводу копирования изделий/материалов:

В версии, которая только что стала доступной для скачивания (21.02.2012 14-30 по Москве)на режим Материалы и Изделия добавлена кнопка Копировать, которая позволяет скопировать изделие либо материал вместе с ед. изм., тиражной сеткой (только для изделия), поставщиками, аналогами, сопутствующими продуктами, операциями (только для изделия), скидками (только для материала), оборудования (только для материала).

 

Все у кого конфигурация базы от 10.02.2012 могут добавить себе возможность копирования материалов/изделий следующим образом:

1. Идем в Пуск, Все программы, Microsoft SQL Server, SqL Server Menagement Studio, входим под sa. В Menagement Studio слева нажимаем кнопку New Query- откроется окно запроса, в него вставляем текст из прикрепленного файла. Проверяем вверху слева от запроса в выпадающем списке (расположен слева от кнопки EXECUTE) название базы для которой ходим выполнить запрос. Нажимаем кнопку EXECUTE – запрос выполняется – видим сообщение Command(s) completed successfully.

2. Пуск, Все программы, BMicro, Администрирование, дизайнер интерфейсов, входим под пользователем sa. Открываем режим Материалы и Изделия. В данном режиме на панель, где расположены кнопки (Резервы по сотрудникам, Создать заявки по поставщикам) добавляем еще одну кнопку (меню Компоненты формы, Кнопка, берем ее мышкой и «тянем» на нужное место). Далее нужно задать свойства данной кнопки: курсором мыши выделаем поставленную на панель кнопку и слева в Инспекторе в разделе Кнопка задаем следующие параметры:

Действие – Хранимая процедура

Главная таблица – Table9. Прайс-лист продукты

Хранимая процедура – [dbo].[AXI_CopyPrice]

Обновить режим – ставим галочку

Заголовок – Копировать.

Сохраняем режим.

 

Речь идет о возможности копировать изделие/материал из интерфейса Материал и Изделия. Кнопка располагается именно на нем. Добавить кнопку самостоятельно также нужно на интерфейс.

Кнопка копировать, расположенная на Карточке Прайс-лист продукты – это совсем другое, это стандартная кнопка копирования, которая копирует только данные с карточки, без привязанных к ней объектов (именно поэтому, для возможности копировать полностью весь продукт, со всеми данными была реализована кнопка Копирования на интерфейсе)

Возможность копировать материал/изделие реализована в конфигурации, а не в платформе КК. Т.е. если скачиваете конфигурацию (база на sql), то получаете такую возможность или если у Вас конфигурация (база) от 10.02.2012, то самостоятельно можете настроить копирование (описание, как это сделать есть http://community.axistem.ru/topic/54878-klonirovanie-operatsij/?comment_form_activate=true).

Вы сейчас показываете старый скриншот конфигурации psb, в котором пытаетесь скопировать продукт через стандартную кнопку, а не той, про которую шла речь в топике.

Ошибка, которая на скриншоте возникает из-за того, что у данного продукта в одной из его ед.изм. коэффициент стоит 0. Происходит деление на 0 - возникает ошибка.

базу поменяли
ошибка другая, но похожая:
Divide by zero error encountered.


Ошибка произошла в процедуре: _SCUpdateAttr109->P4528, строка 14

данную ошибку вчера сами обнаружили и поправили в новой конфигурации, чтобы исправить у Вас:

1. под пользователем sa заходим в КОнфигуратор (Пуск, Все программы, BMicro, Администрирование, КОнфигуратор)

2. находим класс 109 Прайс-лист продукты, в нем есть Хранимые вычисления (справа от класса внизу). Нужно Хранимое вычисление Себестоимость последней поставки. Его открываем (двойной щелчок мыши) и на вкладке Алгоритм под полем Хранилище вставляем следующий текст:

 

case
when  isnull("Основной поставщик->Кол-во",0) = 0 then 0
else
case
when "Ед. изм." = "Основной поставщик->Ед. изм. посл. поставки" then
isnull("Основной поставщик->Цена поступления",0)+(isnull("Основной поставщик->Доп. расходы",0) / isnull("Основной поставщик->Кол-во",1))
else
(isnull("Основной поставщик->Цена поступления",0)+(isnull("Основной поставщик->Доп. расходы",0) / isnull("Основной поставщик->Кол-во",1)))
*
isnull("Ед. изм.->Коэффициент",1)
end
end

 

СОхраняем вычисление (кнопка ОК)

 

3. Правой кнопкой мыши на вычислении Себестоимость последней поставке Выполнить, Выбранное вычисление

4. Нажимаем кнопку ОбновитьБД (верхнее меню в Конфигураторе, вкладка Конфигурирование и атрибуты)

спасибо, помогло, с вводом нового материала.
делаю копию этого нового материала, пытаюсь тут же сохранить, получаю ошибку (опять вернулась старая база?):
Divide by zero error encountered.

Ошибка произошла в процедуре: _SCUpdateAttr109->P3754, строка 14
просто с нуля завожу материал.
после ввода поставщика - нажимаю сохранить и закрыть поставщика получаю надпись

Divide by zero error encountered.

Ошибка произошла в процедуре: _SCUpdateAttr109->P4528, строка 14
исправлено, работает.
спасибо
Ответ
Исправлен

SQLQuery1.sql

Сергей, здравствуйте, данная ошибка может возникать, если у Вас в ед. из. материала в каком-либо коэффициенте стоит 0 - происходит деление на него и возникает ошибка. ЧТобы исправить - необходимо выполнить ф-ию в sql Menagement Studio (в данной ф-ии происходит расчет того поля, на которое появляется ошибка). Ф-ия в прикрепленном файле. Попробуйте ее выполнить и произвести копирование.

Сервис поддержки клиентов работает на платформе UserEcho