Имя: Пароль:
1C
1C 7.7
v7: Напомните по 77. Бухитоги
0 егаис
 
10.04.14
14:04
Есть код типа:
    БИ = СоздатьОбъект("БухгалтерскиеИтоги");
    БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
    БИ.ИспользоватьСубконто(ВидыСубконто.Договоры);                  
    БИ.ВыполнитьЗапрос(НачГода(ФинансовыйПериод),ФинансовыйПериод,"62.1",,,3,,);    

    БИ_Н06 = СоздатьОбъект("БухгалтерскиеИтоги");
    БИ_Н06.ИспользоватьСубконто(ВидыСубконто.Договоры);
    БИ_Н06.ВыполнитьЗапрос(НачГода(ФинансовыйПериод),ФинансовыйПериод,"Н06.01");    
    БИ_Н06.ВыбратьСубконто(1);

БИ.ВыбратьСубконто(1);
Пока БИ.ПолучитьСубконто(1) = 1 Цикл
БИ.ВыбратьСубконто(2);
Пока БИ.ПолучитьСубконто(2) = 1 Цикл
Если БИ_Н06.ПолучитьСубконто(1,,БИ.Субконто(2)) > 0 Тогда
СуммаНДС = БИ.ДО() - БИ_Н06.КО();
КонецЕсли;
КонецЦикла;
КонецЦикла;

Вот не находит и все по БИ_Н06.ПолучитьСубконто(1,,БИ.Субконто(2))
Не помню, разве есть ньюансы по подчиненным справочникам в значении субконто?
1 Chai Nic
 
10.04.14
14:05
Очень советую ставить вместо номера субконто - вид субконто. Это не влияет на работу алгоритма, зато реально улучшает понятность кода.
2 егаис
 
10.04.14
14:06
(1) это для примера, код там другой, много разных счетов с неявно определенными видами субконто. Расписывать лень было )
3 егаис
 
10.04.14
14:12
Кто-нибудь сэмулируйте у себя сабж на базе бухии 77.
4 егаис
 
10.04.14
14:18
тип итогов в запросе никак не влияет (
сдулись, снеговики? :))
5 егаис
 
10.04.14
14:19
БИ = СоздатьОбъект("БухгалтерскиеИтоги");
    БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
    БИ.ИспользоватьСубконто(ВидыСубконто.Договоры);                  
    БИ.ВыполнитьЗапрос('01.01.14','30.04.14',"62.1",,,3,,);    

    БИ_Н06 = СоздатьОбъект("БухгалтерскиеИтоги");
    БИ_Н06.ИспользоватьСубконто(ВидыСубконто.Договоры);
    БИ_Н06.ВыполнитьЗапрос('01.01.14','30.04.14',"Н06.01",,,3);    
    БИ_Н06.ВыбратьСубконто(ВидыСубконто.Договоры);

    БИ.ВыбратьСубконто(ВидыСубконто.Контрагенты);
    Пока БИ.ПолучитьСубконто(ВидыСубконто.Контрагенты) = 1 Цикл
        БИ.ВыбратьСубконто(ВидыСубконто.Договоры);
        Пока БИ.ПолучитьСубконто(ВидыСубконто.Договоры) = 1 Цикл
            Если БИ_Н06.ПолучитьСубконто(ВидыСубконто.Договоры,,БИ.Субконто(ВидыСубконто.Договоры)) > 0 Тогда
                СуммаНДС = БИ.ДО() - БИ_Н06.КО();  
                Сообщить(СуммаНДС);
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;

нифуя
6 егаис
 
10.04.14
14:23
вот это попался называется
Вид субконто другой у Н0601 - "Основание", но с тем же типов "Справочник.Договоры". Спасибо )
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший