|
v7: Ошибка в отчете. БухИоги | ☑ | ||
---|---|---|---|---|
0
derk153
15.12.11
✎
12:16
|
При формировании отчета выбывает ошибку:
Ит.ВыбратьСубконто(1,,,,,"ИнвенНомер"); // упорядочим по инвентарным номерам {Отчет.ИзносОСиНМА.Форма.Модуль(92)}: Данная операция допустима только в режиме запроса по аналитике ! Код: Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьРазделительУчета(Фирма); Ит.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства); Ит.ИспользоватьСубконто(ВидыСубконто.НалогиОтчисления); Ит.ВыполнитьЗапрос(НачКвартала(ДатаОтчета),КонКвартала(ДатаОтчета),СчетНА); Ит1 = СоздатьОбъект("БухгалтерскиеИтоги"); Ит1.ИспользоватьРазделительУчета(Фирма); Ит1.ПериодКВ(ДатаОтчета); ИтАмортСумма = 0; ИтБалСтоимость = 0; Ит.ВыбратьСубконто(1,,,,,"ИнвенНомер"); // упорядочим по инвентарным номерам По идее все же должно работать... |
|||
1
chief accountant
15.12.11
✎
12:21
|
Ит.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства,,1,0);
|
|||
2
derk153
15.12.11
✎
12:31
|
...причем ошибка появляется только в отладчике
|
|||
3
chief accountant
15.12.11
✎
12:40
|
(2) У ИнвенНомер сортировка включена?
|
|||
4
derk153
15.12.11
✎
12:42
|
(3) Да, включена
|
|||
5
chief accountant
15.12.11
✎
12:49
|
(4) попробовал (1)?
|
|||
6
derk153
15.12.11
✎
12:51
|
Вот процедура полностью:
Процедура Сформировать() Таб = СоздатьОбъект("Таблица"); ТекПериодСтр = ПериодСтр(НачКвартала(ДатаОтчета),КонКвартала(ДатаОтчета)); Таб.ВывестиСекцию("Шапка"); СчетНА = СчетПоКоду("ОСНУ03"); Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьРазделительУчета(Фирма); Ит.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства,,1,0); Ит.ВыполнитьЗапрос(НачКвартала(ДатаОтчета),КонКвартала(ДатаОтчета),СчетНА); ИтАмортСумма = 0; ИтБалСтоимость = 0; // Ит.ВыбратьСубконто(1,,,,,"ИнвенНомер"); // упорядочим по инвентарным номерам НА = Ит.Субконто(1); Пока Ит.ПолучитьСубконто(1) = 1 Цикл //НормаАморт = Ит.Субконто(1); БалСтоимость = 0;//Ит1.СНД(СчетНА,,,НА); //Если БалСтоимость = 0 Тогда // Если документ печ-ся за предыд.периоды // Продолжить; //КонецЕсли; //Кво = Формат(Ит1.СНД(СчетНА,"К",,НА),"Ч13.3"); Кво = 1; АмортСумма = 0;// = Ит.КО(); Наименование = "Инв.№"+?(ПустоеЗначение(НА.ИнвенНомер)=1," ",Сокрлп(НА.ИнвенНомер)) +", "+НА.Наименование; Таб.ВывестиСекцию("Строка"); //ИтАмортСумма = ИтАмортСумма + АмортСумма; //ИтБалСтоимость = ИтБалСтоимость + БалСтоимость; КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать("",""); КонецПроцедуры Скорей всего в НА не передается Ит.Субконто(1), но при отладке выдает совсем другую ошибку, что пр исполнении |
|||
7
derk153
15.12.11
✎
12:51
|
(5) Да, тоже самое
|
|||
8
chief accountant
15.12.11
✎
12:53
|
(7) Вот код - железно работающий:
Би = СоздатьОбъект("БухгалтерскиеИтоги"); Би.ИспользоватьРазделительУчета(ВыбраннаяФирма); Би.ИспользоватьСубконто(ВидыСубконто.Номенклатура,,1,0); Би.ИспользоватьСубконто(ВидыСубконто.ФКР,,1,0); Би.ИспользоватьСубконто(ВидыСубконто.МестаХранения,,1,0); Би.ВыполнитьЗапрос(Дата1,Дата1,СчетаДляЗапроса); Если Сортировать=2 Тогда Би.ВыбратьСубконто(1,,,,,"Код"); ИначеЕсли Сортировать=3 Тогда Би.ВыбратьСубконто(1,,,,,"Наименование"); ИначеЕсли Сортировать=4 Тогда Би.ВыбратьСубконто(1,,,,,"НомНомер"); Иначе Би.ВыбратьСубконто(1); КонецЕсли; Пока Би.ПолучитьСубконто(1) = 1 Цикл |
|||
9
derk153
15.12.11
✎
15:46
|
ну... не вижу принципиальной разницы в моем коде и коде (8)
Ключевые процедуры есть и там и там: БИ.ИспользоватьСубконто(....) БИ.ВыполнитьЗапрос(....) БИ.ПолучитьСубконто(1) |
|||
10
medved_kot
16.12.11
✎
00:33
|
Если ошибка при отладке отличается от ошибки без отладчика, то возможно дело в переменных (функциях), значения которых вы пытаетесь получить в отладчике. Т.е. значение переменной (функции) в отладчике устанавливается раньше чем задумано писателем кода.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |