Имя: Пароль:
1C
1С v8
Работа цикла
,
0 Tanis
 
04.04.13
11:56
Добрый день!
Подскажите, пожалуйста, причину неправильной работы цикла, он производит набор записей с одной строчкой из ТЗ множество раз.
Весь цикл не пишу, основные моменты.

Рез = ЗапросПоСум.Выполнить().Выгрузить();
           Для Каждого Стр Из Рез Цикл
СтрокаДвижения = Движения.Налоговый.Добавить();
СтрокаДвижения.Сумма        = ВыборкаПоДоходам.Сумма;
Если Стр.СуммаНУ <> 0 И Стр.СуммаВР <> 0 Тогда
СтрокаДвижения = Движения.Налоговый.Добавить();
СтрокаДвижения.Сумма        = Стр.СуммаВР;
КонецЕсли;
КонецЦикла;
1 Defender aka LINN
 
04.04.13
11:59
(0) "он производит набор записей с одной строчкой из ТЗ множество раз. " - а теперь по-русски.
Ну и кэп говорит, что основные моменты ты как раз удалил
2 hhhh
 
04.04.13
12:01
ВыборкаПоДоходам? Что это?
3 Kreont
 
04.04.13
12:03
Проверь в цикле что б "Стр" не менялось в коде или что б не было реквизита такого на форме как "Стр".

Здесь каждый раз одно и то же надо:?
СтрокаДвижения.Сумма        = ВыборкаПоДоходам.Сумма;
4 fisher
 
04.04.13
12:03
Цикл зациклился. Бывает.
5 Tanis
 
04.04.13
12:05
Основные как раз написал.

СтрокаДвижения = Движения.Налоговый.Добавить();
СтрокаДвижения.Сумма        = ВыборкаПоДоходам.Сумма;

Вот это часть почему-то происходит несколько раз.
с одинаковой суммой,

Если Стр.СуммаНУ <> 0 И Стр.СуммаВР <> 0 Тогда
СтрокаДвижения = Движения.Налоговый.Добавить();
СтрокаДвижения.Сумма        = Стр.СуммаВР;

А эта с разными суммами ВР.

Такое ощущение, что он все строки объединяет...

В итоге имеем, одну строчку правильную, а две с суммой всех сумм.
Имеем 3 строчки вместо 2.
6 cw014
 
04.04.13
12:07
"Сумма всех сумм" - эпично
7 Tanis
 
04.04.13
12:07
(2) Это таблица с данными.

А я написал еще запрос, чтоб разделить Сумму и СуммуВР
8 ObjectRelation Model
 
04.04.13
12:07
Стр вроде меняется (вижу итератор коллекции), а ВыборкаПоДоходам не вижу изменения
9 Галахад
 
гуру
04.04.13
12:07
Все правильно работает. Нечего наговаривать на цикл.
Как написано так он и делает.
10 palpetrovich
 
04.04.13
12:15
(9) +1
(0) что, правда так и надо?
Для Каждого Стр Из Рез Цикл
   СтрокаДвижения = Движения.Налоговый.Добавить();
   Если Стр.СуммаНУ <> 0 И Стр.СуммаВР <> 0 Тогда
       СтрокаДвижения = Движения.Налоговый.Добавить();
   КонецЕсли;
КонецЦикла;
11 Tanis
 
04.04.13
12:17
Вот полная процедура.

То что помечено Изменения нач до Изменения кон - мои вставки.

Процедура ДобавитьСтрокуВДвиженияПоОтражениюВУчете(ВыборкаПоДоходам, ТаблицаЗатрат, ОтражатьРазницы = Ложь)
   
   Если ЗначениеЗаполнено(ВыборкаПоДоходам.СчетДт) и ЗначениеЗаполнено(ВыборкаПоДоходам.СчетКт) Тогда
       
       
       // проводка по бухгалтерскому регистру
       СтрокаДвижения = Движения.Хозрасчетный.Добавить();
       
       // Свойства
       СтрокаДвижения.Период = КонецМесяца(ПериодРегистрации);
       
       // Измерения
       СтрокаДвижения.Организация  = Организация;
       
       // бухучет
       СтрокаДвижения.СчетДт       = ВыборкаПоДоходам.СчетДт;
       СтрокаДвижения.СчетКт       = ВыборкаПоДоходам.СчетКт;
       СтрокаДвижения.СубконтоДт[ВыборкаПоДоходам.ДтВидСубконто1] = ВыборкаПоДоходам.СубконтоДт1;
       СтрокаДвижения.СубконтоДт[ВыборкаПоДоходам.ДтВидСубконто2] = ВыборкаПоДоходам.СубконтоДт2;
       СтрокаДвижения.СубконтоДт[ВыборкаПоДоходам.ДтВидСубконто3] = ВыборкаПоДоходам.СубконтоДт3;
       СтрокаДвижения.СубконтоКт[ВыборкаПоДоходам.КтВидСубконто1] = ВыборкаПоДоходам.СубконтоКт1;
       СтрокаДвижения.СубконтоКт[ВыборкаПоДоходам.КтВидСубконто2] = ВыборкаПоДоходам.СубконтоКт2;
       СтрокаДвижения.СубконтоКт[ВыборкаПоДоходам.КтВидСубконто3] = ВыборкаПоДоходам.СубконтоКт3;    
       
       // ресурсы
       СтрокаДвижения.Сумма = ВыборкаПоДоходам.Сумма;
       
       // Содержание проводок
       Если ПериодРегистрации < '20100101' Тогда
           СтрокаДвижения.Содержание = ВыборкаПоДоходам.СодержаниеПроводки;
       Иначе
           СтрокаДвижения.Содержание = ВыборкаПоДоходам.СчетКт.Наименование;
       КонецЕсли;
       
       // реквизиты
       СтрокаДвижения.НомерЖурнала  = "ЗП";
   КонецЕсли;
   
   СтрокаБУ = СтрокаДвижения;
   
   // Добавим строку в таблицу затрат.
   НоваяСтрока = ТаблицаЗатрат.Добавить();
   ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаПоДоходам);
   НоваяСтрока.СпособРаспределенияЗатратНаВыпуск = ВыборкаПоДоходам.СпособРаспределенияЗатрат;
   НоваяСтрока.СчетЗатрат = ВыборкаПоДоходам.СчетДт;
   НоваяСтрока.СуммаРегл  = ВыборкаПоДоходам.Сумма;
   НоваяСтрока.СуммаБух   = ВыборкаПоДоходам.Сумма;
   
   // проводка по налоговому учету по налогу на прибыль
   Если Не мУСН И (Не ВыборкаПоДоходам.СчетДтНУ.Пустая()
       Или ВыборкаПоДоходам.СчетКт = ПланыСчетов.Хозрасчетный.РасходыНаОплатуТрудаБудущихПериодов
       Или ВыборкаПоДоходам.СчетКт = ПланыСчетов.Хозрасчетный.РезервыПредстоящихРасходов) Тогда
       
       // Добавим данные по налоговому учету в таблицу затрат.
       
       НоваяСтрока.СчетЗатратНУ = ВыборкаПоДоходам.СчетДтНУ;
       НоваяСтрока.СуммаНал = ВыборкаПоДоходам.Сумма;
       
       Если НЕ ЗначениеЗаполнено(ВыборкаПоДоходам.СчетДтНУ) Тогда
           
           СчетНУСоответствующийСчетуБУДт =НайтиСчетНУ(СтрокаБУ.СчетДт, ВыборкаПоДоходам.СубконтоДт1, ВыборкаПоДоходам.СубконтоДт2, ВыборкаПоДоходам.СубконтоДт3);
           
           Если НЕ ЗначениеЗаполнено(СчетНУСоответствующийСчетуБУДт) Тогда
               Сообщить("Не найдено соответствие для счета БУ " +  СтрокаБУ.СчетДт + ", разницы между БУ и НУ не рассчитаны");
               Возврат;
           КонецЕсли;
       КонецЕсли;
       
       Если НЕ ЗначениеЗаполнено(ВыборкаПоДоходам.СчетКтНУ) Тогда
           
           СчетНУСоответствующийСчетуБУКт = НайтиСчетНУ(СтрокаБУ.СчетКт, ВыборкаПоДоходам.СубконтоКт1, ВыборкаПоДоходам.СубконтоКт2, ВыборкаПоДоходам.СубконтоКт3);
           
           Если НЕ ЗначениеЗаполнено(СчетНУСоответствующийСчетуБУКт) Тогда
               Сообщить("Не найдено соответствие для счета БУ " +  СтрокаБУ.СчетКт + ", разницы между БУ и НУ не рассчитаны");
               Возврат;
           КонецЕсли;
       КонецЕсли;
       
       //Изменения нач
       
           ЗапросПоСум = Новый Запрос;
           ЗапросПоСум.Текст = "ВЫБРАТЬ
                               |    ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.НомерСтроки,
                               |    ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СуммаНУ,
                               |    ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СуммаВР
                               |ИЗ
                               |    Документ.ОтражениеЗарплатыВРеглУчете.ОтражениеВУчете КАК ОтражениеЗарплатыВРеглУчетеОтражениеВУчете
                               |ГДЕ
                               |    ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Ссылка = &Ссылка";
           ЗапросПоСум.УстановитьПараметр("Ссылка",    ЭтотОбъект.Ссылка);    
           Рез = ЗапросПоСум.Выполнить().Выгрузить();
           Для Каждого Стр Из Рез Цикл
       //Изменения кон        
               
       СтрокаДвижения = Движения.Налоговый.Добавить();
       
       // Свойства
       СтрокаДвижения.Период = КонецМесяца(ПериодРегистрации);
       
       // Измерения
       СтрокаДвижения.Организация   = Организация;
       
       // налоговый учет
       Если НЕ ЗначениеЗаполнено(ВыборкаПоДоходам.СчетДтНУ) Тогда
           
           СтрокаДвижения.СчетДт = СчетНУСоответствующийСчетуБУДт;
           БухгалтерскийУчет.УстановитьСубконто(СчетНУСоответствующийСчетуБУДт, СтрокаДвижения.СубконтоДт, 1, ВыборкаПоДоходам.СубконтоДт1);
           БухгалтерскийУчет.УстановитьСубконто(СчетНУСоответствующийСчетуБУДт, СтрокаДвижения.СубконтоДт, 2, ВыборкаПоДоходам.СубконтоДт2);
           БухгалтерскийУчет.УстановитьСубконто(СчетНУСоответствующийСчетуБУДт, СтрокаДвижения.СубконтоДт, 3, ВыборкаПоДоходам.СубконтоДт3);
       Иначе
                       
           СтрокаДвижения.СчетДт = ВыборкаПоДоходам.СчетДтНУ;
                       
           //Изменено нач
           Если СтрокаДвижения.СчетДт = ПланыСчетов.Налоговый.РезервыПредстоящихРасходов Тогда
           
               СтрокаДвижения.ВидУчетаДт = Перечисления.ВидыУчетаПоПБУ18.ВР;
               СтрокаДвижения.ВидУчетаКт = Перечисления.ВидыУчетаПоПБУ18.ВР;
                           
           КонецЕсли;
           //Изменано кон                        
           БухгалтерскийУчет.УстановитьСубконто(СтрокаДвижения.СчетДт, СтрокаДвижения.СубконтоДт, 1, ВыборкаПоДоходам.СубконтоДтНУ1);
           БухгалтерскийУчет.УстановитьСубконто(СтрокаДвижения.СчетДт, СтрокаДвижения.СубконтоДт, 2, ВыборкаПоДоходам.СубконтоДтНУ2);
           БухгалтерскийУчет.УстановитьСубконто(СтрокаДвижения.СчетДт, СтрокаДвижения.СубконтоДт, 3, ВыборкаПоДоходам.СубконтоДтНУ3);
       КонецЕсли;
       
       Если НЕ ЗначениеЗаполнено(ВыборкаПоДоходам.СчетКтНУ) Тогда
           
           СтрокаДвижения.СчетКт = СчетНУСоответствующийСчетуБУКт;
           БухгалтерскийУчет.УстановитьСубконто(СчетНУСоответствующийСчетуБУКт, СтрокаДвижения.СубконтоКт, 1, ВыборкаПоДоходам.СубконтоКт1);
           БухгалтерскийУчет.УстановитьСубконто(СчетНУСоответствующийСчетуБУКт, СтрокаДвижения.СубконтоКт, 2, ВыборкаПоДоходам.СубконтоКт2);
           БухгалтерскийУчет.УстановитьСубконто(СчетНУСоответствующийСчетуБУКт, СтрокаДвижения.СубконтоКт, 3, ВыборкаПоДоходам.СубконтоКт3);
           
           Если СтрокаБУ.СчетКт = ПланыСчетов.Хозрасчетный.РезервыПредстоящихРасходов Тогда
               СтрокаДвижения.ВидУчетаДт   = Перечисления.ВидыУчетаПоПБУ18.ВР;
               СтрокаДвижения.ВидУчетаКт   = Перечисления.ВидыУчетаПоПБУ18.ВР;
           КонецЕсли;
       Иначе
                       
           СтрокаДвижения.СчетКт = ВыборкаПоДоходам.СчетКтНУ;
                       
           
           //Изменения нач
           Если СтрокаДвижения.СчетКт = ПланыСчетов.Налоговый.РезервыПредстоящихРасходов Тогда
           
               СтрокаДвижения.ВидУчетаДт = Перечисления.ВидыУчетаПоПБУ18.ВР;
               СтрокаДвижения.ВидУчетаКт = Перечисления.ВидыУчетаПоПБУ18.ВР;
           КонецЕсли;    
           //Изменения кон
           
           БухгалтерскийУчет.УстановитьСубконто(СтрокаДвижения.СчетКт, СтрокаДвижения.СубконтоКт, 1, ВыборкаПоДоходам.СубконтоКтНУ1);
           БухгалтерскийУчет.УстановитьСубконто(СтрокаДвижения.СчетКт, СтрокаДвижения.СубконтоКт, 2, ВыборкаПоДоходам.СубконтоКтНУ2);
           БухгалтерскийУчет.УстановитьСубконто(СтрокаДвижения.СчетКт, СтрокаДвижения.СубконтоКт, 3, ВыборкаПоДоходам.СубконтоКтНУ3);
           
           
       КонецЕсли;
       
       
       // ресурсы
       
       СтрокаДвижения.Сумма        = ВыборкаПоДоходам.Сумма;
       
       
       // Содержание проводок
       Если ПериодРегистрации < '20100101' Тогда
           СтрокаДвижения.Содержание = ВыборкаПоДоходам.СодержаниеПроводки;
       Иначе
           СтрокаДвижения.Содержание = ВыборкаПоДоходам.СчетКт.Наименование;
       КонецЕсли;
       
       //Изменения нач
       Если Стр.СуммаНУ <> 0 И Стр.СуммаВР <> 0 Тогда
       
               СтрокаДвижения = Движения.Налоговый.Добавить();
       
       // Свойства
       СтрокаДвижения.Период = КонецМесяца(ПериодРегистрации);
       
       // Измерения
       СтрокаДвижения.Организация   = Организация;
       
       // налоговый учет
       Если НЕ ЗначениеЗаполнено(ВыборкаПоДоходам.СчетДтНУ) Тогда
           
           СтрокаДвижения.СчетДт = СчетНУСоответствующийСчетуБУДт;
           БухгалтерскийУчет.УстановитьСубконто(СчетНУСоответствующийСчетуБУДт, СтрокаДвижения.СубконтоДт, 1, ВыборкаПоДоходам.СубконтоДт1);
           БухгалтерскийУчет.УстановитьСубконто(СчетНУСоответствующийСчетуБУДт, СтрокаДвижения.СубконтоДт, 2, ВыборкаПоДоходам.СубконтоДт2);
           БухгалтерскийУчет.УстановитьСубконто(СчетНУСоответствующийСчетуБУДт, СтрокаДвижения.СубконтоДт, 3, ВыборкаПоДоходам.СубконтоДт3);
       Иначе
                       
           СтрокаДвижения.СчетДт = ВыборкаПоДоходам.СчетДтНУ;
                       
           БухгалтерскийУчет.УстановитьСубконто(СтрокаДвижения.СчетДт, СтрокаДвижения.СубконтоДт, 1, ВыборкаПоДоходам.СубконтоДтНУ1);
           БухгалтерскийУчет.УстановитьСубконто(СтрокаДвижения.СчетДт, СтрокаДвижения.СубконтоДт, 2, ВыборкаПоДоходам.СубконтоДтНУ2);
           БухгалтерскийУчет.УстановитьСубконто(СтрокаДвижения.СчетДт, СтрокаДвижения.СубконтоДт, 3, ВыборкаПоДоходам.СубконтоДтНУ3);
       КонецЕсли;
       
       Если НЕ ЗначениеЗаполнено(ВыборкаПоДоходам.СчетКтНУ) Тогда
           
           СтрокаДвижения.СчетКт = СчетНУСоответствующийСчетуБУКт;
           БухгалтерскийУчет.УстановитьСубконто(СчетНУСоответствующийСчетуБУКт, СтрокаДвижения.СубконтоКт, 1, ВыборкаПоДоходам.СубконтоКт1);
           БухгалтерскийУчет.УстановитьСубконто(СчетНУСоответствующийСчетуБУКт, СтрокаДвижения.СубконтоКт, 2, ВыборкаПоДоходам.СубконтоКт2);
           БухгалтерскийУчет.УстановитьСубконто(СчетНУСоответствующийСчетуБУКт, СтрокаДвижения.СубконтоКт, 3, ВыборкаПоДоходам.СубконтоКт3);
           
       Иначе
           
           СтрокаДвижения.СчетКт = ВыборкаПоДоходам.СчетКтНУ;
                   
           БухгалтерскийУчет.УстановитьСубконто(СтрокаДвижения.СчетКт, СтрокаДвижения.СубконтоКт, 1, ВыборкаПоДоходам.СубконтоКтНУ1);
           БухгалтерскийУчет.УстановитьСубконто(СтрокаДвижения.СчетКт, СтрокаДвижения.СубконтоКт, 2, ВыборкаПоДоходам.СубконтоКтНУ2);
           БухгалтерскийУчет.УстановитьСубконто(СтрокаДвижения.СчетКт, СтрокаДвижения.СубконтоКт, 3, ВыборкаПоДоходам.СубконтоКтНУ3);
           
           
       КонецЕсли;
       
       СтрокаДвижения.ВидУчетаДт   = Перечисления.ВидыУчетаПоПБУ18.ВР;
       СтрокаДвижения.ВидУчетаКт   = Перечисления.ВидыУчетаПоПБУ18.ВР;

       
       // ресурсы
       
       СтрокаДвижения.Сумма        = Стр.СуммаВР;
       
       
       // Содержание проводок
       Если ПериодРегистрации < '20100101' Тогда
           СтрокаДвижения.Содержание = ВыборкаПоДоходам.СодержаниеПроводки;
       Иначе
           СтрокаДвижения.Содержание = ВыборкаПоДоходам.СчетКт.Наименование;
       КонецЕсли;

       
       КонецЕсли;
       
       КонецЦикла;
       //Изменения кон
       
       
       // реквизиты
       СтрокаДвижения.НомерЖурнала = "ЗП";
       
       НалоговыйУчет.ВидУчетаПоПБУ18(СтрокаДвижения);
       
       ДобавитьСтрокуВДвиженияПоОтражениюВУчетеРазниц(СтрокаБУ, СтрокаДвижения, НоваяСтрока, ОтражатьРазницы);
       
   КонецЕсли;
   
КонецПроцедуры  // ДобавитьСтрокуВДвиженияПоОтражениюВУчете
12 Tanis
 
04.04.13
12:19
(10) да надо, если нет в одной строке Суммы НУ и Суммы ВР,
то пусть делает как надо,
Если есть и Сумма НУ и Сумма ВР, то надо делать как делалось, но еще и добавить строчку с такими же данными, но чтоб Сумма ВР была.
13 palpetrovich
 
04.04.13
12:22
(12) правда правда? таки нужно что-б "Каждого Стр" было иногда 2 движения?
14 Tanis
 
04.04.13
12:26
да.
Одно по НУ другое по ВР
15 exwill
 
04.04.13
12:28
(14) Ну? Ты разобрался?
16 Tanis
 
04.04.13
12:30
в чем? Почему строчку несколько раз плюсует - нет
17 ObjectRelation Model
 
04.04.13
12:31
(16) наверное потому что она в цикле
18 exwill
 
04.04.13
12:33
(16) А ты ответы читаешь?
19 palpetrovich
 
04.04.13
12:33
Еще раз:
Для Каждого Стр Из Рез Цикл
   СтрокаДвижения = Движения.Налоговый.Добавить();
   Если Стр.СуммаНУ <> 0 И Стр.СуммаВР <> 0 Тогда
       СтрокаДвижения = Движения.Налоговый.Добавить();
   КонецЕсли;
КонецЦикла;
ДобавитьСтрокуВДвиженияПоОтражениюВУчетеРазниц(СтрокаБУ, СтрокаДвижения, НоваяСтрока, ОтражатьРазницы); // какая здесь в результате СтрокаДвижения?
20 Tanis
 
04.04.13
12:35
Видел я эту строчку.
В ней правильные данные.
Сейчас цикл пробую раньше (выше) поставить
21 exwill
 
04.04.13
12:37
(20) или ниже... ))))
22 palpetrovich
 
04.04.13
12:38
(20) мне кажется, тебе надо определиться и зделать либо
Для Каждого Стр Из Рез Цикл
   СтрокаДвижения = Движения.Налоговый.Добавить();
   ДобавитьСтрокуВДвиженияПоОтражениюВУчетеРазниц(СтрокаБУ, СтрокаДвижения, НоваяСтрока, ОтражатьРазницы);
   Если Стр.СуммаНУ <> 0 И Стр.СуммаВР <> 0 Тогда
       СтрокаДвижения = Движения.Налоговый.Добавить();
       ДобавитьСтрокуВДвиженияПоОтражениюВУчетеРазниц(СтрокаБУ, СтрокаДвижения, НоваяСтрока, ОтражатьРазницы);
   КонецЕсли;
КонецЦикла;

либо:

Для Каждого Стр Из Рез Цикл
   Если Стр.СуммаНУ <> 0 И Стр.СуммаВР <> 0 Тогда
       СтрокаДвижения = Движения.Налоговый.Добавить();
       ДобавитьСтрокуВДвиженияПоОтражениюВУчетеРазниц(СтрокаБУ, СтрокаДвижения, НоваяСтрока, ОтражатьРазницы);
   Иначе    // то что было до тебя
       СтрокаДвижения = Движения.Налоговый.Добавить();
       ДобавитьСтрокуВДвиженияПоОтражениюВУчетеРазниц(СтрокаБУ, СтрокаДвижения, НоваяСтрока, ОтражатьРазницы);
   КонецЕсли;
КонецЦикла;
23 Шапокляк
 
04.04.13
12:39
(16) Процедура ДобавитьСтрокуВДвиженияПоОтражениюВУчете вызывается из обработки проведения в цикле, причем цикл как раз зависит от запроса к той же таблице, что и в добавленном вами запросе. Так чему удивляться-то? Сама идея такой добавки несколько странная.
24 palpetrovich
 
04.04.13
12:39
* зделать = сделать :)
25 Tanis
 
04.04.13
12:57
(22) Так же остается.
26 Tanis
 
04.04.13
13:02
А если в обработке проведения отключить цикл, то ерунда получится?
27 Tanis
 
04.04.13
13:16
Вариантов больше нет?
28 PCcomCat
 
04.04.13
13:22
ВыборкаПоДоходам - ? Это откуда?
29 Tanis
 
04.04.13
13:30
Писал выше. Из другого запроса, не из этой процедуры.
30 Tanis
 
04.04.13
14:28
ну так как там этот цикл оформить?
31 Шапокляк
 
04.04.13
14:31
(30) В Процедура ДобавитьСтрокуВДвиженияПоОтражениюВУчете(ВыборкаПоДоходам, ....)
ВыборкаПоДоходам структура судя по всему. Или в нее добавь чего не хватает, либо еще какой-нибудь аргумент добавь с необходимыми данными. А цикл, который добавил, вообще убери.
Я б такой вариант посоветовала.
32 Шапокляк
 
04.04.13
14:33
+(30) или как вариант - перебирай свой цикл, но при этом вставь внутрь проверку, чтобы нужная строка обрабатывалась, а остальные пропускались. Честно говоря, лень сейчас бухню колупать.
33 Tanis
 
04.04.13
14:35
Это УПП
34 Шапокляк
 
04.04.13
14:38
Поверь, (33) энтузиазма мне не прибавило. Смотри в отладчике, за что можно зацепиться.
35 Tanis
 
04.04.13
14:54
(31) в выборке по доходам нет ни НУ ни ВР, там просто сумма.
36 Tanis
 
04.04.13
15:23
Истина где-то рядом... :-)
37 Tanis
 
04.04.13
15:46
Истина, ты где...
38 Kreont
 
04.04.13
15:59
У тебя в цикле все точно так и написано что и в результате получается, в цикле явно указано присвоение той же суммы N-раз, если не надо то удали строку:
СтрокаДвижения.Сумма        = ВыборкаПоДоходам.Сумма;
:)
запусти отладчик, сделай документ на 2 строки, и пройдись от начала до конца.
39 Tanis
 
04.04.13
16:00
Там и не только выборка присваивается Н-раз.
Сейчас эксперементирую.
40 Tanis
 
04.04.13
16:20
уже лучше, но все равно не то...
41 Tanis
 
04.04.13
23:42
Проанализировав данный алгоритм, понял, что этот цикл при любых выриациях не дал бы нужного результата...
Так как выборка с самого начала всегда получалась...
Добавил условие в если, теперь с виду проводки нормальые получается...
Вынес в отдельную процедуру, с проводками в докумнте, нормально, а вот в оборотке не видно...
42 Tanis
 
04.04.13
23:52
хотя, все нормально и в оборотке...
теперь будем дальше ошибку искать