Механизм зачета сумм по одному контрагенту но по разным договорам в 1с БП 8.2
26.02.2015
12:43
#31
Ответ на
пост №30
Макс БУх, вы меня не поняли 
Ошибка вот здесь
Для каждого строка из ТаблицаСумм цикл
ЧЗ = новый ТаблицаЗначений;
чз.Колонки.Добавить("Контрагент" ;
Чз.Колонки.Добавить("Договор" ;
чз.Колонки.Добавить("Кредиторка" ;
строкаЧЗ=чз.Добавить();
строкачз.контрагент=строка.контрагент;
строкаЧз.договор=строка.Договор;
СтрокаЧз.Кредиторка=Строка.Кредиторка;
НЧЗ=новый ТаблицаЗначений;
нчз.Колонки.Добавить("Контрагент" ;
нчз.Колонки.Добавить("Договор" ;
нчз.Колонки.Добавить("Дебиторка" ;
строканчз=нчз.Добавить();
строканчз.контрагент=строка.контрагент;
строканчз.договор=Строка.Договор;
строканчз. *** . *** ;
конеццикла;
Должно быть вот так
// создаем первую тз
ЧЗ = новый ТаблицаЗначений;
чз.Колонки.Добавить("Контрагент" ;
Чз.Колонки.Добавить("Договор" ;
чз.Колонки.Добавить("Кредиторка" ;
// создаем вторую тз
НЧЗ=новый ТаблицаЗначений;
нчз.Колонки.Добавить("Контрагент" ;
нчз.Колонки.Добавить("Договор" ;
нчз.Колонки.Добавить("Дебиторка" ;
// заполняем тз перебором табличной части
Для каждого строка из ТаблицаСумм цикл
строкаЧЗ=чз.Добавить();
строкачз.контрагент=строка.контрагент;
строкаЧз.договор=строка.Договор;
СтрокаЧз.Кредиторка=Строка.Кредиторка;
строканчз=нчз.Добавить();
строканчз.контрагент=строка.контрагент;
строканчз.договор=Строка.Договор;
строканчз. *** . *** ;
конеццикла;
Причем я бы в цикле еще добавила проверки и сделала его вот таким, ну чтоб не плодить нулевые строки
Для каждого строка из ТаблицаСумм цикл
Если строка.Кредиторка > 0 Тогда
строкаЧЗ=чз.Добавить();
строкачз.контрагент=строка.контрагент;
строкаЧз.договор=строка.Договор;
СтрокаЧз.Кредиторка=Строка.Кредиторка;
КонецЕсли;
Если строка. *** > 0 Тогда
строканчз=нчз.Добавить();
строканчз.контрагент=строка.контрагент;
строканчз.договор=Строка.Договор;
строканчз. *** . *** ;
КонецЕсли;
конеццикла;
Ответили:
пост #32
26.02.2015
12:48
#32
Ответ на
пост №31
uinny, спасибо! причем не просто за код, а за то, что я допер наконец-то: все же правильно, зачем в цикл само создание таблицы включать? Да, все гениальное, видимо, и правда просто, причем я уже второй раз попадаюсь на неверном "зацикливании". Еще раз спасибо, попробую отпишусь. Ответили:
пост #33
Читают тему
(гостей: 1)