|   |   | 
| 
 | v7: не отображаются остатки | ☑ | ||
|---|---|---|---|---|
| 0
    
        vol4arka 07.10.12✎ 21:45 | 
        Иногда не отображаются остатки по субконто, по которым нет оборотов в даном периоде. Подскажите в чем моя ошибка
  Процедура Сформировать() Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидыСубконто.Корма,,1,1); Если Ит.ВыполнитьЗапрос (НачДата, КонДата, "23",, , ,"День",4)=0 Тогда Возврат; КонецЕсли; Ит.ВыбратьПериоды(,,,); Пока Ит.ПолучитьПериод() = 1 Цикл Ит.ВыбратьСубконто(,1,,,,,); Пока Ит.ПолучитьСубконто() = 1 Цикл Если Ит.Субконто().ЭтоГруппа()=0 Тогда Остаток=Ит.СКД(3)-Ит.СКК(3); КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры | |||
| 1
    
        zladenuw 07.10.12✎ 21:53 | 
        а как это понять иногда :)     | |||
| 2
    
        vol4arka 07.10.12✎ 21:55 | 
        Если всегда то это меняет дело?     | |||
| 3
    
        xajak85 07.10.12✎ 21:56 | 
        по отладку смотрел какую цикл не выполняется?     | |||
| 4
    
        vol4arka 07.10.12✎ 21:57 | 
        Все выполняется, субконто отображается, но СКД и СКК =0     | |||
| 5
    
        xajak85 07.10.12✎ 21:59 | 
        (4) попробуй ВыбратьПериоды, после ВыбратьСубконто()-ПолучитьСубконто()     | |||
| 6
    
        vol4arka 07.10.12✎ 22:05 | 
        (5) не, мне нужно получить таблицу вида
  Дата Приход расход Остаток Приход Расход Остаток .. Свекла Морковь 01.10 100 50 50 200 100 100 .. 02.10 200 250 | |||
| 7
    
        xajak85 07.10.12✎ 22:06 | 
        (6) Ты потом должен сам получить эту таблицу     | |||
| 8
    
        vol4arka 07.10.12✎ 22:09 | 
        (6)Так как ты советуеш не получается     | |||
| 9
    
        vol4arka 07.10.12✎ 22:09 | 
        (7)     | |||
| 10
    
        viktor_vv 07.10.12✎ 22:13 | 
        Выводи двумя циклами.
  Первым шапку с номенклатурой и остатками Ит.ВыбратьСубконто(,1,,,,,); Пока Ит.ПолучитьСубконто() = 1 Цикл Если Ит.Субконто().ЭтоГруппа()=0 Тогда Остаток=Ит.СКД(3)-Ит.СКК(3); КонецЕсли; КонецЦикла; Вторым циклом уже тело, твоим циклом, только там параметры в выбрать субконто посмотри, нет под рукой семерки, чтобы цикл по всем вошедшим в запрос шел. | |||
| 11
    
        vol4arka 07.10.12✎ 22:16 | 
        (10) все верно, все вошедшие в запрос попадают в цикл, но почему-то остатки= 0???     | |||
| 12
    
        vol4arka 07.10.12✎ 22:18 | 
        к примеру, результат должен быть
  Свекла Морковь 01.10 100 50 50 100 02.10 200 250 а получается Свекла Морковь 01.10 100 50 50 02.10 200 250 | |||
| 13
    
        xajak85 07.10.12✎ 22:19 | 
        давай с перву проблему найдем, а потом будем думать как получить верную таблицу     | |||
| 14
    
        viktor_vv 07.10.12✎ 22:21 | 
        Ну попробуй вывести все значения : Остаток на начало, обороты и остаток на конец, причем отдельно дебет и кредит.     | |||
| 15
    
        viktor_vv 07.10.12✎ 22:21 | 
        Посмотри что там выведется.     | |||
| 16
    
        vol4arka 07.10.12✎ 22:34 | 
        (15)все 0     | |||
| 17
    
        vol4arka 07.10.12✎ 22:36 | 
        но если есть оборот по этому субконто, то остаток вычисляетс яверно     | |||
| 18
    
        vol4arka 07.10.12✎ 22:38 | 
        Дата      Приход расход Остаток    Приход Расход Остаток .. 
  Свекла Морковь 01.10 100 50 50 02.10 200 250 200 100 200 Остаток по моркови 200, так как реальный остаток 100 на 01.10 | |||
| 19
    
        Cthulhu 07.10.12✎ 23:03 | 
        Ит.ВыбратьПериоды(,,,1)
  Ит.ВыбратьСубконто(,0,,,1) | |||
| 20
    
        vol4arka 07.10.12✎ 23:16 | 
        (19) Так не работает вообще     | |||
| 21
    
        vol4arka 07.10.12✎ 23:17 | 
        Работает только так:
  Процедура Сформировать() Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит1 = СоздатьОбъект("БухгалтерскиеИтоги") Ит.ИспользоватьСубконто(ВидыСубконто.Корма,,1,1); Если Ит.ВыполнитьЗапрос (НачДата, КонДата, "23",, , ,"День",4)=0 Тогда Возврат; КонецЕсли; Ит.ВыбратьПериоды(,,,); Пока Ит.ПолучитьПериод() = 1 Цикл Ит.ВыбратьСубконто(,1,,,,,); Пока Ит.ПолучитьСубконто() = 1 Цикл Если Ит.Субконто().ЭтоГруппа()=0 Тогда Дат=Ит.НачДата; Ит1 = СоздатьОбъект("БухгалтерскиеИтоги"); Ит1.ИспользоватьСубконто(ВидыСубконто.Корма,Ит.Субконто(),,); Если Ит1.ВыполнитьЗапрос (Дат, Дат, "23",, , ,"День",)=0 Тогда Возврат; КонецЕсли; Остаток=Ит1.СКД(3)-Ит1.СКК(3); КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры Проще варианта не нашел, но он есть! | |||
| 22
    
        vol4arka 08.10.12✎ 10:02 | 
        Всем спасибо, особенно  viktor_vv     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |