копирование материала
В версии, которая только что стала доступной для скачивания (21.02.2012 14-30 по Москве)на режим Материалы и Изделия добавлена кнопка Копировать, которая позволяет скопировать изделие либо материал вместе с ед. изм., тиражной сеткой (только для изделия), поставщиками, аналогами, сопутствующими продуктами, операциями (только для изделия), скидками (только для материала), оборудования (только для материала).
вроде у нас свежая версия базы
программу обновили сегодня
при попытке копирования (через кнопку) и клонирования (через контекстное меню) получаем одинаковую ошибку при сохранении:
Ответ
Сергей, здравствуйте, вот полный текст, который вышел по поводу копирования изделий/материалов:
В версии, которая только что стала доступной для скачивания (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
Сергей, здравствуйте, данная ошибка может возникать, если у Вас в ед. из. материала в каком-либо коэффициенте стоит 0 - происходит деление на него и возникает ошибка. ЧТобы исправить - необходимо выполнить ф-ию в sql Menagement Studio (в данной ф-ии происходит расчет того поля, на которое появляется ошибка). Ф-ия в прикрепленном файле. Попробуйте ее выполнить и произвести копирование.
Сервис поддержки клиентов работает на платформе UserEcho
SQLQuery1.sql
Сергей, здравствуйте, данная ошибка может возникать, если у Вас в ед. из. материала в каком-либо коэффициенте стоит 0 - происходит деление на него и возникает ошибка. ЧТобы исправить - необходимо выполнить ф-ию в sql Menagement Studio (в данной ф-ии происходит расчет того поля, на которое появляется ошибка). Ф-ия в прикрепленном файле. Попробуйте ее выполнить и произвести копирование.