Имя: Пароль:
1C
1С v8
заполнение регистра накопления
0 Baglandir
 
02.08.11
13:27
Данная функция должна перебрать все строчки регистра взаиморасчеты и заполнить его
не работает  - говорит не заполнен отбор .  Насколько я понял отбор задается на "Регистратор"

Как сделать так чтобы заработала по всему регистру ?



НачатьТранзакцию();
   ТЧ = РегистрыНакопления.ВзаиморасчетыСКонтрагентами.СоздатьНаборЗаписей();
   ТЧ.Прочитать();
   ДЛЯ Каждого Выборка из  ТЧ Цикл
       ОбработкаПрерыванияПользователя();
       
       Если  не ЗначениеЗаполнено(Выборка.ДоговорКонтрагента) тогда
              Выборка.ДоговорКонтрагента = Выборка.Регистратор. ДоговорКонтрагента;
       КонецЕсли;
       
       Если  не ЗначениеЗаполнено(Выборка.Организация) тогда
              Выборка.Организация = Выборка.Регистратор.Организация;
       КонецЕсли;

       Если  не ЗначениеЗаполнено(Выборка.Контрагент) тогда
              Выборка.Контрагент = Выборка.Регистратор.Контрагент;
       КонецЕсли;
       
       Попытка
       Если  не ЗначениеЗаполнено(Выборка.Сделка) тогда
              Выборка.Сделка = Выборка.Регистратор.Сделка;
          КонецЕсли;
         
      Исключение
           Сообщить("Сделка не заполнена так как в документе "+ Выборка.Регистратор +" нет поля сделка");
         
      КонецПопытки;
       
   КонецЦикла;
   ТЧ.Записать();
   ЗафиксироватьТранзакцию();
1 Ненавижу 1С
 
гуру
02.08.11
13:28
никак, придется делать для каждого регистратора отдельно
2 Baglandir
 
02.08.11
13:28
та блин (((((((