Имя: Пароль:
1C
 
Ошибка получения коллекции подчиненных объектов из входящих данных
0 Kraspila
 
08.07.15
04:42
Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1702)}: Ошибка получения коллекции подчиненных объектов из входящих данных
    ПКО                    =  ОперацияБух  (Документ: Операция (бухгалтерский и налоговый учет))
    ПКГС                   =  74  (--> ГрафикиАмортизацииОСБухгалтерскийУчет)
    Объект                 =  СтрокаТаблицыЗначений  (Строка таблицы значений)
    ОписаниеОшибки         =  Получение элемента по индексу для значения не определено
    ПозицияМодуля          =  ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(7975)
    КодСообщения           =  66
У группы ПКО поставлена галочка "Получить из входящих данных", но проблема в том, что запрос в выборке данных не выдаёт результата. Однако, в некоторых случаях он может и быть, поэтому правило нельзя отключать. Подскажите, как обойти эту проблему?
1 Альбатрос
 
08.07.15
05:07
Если Запрос.Выполнить().Пустой() тогда
Отказ = Истина;
КонецЕсли;
2 Альбатрос
 
08.07.15
05:08
В ПередОбработкой ПВД
3 Kraspila
 
08.07.15
05:17
Совет хорош, но там одним ПВД выгружаются сразу все регистры, отказ ляжет на всех.
4 Альбатрос
 
08.07.15
05:23
(3)
Результат = Запрос.Выполнить();
Если НЕ Результат.Пустой() тогда
        ВыгрузитьПоПравилу(Результат.Выбрать,,,,ТвоеПравило);
КонецЕсли;
5 Kraspila
 
08.07.15
05:38
Один документ должен содержать несколько регистров(

ВыборкаДанных = Новый ТаблицаЗначений;
    ВыборкаДанных.Колонки.Добавить("Дата");
    ВыборкаДанных.Колонки.Добавить("Организация");
    ВыборкаДанных.Колонки.Добавить("Содержание");
    ВыборкаДанных.Колонки.Добавить("Комментарий");
    СтрокаДокумента = ВыборкаДанных.Добавить();
    СтрокаДокумента.Дата = КонецМесяца(Параметры.ДатаПереноса);
    СтрокаДокумента.Организация = Параметры.Организация;        
    

    
    Для Каждого Регистр ИЗ Метаданные.РегистрыНакопления Цикл;
        ИмяРегистра    =    Регистр.Имя;
        Если Регистр.ВидРегистра    =    Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Обороты Тогда
            Продолжить;
        КонецЕсли;
        
        ВыборкаДанных.Колонки.Добавить(ИмяРегистра);
        Запрос = Новый Запрос;
        Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 10
        |    *
        |ИЗ
        |    РегистрНакопления.ВзаиморасчетыСДепонентамиОрганизаций.Остатки(&ДатаГраницы, ) ";
        Запрос.Текст = СтрЗаменить(Запрос.Текст, "ВзаиморасчетыСДепонентамиОрганизаций", ИмяРегистра);              
        Запрос.УстановитьПараметр("ДатаГраницы",Новый Граница(КонецДня(Параметры.ДатаПереноса)));    
        
        Результат = Запрос.Выполнить();
        СтрокаДокумента[ИмяРегистра]    =    Результат;    
        СтрокаТаблицаРегистровНакопления =СтрокаДокумента.ТаблицаРегистровНакопления.Добавить();
        СтрокаТаблицаРегистровНакопления.Имя            =ИмяРегистра;
        СтрокаТаблицаРегистровНакопления.Представление=ИмяРегистра;

    КонецЦикла;
6 Kraspila
 
08.07.15
05:41
Или для каждой группы ПКО следует создать своё правило?
7 Альбатрос
 
08.07.15
05:43
(5) Чот не пойму... это ты корректировки что ли переносишь?
8 Kraspila
 
08.07.15
05:43
Остатки регистров. В одну таблицу собираю несколько регистров. Будет документ ОперацияБух.
9 Kraspila
 
08.07.15
05:44
Там сколько колонок, столько регистров. В колонке таблица, но не принимает пустые, а правило одно
10 Альбатрос
 
08.07.15
05:45
(8) Ну так не создавай колонку, если у тебя результат пустой и все! То есть в цикле сначала выполни запрос и если он не пустой - начинай создавать колонки и заполнять
11 Kraspila
 
08.07.15
05:48
Тогда правило не увидит колонки и выдаст ошибку(
12 Kraspila
 
08.07.15
05:49
Если оно объявлено, то уже должно быть заполнено
13 Альбатрос
 
08.07.15
05:50
(11) Млять))) Скинь правила, я посмотрю, мне аж интересно стало.
14 Альбатрос
 
08.07.15
05:51
Ну а в целом по ходу (6) тебе нужно будет делать
15 Kraspila
 
08.07.15
06:04
Вот по ссылке залил скриншоты
https://cloud.mail.ru/public/3Vb4/2Br2eU95U
16 Альбатрос
 
08.07.15
06:18
Может попробовать в каждом ПКС регистра в ПередВыгрузкой анализировать есть ли данные по нему во входящихданный и если нету, то по ПКС отказ = истина устанавливать
17 Kraspila
 
08.07.15
06:21
(16) Наверно лучший вариант) Попробую, расскажу, что получилось