|
1С УТ11 ЗаказКлиента Заполнить обеспечение | ☑ | ||
---|---|---|---|---|
0
creator_mc
10.08.15
✎
10:11
|
Есть типовая конфигурация УТ11 1С 8.3.5 в ней соответственно заполняю заказ клиента, далее заполнения произвожу установку цен и склада, после этого пытаюсь произвести "Заполнить обеспечение", но появляется сообщение об ошибке
[QUOTE]Получение элемента по индексу для значения не определено[/QUOTE]. При переходе в конфигуратор 1С видно ошибку в строке [CODE]Таблица = Приемник.Товары[ИменаСвойств.Получить(Строка.ВариантОбеспечения)];[/CODE]. Народ подскажите кто сталкивался, как убрать эту ошибку, что бы произвести заполнение обеспечения по позициям в заказе клиента. |
|||
1
Strogg
10.08.15
✎
10:15
|
Каков тип значения у (Приемник) в твоем случае?
И типЗначения (ИменаСвойств) до кучи... |
|||
2
creator_mc
10.08.15
✎
10:41
|
(1) ТипЗнч Приемник - Структура
ТипЗнч ИменаСвойств - Соответствие |
|||
3
Strogg
10.08.15
✎
10:52
|
(2) Идем дальше. Вот в эторй структуре у тебя есть элемент Товары. Его тип значения какой?
|
|||
4
creator_mc
10.08.15
✎
11:08
|
(3)
тоже Структура |
|||
5
Strogg
10.08.15
✎
11:25
|
ну вот, а в [] - это индекс. А код поразумевает, что Приемник.Товары - этообъект, для которого доступно получение значения по индексу (типа ТЗ, или массива).
|
|||
6
creator_mc
10.08.15
✎
11:34
|
Странно что раньше до обновления всё работало.
Был релиз УТ 11.1.2 сейчас 11.1.10.116 Сама процедура находится в общем модуле ОбеспечениеСервер. Можете сами просмотреть. Процедура РазложитьПоВариантамОбеспечения(Приемник, Источник) Экспорт ИменаСвойств = Новый Соответствие(); ИменаСвойств.Вставить(Перечисления.ВариантыОбеспечения.ОтгрузитьОбособленно, "ОтгрузитьОбособленно"); ИменаСвойств.Вставить(Перечисления.ВариантыОбеспечения.Обособленно, "Обособленно"); ИменаСвойств.Вставить(Перечисления.ВариантыОбеспечения.Отгрузить, "Отгрузить"); ИменаСвойств.Вставить(Перечисления.ВариантыОбеспечения.СоСклада, "Резервировать"); ИменаСвойств.Вставить(Перечисления.ВариантыОбеспечения.ИзЗаказов, "РезервироватьКСроку"); ИменаСвойств.Вставить(Перечисления.ВариантыОбеспечения.Требуется, "Обеспечить"); ИменаСвойств.Вставить(Перечисления.ВариантыОбеспечения.НеТребуется, "НеОбеспечивать"); Для Каждого Строка Из Источник Цикл Если Строка.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Услуга Тогда Таблица = Приемник.Услуги.ВсеВариантыОбеспечения; ИначеЕсли Строка.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Работа Тогда Таблица = Приемник.Работы[ИменаСвойств.Получить(Строка.ВариантОбеспечения)]; ИначеЕсли Строка.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Товар Тогда Таблица = Приемник.Товары[ИменаСвойств.Получить(Строка.ВариантОбеспечения)]; Иначе Таблица = Приемник.Тара[ИменаСвойств.Получить(Строка.ВариантОбеспечения)]; КонецЕсли; СтрокаПриемника = Таблица.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаПриемника, Строка); КонецЦикла; КонецПроцедуры Но решение так и не найдено. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |