Имя: Пароль:
1C
1C 7.7
v7: Обороты по валюте
0 web_profiler
 
03.07.15
12:55
Ит91=СоздатьОбъект("БухгалтерскиеИтоги");
    Если ВыбФирма.Выбран()=1 Тогда
        Ит91.ИспользоватьРазделительУчета(ВыбФирма);
    КонецЕсли;
    Ит91.ИспользоватьСубконто(ВидыСубконто.ВидыЗатрат,,1,1);
    Ит91.ИспользоватьСубконто(ВидыСубконто.ВидыДеятельности,СписВидД,1);
    Ит91.ИспользоватьСубконто(ВидыСубконто.МестаХранения,,1);
    Ит91.ВыполнитьЗапрос(Дата1,Дата2,"91",,Валюта);
    
    Ит91.ВыбратьСубконто(1);
    Пока Ит91.ПолучитьСубконто(1)=1 Цикл
        ТЗ.НоваяСтрока();
        ТЗ.Статья=Ит91.Субконто(1);
        НомСтр=ТЗ.КоличествоСтрок();  
        
        Ит91.ВыбратьСубконто(2);
        Пока Ит91.ПолучитьСубконто(2)=1 Цикл
            Ит91.ВыбратьСубконто(3);
            Пока Ит91.ПолучитьСубконто(3)=1 Цикл
                ЕстьФильтр=0;
                Если СписокЭлементовМФ2.Принадлежит(Ит91.Субконто(3))=1 Тогда
                    ЕстьФильтр=ЕстьФильтр+10;//филиал
                КонецЕсли;  
                
                ТаблицаМФ.ВыбратьСтроки();
                Пока ТаблицаМФ.ПолучитьСтроку() = 1 Цикл
                    Если ТаблицаМФ.Представление=Ит91.Субконто(2) Тогда
                        Если ТаблицаМФ.Представление=ВидДФилиала Тогда
                            ЕстьФильтр=10;//филиал
                        Иначе
                            Стр=0;
                            ЕстьФильтр=ЕстьФильтр+1;
                            Если ТаблицаМФ.СписокЭлементов1.Принадлежит(Ит91.Субконто(3))=1 Тогда
                                 //определим номер позиции в списке
                                Стр=ТаблицаМФ.СписокЭлементов1.НайтиЗначение(Ит91.Субконто(3));
                            ИначеЕсли ТаблицаМФ.СписокЭлементов1.РазмерСписка()=0 Тогда
                                Стр=-1;//только итоговая колонка
                            Иначе
                                //прочие склады
                                Стр=0;
                            КонецЕсли;
                        КонецЕсли;
                        Прервать;
                    КонецЕсли;
                КонецЦикла;    
                
                Если ЕстьФильтр>=10 Тогда //филиал,текущая колонка, текущая подколонка
                    ТЗ.УстановитьЗначение(НомСтр,"Ф"+Строка(НомКолФилиалаОтчет),ТЗ.ПолучитьЗначение(НомСтр,"Ф"+Строка(НомКолФилиалаОтчет))+Ит91.ДО()) ;
                    ТЗ.УстановитьЗначение(НомСтр,"ФИтог",ТЗ.ПолучитьЗначение(НомСтр,"ФИтог")+Ит91.ДО()) ;
                ИначеЕсли ЕстьФильтр=1 Тогда //текущая колонка, текущая подколонка  
                    ТЗ.УстановитьЗначение(НомСтр,"Итог"+Строка(ТаблицаМФ.НомерСтроки),ТЗ.ПолучитьЗначение(НомСтр,"Итог"+Строка(ТаблицаМФ.НомерСтроки))+Ит91.ДО(,2,Валюта)) ;
                Иначе
                    Сообщить("Ошибка 91!");
                КонецЕсли;
                
                ТЗ.УстановитьЗначение(НомСтр,"Всего",ТЗ.ПолучитьЗначение(НомСтр,"Всего")+Ит91.ДО()) ;                    
            КонецЦикла;
        КонецЦикла;  



Ругается на строку Ит91.ДО(,2,Валюта) - Слишком много параметров передано при вызове функции/процедуры
Что не так?
1 web_profiler
 
03.07.15
13:06
не вытаскивает валютные итоги в режиме выполнитьзапрос. если использую "Расчитать" тогда ругается: Данная операция допустима только в режиме запроса по аналитике !
2 web_profiler
 
03.07.15
13:07
по строке Ит91.ВыбратьСубконто(1);
3 kobzon2
 
03.07.15
13:12
(0) Потому шо передано слишком много параметров. Их наверное 2, а передаете 3. Может запятая лишняя?
4 web_profiler
 
03.07.15
13:18
(3) да нет, все правильно
ДО(<Счет>,<ТипСуммы>,<Валюта>,<Субконто1...>)
5 web_profiler
 
03.07.15
15:59
помогите, пожалуйста!
6 Абыр
 
03.07.15
17:40
(0) Читать синтакс-помощник или ЖКК про ДО() в режиме запроса