Имя: Пароль:
1C
 
Получение элемента по индексу для значения не определено
0 blueisacolour
 
28.11.16
12:15
Мужики,2 день,занимаюсь анонизмом,в роде легкий код,пытаюсь выгрузить остатки в  документ операция бух, создаю правило для документа все стандартно,источника нет,приемник из входящих данных,пвд есть запрос:
ДатаСреза = '20161231';
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
                       |    &СчетДт,
                       |    ТиповойОстатки.Счет КАК СчетКт,
                       |    ТиповойОстатки.Субконто1 КАК Контрагент,
                       |    ТиповойОстатки.Субконто2 КАК Договор,
                       |    ТиповойОстатки.Организация,
                       |    ТиповойОстатки.Валюта,
                       |    ТиповойОстатки.СуммаОстатокКт КАК Сумма
                       |ИЗ
                       |    РегистрБухгалтерии.Типовой.Остатки(&ДатаСреза, Счет = &Счет3310, , ) КАК ТиповойОстатки";
    
       Запрос.УстановитьПараметр("ДатаСреза",ДатаСреза);
       Запрос.УстановитьПараметр("СчетДт",ПланыСчетов.Типовой.НайтиПоКоду("000"));
       Запрос.УстановитьПараметр("Счет3310",ПланыСчетов.Типовой.НайтиПоКоду("3310"));
       Результат = Запрос.Выполнить().Выгрузить();
      
       ВходящиеДанные = Новый Структура("Дата,Типовой,СуммаОперации,Содержание,Комментарий");
       ВходящиеДанные.Дата = ДатаСреза;
       ВходящиеДанные.Содержание = "Остатки по Счету 3310";
       ВходящиеДанные.Комментарий = "Остатки по Счету 3310";
      
       //Результат.Колонки.Добавить("СубконтоКт");
       СуммаИтог = 0;
       СубконтоДт = Новый Соответствие;
       СубконтоКт = Новый Соответствие;
       //Для Каждого ТекСтрока Из Результат Цикл
       //    
       //    
       //    
       //    СубконтоКт.Вставить(Новый Структура("Код", "000005"), ТекСтрока.Контрагент);
       //    СубконтоКт.Вставить(Новый Структура("Код", "000006"), ТекСтрока.Договор);
       //    
       //    
       //    ТекСтрока.СубконтоКт = СубконтоКт;
       //    
       //    СуммаИтог = СуммаИтог + ТекСтрока.Сумма;
       //КонецЦикла;
      
       //ВходящиеДанные.СуммаОперации = СуммаИтог;
       //ВходящиеДанные.Типовой = Результат;
       //ВыгрузитьПоПравилу(,,ВходящиеДанные,, "ОперацияБух");
      
       ТЗ = Новый ТаблицаЗначений;
          ТЗ.Колонки.Добавить("Период");
          ТЗ.Колонки.Добавить("Организация");
          ТЗ.Колонки.Добавить("СчетДт");
          ТЗ.Колонки.Добавить("СчетКт");
          //ТЗ.Колонки.Добавить("ВалютаДт");
          //ТЗ.Колонки.Добавить("ВалютнаяСуммаДт");
          ТЗ.Колонки.Добавить("СубконтоДт");
          ТЗ.Колонки.Добавить("СубконтоКт");
          //ТЗ.Колонки.Добавить("КоличествоДт");
          //ТЗ.Колонки.Добавить("КоличествоКт");
          ТЗ.Колонки.Добавить("ВалютаКт");
          ТЗ.Колонки.Добавить("ВалютнаяСуммаКт");
          ТЗ.Колонки.Добавить("Сумма");
          ТЗ.Колонки.Добавить("Содержание");
          

          
       Для каждого  Стр Из Результат Цикл

           НоваяСтрока = ТЗ.Добавить();
           СубконтоКт.Вставить(Новый Структура("Код", "000005"), Стр.Контрагент);
           СубконтоКт.Вставить(Новый Структура("Код", "000006"), Стр.Договор);
           НоваяСтрока.Период = ДатаСреза;
           НоваяСтрока.Организация = Стр.Организация;
           НоваяСтрока.СчетДт = Стр.СчетДт;
           НоваяСтрока.СчетКт = Стр.СчетКт;
           //НоваяСтрока.КоличествоДт = 0;
           //НоваяСтрока.КоличествоКт = 0;
           //НоваяСтрока.ВалютаДт = Справочники.Валюты.ПустаяСсылка();
           НоваяСтрока.ВалютаКт = Стр.Валюта;
           НоваяСтрока.СубконтоДт = СубконтоДт;
           НоваяСтрока.СубконтоКт = СубконтоКт;
           //НоваяСтрока.ВалютнаяСуммаДт = 0;
           НоваяСтрока.ВалютнаяСуммаКт = Стр.Сумма;
           НоваяСтрока.Сумма = Стр.Сумма;
           НоваяСтрока.Содержание = "Остатки по Счету 3310";
           СуммаИтог = СуммаИтог + Стр.Сумма;

           Сообщить("Идет выгрузка объектов" + "" +":"+  Стр.Контрагент);
       КонецЦикла;      

      
       ВходящиеДанные.СуммаОперации = СуммаИтог;
       ВходящиеДанные.Типовой = ТЗ;
       ВыгрузитьПоПравилу(,,ВходящиеДанные,, "ОперацияБух");

Он мне выдает ошибку:
Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1716)}: Ошибка в обработчике события ПередОбработкойПравилаВыгрузки
    ПВД                    =  ОстаткиНаСчет3310
    Обработчик             =  ПередОбработкойВыгрузкиДанных
    ОписаниеОшибки         =  Получение элемента по индексу для значения не определено
    ПозицияМодуля          =  ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(7999)
    КодСообщения           =  31

Начало выгрузки:   28.11.2016 14:48:33
Идет выгрузка объектов:ИП Planta Kazakhstan
Идет выгрузка объектов:РГП "Каз-кий центр межбанковских расчетов НБ РК"
Идет выгрузка объектов:филиал "Почтовый сервис" АО "Казпочта"
Идет выгрузка объектов:ИП Сибирцев Д.В.
......
Обход по циклу есть,но дальше не идет,вот скрины
[url=http://radikal.ru][img]http://s019.radikal.ru/i642/1611/51/fbb57920a2cb.jpg[/img][/url]
[url=http://radikal.ru][img]http://s41.radikal.ru/i093/1611/53/07e3973ae030.jpg[/img][/url]
1 blueisacolour
 
28.11.16
12:46
Спасибо!!!
2 blueisacolour
 
28.11.16
13:23
алюююю
3 DrShad
 
28.11.16
13:28
ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(7999)

ставь точку останова и смотри
4 DrShad
 
28.11.16
13:29
в приведенном тобой коде нет получения по индексу
5 blueisacolour
 
28.11.16
13:31
(4) Он же и так выгружается
6 blueisacolour
 
28.11.16
13:35
(4) Ну я тоже могу так,по сути все сделал как это сделали до меня,даже обновил релиз.Причем тут индекс,Выгрузке я ж указал правила
7 h-sp
 
28.11.16
13:38
(6) субконто проверяй
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан