Имя: Пароль:
1C
1C 7.7
v7: Бухгалтерия: отбор проводок и помещение их в ТЗ (пропадает одна)
0 листопад
 
17.10.11
11:32
Отбираю проводки за период и помещаю их в ТаблицуЗначений. Подскажите, почему если указан перид с 01.01.2009 по текущую дату, то в ТЗ не попадает первая проводка с датой 01.01.2009? Как это можно побороть? Вот текст:


Процедура ЗаполнитьПроводкиЗаПериод(НачДата = '01.01.2009', КонДата, ТаблицаПроводок)
   
   Операция = СоздатьОбъект("Операция");
   Операция.ВыбратьОперацииСПроводками(НачДата, КонДата);  
   
   Пока Операция.ПолучитьОперацию()=1 Цикл
       Операция.ВыбратьПроводки();
       Пока Операция.ПолучитьПроводку() = 1 Цикл
           Если (Операция.Дебет.Счет.Забалансовый = 1)или(Операция.Кредит.Счет.Забалансовый = 1) Тогда Продолжить КонецЕсли;
           ТаблицаПроводок.НоваяСтрока();
           ТаблицаПроводок.ДатаОперации = Операция.ДатаОперации;
           ТаблицаПроводок.СчетДт = Операция.Дебет.Счет;
           Попытка
               Если СписокВидовСубконто.Принадлежит(Операция.Дебет.Субконто(1).Вид())=1 Тогда
                   ТаблицаПроводок.СубконтоДт = Операция.Дебет.Субконто(1);
               КонецЕсли;
           Исключение
           КонецПопытки;
           Попытка
               Если СписокВидовСубконто.Принадлежит(Операция.Дебет.Субконто(2).Вид())=1 Тогда
                   ТаблицаПроводок.СубконтоДт = Операция.Дебет.Субконто(2);
               КонецЕсли;
           Исключение
           КонецПопытки;
           ТаблицаПроводок.СчетКт = Операция.Кредит.Счет;
           Попытка
               Если СписокВидовСубконто.Принадлежит(Операция.Кредит.Субконто(1).Вид())=1 Тогда
                   ТаблицаПроводок.СубконтоКт = Операция.Кредит.Субконто(1);
               КонецЕсли;
           Исключение
           КонецПопытки;
           Попытка
               Если СписокВидовСубконто.Принадлежит(Операция.Кредит.Субконто(2).Вид())=1 Тогда
                   ТаблицаПроводок.СубконтоКт = Операция.Кредит.Субконто(2);
               КонецЕсли;
           Исключение
           КонецПопытки;
           ТаблицаПроводок.Сумма = Операция.Сумма;
       КонецЦикла;    
   КонецЦикла;    
   
   
   //вот здесь вижу, что самая первая проводка не попадает в ТаблицуПроводок
   ТаблицаПроводок.ВыбратьСтроку();
   
КонецПроцедуры
1 листопад
 
17.10.11
11:49
Ап!
2 KUBIK
 
17.10.11
11:52
Может на забалансе проводка то?
3 листопад
 
17.10.11
11:57
(2) Нет, проводка обычная (Дт20-Кт76.5), другие такие же попадают.


Смотрю в отладчике, вижу, что получает проводку, начиная со второй.

Операция = СоздатьОбъект("Операция");
   Операция.ВыбратьОперацииСПроводками(НачДата, КонДата);  
   Пока Операция.ПолучитьОперацию()=1 Цикл
   //вот здесь перескакивает сразу на вторую проводку:
       Операция.ВыбратьПроводки();
       Пока Операция.ПолучитьПроводку() = 1 Цикл
4 KUBIK
 
17.10.11
12:13
(3) Посмотри отчет АктСверки в типовой бухии.
5 eDimonas
 
17.10.11
12:26
запросом выбери все операции попробуй
6 DeiMos
 
17.10.11
12:33
Опер.ВыбратьОперацииСПроводками(НачДата, КонДата, Фильтр);
   Пока Опер.ПолучитьПроводку() = 1 Цикл
7 vde69
 
17.10.11
12:41
за проводки отвечают 3 физические таблицы, одна из которых отвечает именно за отборы (название лень искть). тупо селектом посмотреть сколько строк из таблицы проводок соответствуют отборам (обычно вроде 1:4)