16 декабря 2021 в 13:42:05
(2 года 48 недель 6 дней 1 час назад)
49800
13.04.2021 23:41:25
Текст задания
Требуется разработать расширение, для УНФ (1.6.24.172), которое будет дополнять стандартную процедуру нажатия кнопки "Заполнить по спецификации" в документе "Проиводство" (см. скриншот).
1. В УНФ есть стандартный регистр сведений "аналоги номенклатуры". В нем пользователь указывает аналоги для материалов(!), используемых в спецификации.
После нажатия на кнопку "Заполнить по спецификации" в документе "Производство", нужно дать отработать типовому механизму и далее проанализировать табличную часть "Материалы". В том случае, если какого-то материала нет на складе (склад выбран в документе), нужно подставить его аналог.
2. Возможен вариант, когда одна позиция, которой недостаточно, заменяется на несколько аналогов, чтобы набрать нужное количество. Пример:
Требуется материал А - 10 штук. Его на складе осталось 1 шт, но есть материал Б, В и Г, которых на складе 8, 3, 2 шт. соответственно. Это аналоги материала А.
В этом случае программа должна в зависимости от имеющегося количества, от большего к меньшему заменить недостающие 9 шт. товара А. Т.е. в итоге должно получиться так:
Товар А - 1 шт. (потому что это изначальная позиция и 1 шт. все же есть на складе)
Товар Б - 8 шт. (потому что среди аналогов товара А, этой позиции больше всего)
Товар В - 1 шт. (следующий по имеющемуся количеству аналог).
3. Расширение планируется для загрузки в облако Фреш, поэтому есть определенная строгость в написании запросов и специальных команд. Нельзя использовать небезопасный режим и конструкцию "Установить привелегированный режим". В запросах нельзя использовать соединение с виртуальными таблицами (в этом случае нужно виртуальную таблицу поместить во временную таблицу и проиндексировать по полю, по которому будет соединение, а потом уже выполнять соединение). Для виртуальных таблиц нельзя использовать условия "ГДЕ...". Если нужен отбор, он должен производиться в параметрах виртуальной таблицы. Не рекомендуется использовать полное соединение. При получении через точку реквизита составного типа данных нужно использовать "Выразить".
Доброе время суток! Сделаю качественно и в срок! Пишите!
Готов к долгосрочному сотрудничеству.
e-mail: alexeev1972@mail.ru
Skype : alexanderalexeev
WhatsUp, Viber +7 919 763 89 66