Имя: Пароль:
1C
1С v8
КД: Получение элемента по индексу для значения не определено
0 lg2marvel
 
06.05.16
10:12
Привет! Перестали работать правила выгрузки, обновлениями занимаюсь не я поэтому могу только догадываться что изменилось. Что имеем: конфигурацию "ДАЛИОН: Управление магазином.ПРО", ред. 1.2 (1.2.29.03)

ПВД, в Перед выгрузкой:

    ВходящиеДанные = Новый Структура;
        
    ВходящиеДанные.Вставить("Номер",Параметры.Префикс+Прав(Объект.Номер,6));
    ВходящиеДанные.Вставить("Дата",Объект.Дата);
    ВходящиеДанные.Вставить("Склад",Объект.Склад);
    ВходящиеДанные.Вставить("Организация",Объект.Фирма.Ссылка);
    ВходящиеДанные.Вставить("Проведен",Объект.Проведен);
    ВходящиеДанные.Вставить("ПометкаУдаления",Объект.ПометкаУдаления);    
    ВходящиеДанные.Вставить("Комментарий","Акт пересортицы №"+Объект.Номер+" от "+Объект.Дата);

При выгрузке ругается на следующее:
Ошибка получения свойства объекта из входящих данных
    ПКО                    =  КомплектацияНоменклатурыПересорт  (:)
    ПКС                    =  3  (--> Номер)
    Объект                 =  Акт пересортицы О0000000075 от 25.04.2016 7:00:01  (Документ объект: Акт пересортицы)
    СвойствоПриемника      =  Номер  (Строка)
    ОписаниеОшибки         =  Получение элемента по индексу для значения не определено
    ПозицияМодуля          =  Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(8781)
    КСообщенияОбОшибках    =  68

Утро близится к концу, а ниодного варианта в голову так и не приходит, как быть?
1 asady
 
06.05.16
10:18
(0) посмотри ПКС "Номер" для объекта "КомплектацияНоменклатурыПересорт" что там в правиле?
2 lg2marvel
 
06.05.16
10:24
(1) В номере ничего, как-то и не заметил что ошибка изменилась после того как убрал с Организации пометку что это поле поиска
3 lg2marvel
 
06.05.16
10:25
Ошибка получения свойства объекта из входящих данных
    ПКО                    =  КомплектацияНоменклатурыПересорт  (:)
    ПКС                    =  1  (--> Организация)
    Объект                 =  Акт пересортицы О0000000075 от 25.04.2016 7:00:01  (Документ объект: Акт пересортицы)
    СвойствоПриемника      =  Организация  (СправочникСсылка.Организации)
    ОписаниеОшибки         =  Получение элемента по индексу для значения не определено
    ПозицияМодуля          =  Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(8781)
    КСообщенияОбОшибках    =  68
4 lg2marvel
 
06.05.16
10:26
После того как убрал со всех пометку "поле поиска" вернулась старая ошибка
5 lg2marvel
 
06.05.16
10:28
6 lg2marvel
 
06.05.16
10:30
НомерСтроки = 0;

Для Каждого Строка Из Объект.Товары Цикл
    
    НомерСтроки = Формат(Число(НомерСтроки) + 1,"ЧЦ=3; ЧДЦ=0");
//    Сообщить("Номер строки: "+НомерСтроки);
    Если СтрДлина(НомерСтроки)=1 Тогда
        Параметры.Префикс = "П00"+НомерСтроки+"-";
    ИначеЕсли СтрДлина(НомерСтроки)=2 Тогда
        Параметры.Префикс = "П0"+НомерСтроки+"-";
    ИначеЕсли СтрДлина(НомерСтроки)=3 Тогда
        Параметры.Префикс = "П"+НомерСтроки+"-";
    Иначе
        Сообщить("Длина номера строки в документе больше 3, не предусмотрено обработкой!");
        Параметры.Префикс = "err-";
        Продолжить;
    КонецЕсли;
    
    ВходящиеДанные = Новый Структура;
        
    ВходящиеДанные.Вставить("Номер",Параметры.Префикс+Прав(Объект.Номер,6));
    //Сообщить("Номер в ПВД "+Параметры.Префикс+Прав(Объект.Номер,6));
    //Сообщить("Номер строки "+Параметры.Префикс);    
    ВходящиеДанные.Вставить("Дата",Объект.Дата);
    ВходящиеДанные.Вставить("Склад",Объект.Склад);
    ВходящиеДанные.Вставить("Организация",Объект.Фирма.Ссылка);
    ВходящиеДанные.Вставить("Проведен",Объект.Проведен);
    ВходящиеДанные.Вставить("ПометкаУдаления",Объект.ПометкаУдаления);    
    ВходящиеДанные.Вставить("Комментарий","Акт пересортицы №"+Объект.Номер+" от "+Объект.Дата);
        
    //МД_Реквизиты = Объект.Метаданные().Реквизиты;
    //Для Каждого МетаРеквизит Из МД_Реквизиты Цикл
        //Сообщить(МетаРеквизит.Имя + " = " + Объект.[МетаРеквизит.Имя]);
    //КонецЦикла;
    
    ТекстЗапроса =
    "ВЫБРАТЬ
    |АктПересортицы.Ссылка,
    |АктПересортицы.Товары.(
    |    Ссылка,
    |    НомерСтроки,
    |    Номенклатура,
    |    НоваяНоменклатура,
    |    Количество,
    |    НоваяКоличество,
    |    ИдентификаторСтроки,
    |)
    |ИЗ
    |Документ.АктПересортицы КАК АктПересортицы
    |ГДЕ
    |    АктПересортицы.Ссылка = &Ссылка И
    |    АктПересортицы.Товары.НомерСтроки = &НомерСтроки
    |";
    

    Запрос = Новый Запрос(ТекстЗапроса);
    Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
    Запрос.УстановитьПараметр("НомерСтроки", Число(НомерСтроки));
    КоллекцияОбъектов = Запрос.Выполнить().Выгрузить();    
    
    //ТабДокумент = Новый ТабличныйДокумент;
    //Построитель = Новый ПостроительОтчета;
    //Построитель.ИсточникДанных=Новый ОписаниеИсточникаДанных(КоллекцияОбъектов);      
    //Построитель.Вывести(ТабДокумент);
    //ТабДокумент.Показать("Пользователи");
    //Сообщить(КоллекцияОбъектов[0][1][0][0]);
    //Сообщить(КоллекцияОбъектов[0][1][0][1]);
    //Сообщить(КоллекцияОбъектов[0][1][0][2]);       //номенклатура списания
    //Сообщить(КоллекцияОбъектов[0][1][0][3]);       //номенклатура приход
    //Сообщить(КоллекцияОбъектов[0][1][0][4]);       //кол -
    //Сообщить("Кол +: "+КоллекцияОбъектов[0][1][0][5]);       //кол +
    //Сообщить(КоллекцияОбъектов[0][1][0][6]);
    //Сообщить("---");
    
    ВходящиеДанные.Вставить("Количество",КоллекцияОбъектов[0][1][0][5]);
    ВходящиеДанные.Вставить("Номенклатура",КоллекцияОбъектов[0][1][0][3]);
    ВходящиеДанные.Вставить("Комплектующие",КоллекцияОбъектов);
    Параметры.КВО = Число(КоллекцияОбъектов[0][1][0][4]);
    Параметры.ТМЦ = КоллекцияОбъектов[0][1][0][2];
    //ВходящиеДанные.Вставить("Количество",Объект.Количество);
    //ВходящиеДанные.Вставить("Количество",Объект.Номенклатура);    
    
    ВыгрузитьПоПравилу(,,ВходящиеДанные,,"КомплектацияНоменклатурыПересорт");    
КонецЦикла;
7 lg2marvel
 
06.05.16
10:36
Обновлю структуру базы, мало ли...
8 lg2marvel
 
06.05.16
10:43
и ничего
9 asady
 
06.05.16
10:58
(5) почему у тебя в ПКД объект источник не заполнено для КомплектацияНоменклатурыПересорт?
10 Borteg
 
06.05.16
11:05
(0)     ВходящиеДанные.Вставить("Количество",КоллекцияОбъектов[0][1][0][5]);
    ВходящиеДанные.Вставить("Номенклатура",КоллекцияОбъектов[0][1][0][3]);
    ВходящиеДанные.Вставить("Комплектующие",КоллекцияОбъектов);
    Параметры.КВО = Число(КоллекцияОбъектов[0][1][0][4]);
    Параметры.ТМЦ = КоллекцияОбъектов[0][1][0][2];
есть уверенность что там есть чтото?
11 Borteg
 
06.05.16
11:07
(10) хотя наверное есть, странно обращение там к строке, через запрос...
12 lg2marvel
 
06.05.16
11:17
(11) Почему к строке? - это же табличная часть документа. Да там есть, сейчас делаю выгрузку без этого документа и буду локализовать ошибку
13 lg2marvel
 
06.05.16
11:27
(9) Объект выборки в ПВД АктПересортицы и потом обрабатываю данные с объекта создавая по каждой строке документа новый документ.
14 asady
 
06.05.16
11:28
(13) понятно.
тогда (10)+1
15 lg2marvel
 
06.05.16
11:32
(10) (14) проверяю
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn