|   |   | 
| 
 | 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 Сама процедура находится в общем модуле ОбеспечениеСервер. Можете сами просмотреть. Процедура РазложитьПоВариантамОбеспечения(Приемник, Источник) Экспорт ИменаСвойств = Новый Соответствие(); ИменаСвойств.Вставить(Перечисления.ВариантыОбеспечения.ОтгрузитьОбособленно, "ОтгрузитьОбособленно"); ИменаСвойств.Вставить(Перечисления.ВариантыОбеспечения.Обособленно, "Обособленно"); ИменаСвойств.Вставить(Перечисления.ВариантыОбеспечения.Отгрузить, "Отгрузить"); ИменаСвойств.Вставить(Перечисления.ВариантыОбеспечения.СоСклада, "Резервировать"); ИменаСвойств.Вставить(Перечисления.ВариантыОбеспечения.ИзЗаказов, "РезервироватьКСроку"); ИменаСвойств.Вставить(Перечисления.ВариантыОбеспечения.Требуется, "Обеспечить"); ИменаСвойств.Вставить(Перечисления.ВариантыОбеспечения.НеТребуется, "НеОбеспечивать"); Для Каждого Строка Из Источник Цикл Если Строка.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Услуга Тогда Таблица = Приемник.Услуги.ВсеВариантыОбеспечения; ИначеЕсли Строка.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Работа Тогда Таблица = Приемник.Работы[ИменаСвойств.Получить(Строка.ВариантОбеспечения)]; ИначеЕсли Строка.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Товар Тогда Таблица = Приемник.Товары[ИменаСвойств.Получить(Строка.ВариантОбеспечения)]; Иначе Таблица = Приемник.Тара[ИменаСвойств.Получить(Строка.ВариантОбеспечения)]; КонецЕсли; СтрокаПриемника = Таблица.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаПриемника, Строка); КонецЦикла; КонецПроцедуры Но решение так и не найдено. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |