|
Программное заполнение варианта обеспечения |
☑ |
0
geminisf
20.01.23
✎
09:25
|
Доброго всем дня!
Конфигурация УТ 11.1.10.176.
Программно создается документ "Заказ на сборку". Необходимо у этого нового документа проставить вариант обеспечения. Пытаюсь сделать вот так:
МассивВариантовОбеспечения = Новый Массив;
МассивВариантовОбеспечения.Добавить(Перечисления.ВариантыОбеспечения.Отгрузить);
МассивИндексовВыделенныхСтрок = Новый Массив;
Для каждого СтрокаТабличнойЧасти Из СборкаТовара.Товары Цикл
МассивИндексовВыделенныхСтрок.Добавить(СтрокаТабличнойЧасти.НомерСтроки - 1);
КонецЦикла;
ПутиКДанным = Новый Соответствие();
ПутиКДанным.Вставить("ДатаОтгрузки", "НачалоСборкиРазборки");
ПутиКДанным.Вставить("Назначение", "НазначениеТовары");
ПараметрыЗаполнения = Новый Структура("ИмяТабличнойЧасти", "Товары");
ПараметрыЗаполнения.Вставить("ПутиКДанным", ПутиКДанным);
ПараметрыЗаполнения.Вставить("МенеджерРегистра", РегистрыНакопления.ЗаказыНаСборку);
ТаблицаОбеспечения = ОбеспечениеСервер.ТаблицаЗаполнениеОбеспеченияДокумента(СборкаТовара, МассивВариантовОбеспечения, ПараметрыЗаполнения, МассивИндексовВыделенныхСтрок);
СборкаТовара - это программно созданный, но ещё не записанный документ "Заказ на сборку". Ошибка возникает в общем модуле на этой строке:
Таблица = Приемник.Товары[ИменаСвойств.Получить(Строка.ВариантОбеспечения)];
Строка.ВариантОбеспечения = Неопределено. Ошибка "Получение элемента по индексу для значения не определено".
Собственно вопрос - Как сделать правильно? Или может есть другой способ установить вариант обеспечения для программно создаваемого документа?
|
|
1
mikecool
20.01.23
✎
09:30
|
правильно - понять, что за коллекция Товары у тебя и использовать соотв метод
|
|
2
geminisf
20.01.23
✎
09:31
|
(1) Это табличная часть документа
|
|
3
geminisf
20.01.23
✎
09:37
|
(1) Если речь про это Приемник.Товары, то это структура, в которую помещены скопированные данные
|
|
4
Мультук
гуру
20.01.23
✎
10:03
|
(0)
Очевидно 1С ожидает, что в Строка.ВариантОбеспечения лежит уже что-то осмысленное, например Перечисления.ВариантыОбеспечения.КОбеспечению
|
|
5
geminisf
20.01.23
✎
10:33
|
(4) Я также думаю, но пока не могу туда понять как при программном создании документа туда что-то подставить.
|
|
6
lubitelxml
20.01.23
✎
10:38
|
(5) а в чем проблема? Добавляешь строку в ТЧ, заполняешь ВариантОбеспечения.
|
|
7
Мультук
гуру
20.01.23
✎
11:02
|
(5)
эээ
Для каждого СтрокаТабличнойЧасти Из СборкаТовара.Товары Цикл
СтрокаТабличнойЧасти.ВариантОбеспечения = Перечисления.ВариантыОбеспечения.Отгрузить;
//или так, не знаю чего хочешь
//СтрокаТабличнойЧасти.ВариантОбеспечения = Перечисления.ВариантыОбеспечения.КОбеспечению;
КонецЦикла;
|
|
8
shuhard
20.01.23
✎
11:08
|
(5)[но пока не могу туда понять как при программном создании документа туда что-то подставить.]
определить доступность, возможно расщепить строку на части
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший