Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 18:21

Заполнение обеспечения в заказе на сборку программно УТ 11.5

Автор jenya1295@mail, 12 мая 2022, 08:26

0 Пользователей и 1 гость просматривают эту тему.

jenya1295@mail

Здравствуйте!
Поделитесь, пожалуйста, опытом, как заполнять программно обеспечение  в документе Заказ на сборку?
Дело в том, что создаю заказ на сборку программно из документа Заказ клиента. Комплектующие есть в наличии, но при проведении документа, в колонке Доступно проставляется 0 и обеспеченеие остается как "К обеспечению". По отчету Остатки и доступность товаров, остатки есть, все красиво. Стоит мне провести документ из формы, как в колоне Доступно появляются правильные остатки и обеспечение проставляется правильно -  в "Отгрузить".
Отладчиком прошлась и заметила, что после проведения из формы документа, происходит заполнение обеспечения, но почти во всех функциях по заполнению обеспечения передается форма, мне же нужно программно создавать документ в модуле объекта внешней обработки и заполнять у него обеспечение, то есть форму получается я передать никак не могу, не знаю что придумать(
Буду очень благодарна любой помощи

wise

(0) получите форму, заполните её программно и отправьте в "функции по заполнению обеспечения", а уже ПОТОМ открывайте.
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

jenya1295@mail

wise, у меня весь код создания и дальнейшей работы с документами происходит в модуле объекта внешей обработки.
Я нашла решение: Позсле создания и проведения Заказа на сборку, нужно было запустить фоновое задание по распределению запасов и все, теперь обеспечение заполняется корректно в значение отгрузить :zebzdr:

    Отбор = Новый Структура;
   Отбор.Вставить("Ключ", Метаданные.РегламентныеЗадания.РаспределениеЗапасов.Ключ);
   Отбор.Вставить("Состояние", СостояниеФоновогоЗадания.Активно);
   ТекущиеФоновыеЗадания = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор);
   
   Если ТекущиеФоновыеЗадания.Количество() = 0 Тогда
      
      Попытка
         ФоновыеЗадания.Выполнить(
         "РаспределениеЗапасов.ВыполнитьРаспределениеВФоне",
         Новый Массив(),
         Метаданные.РегламентныеЗадания.РаспределениеЗапасов.Ключ,
         НСтр("ru = 'Выполняется распределение запасов'"));
      Исключение
         // Если задание уже запущено.
      КонецПопытки
      
   КонецЕсли;

ЗаполнитьОбеспечениеЗаказаНаСборку(СборкаДорк);


Теги: 1С УТ11.5 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск