|
v7: БИ, субконто, выбратьсубконто, получитьсубконто, число фильтров | ☑ | ||
---|---|---|---|---|
0
Eeakie
09.01.16
✎
18:24
|
Нужны сальдо по суммами и количеству по ВСЕМ счетам/субсчетам на определенную дату.
Делаю: БИ = СоздатьОбъект("БухгалтерскиеИтоги"); БИ.ИспользоватьРазделительУчета(ВыбраннаяФирма); БИ.ИспользоватьПланСчетов(ОсновнойПланСчетов()); БИ.ВключатьСубсчета(1); БИ.ВыполнитьЗапрос(ВыбраннаяДата, ВыбраннаяДата); БИ.ВыбратьСчета(); Пока БИ.ПолучитьСчет() = 1 Цикл БИ1 = СоздатьОбъект("БухгалтерскиеИтоги"); БИ1.ИспользоватьРазделительУчета(ВыбраннаяФирма); БИ1.ИспользоватьПланСчетов(ОсновнойПланСчетов()); БИ1.ВключатьСубсчета(1); Для Х = 1 По ПечСчет.КоличествоСубконто() Цикл БИ1.ИспользоватьСубконто(ПечСчет.ВидСубконто(Х)); КонецЦикла; БИ1.ВыполнитьЗапрос(ВыбраннаяДата, ВыбраннаяДата, БИ.Счет); Если БИ1.ВыбратьСубконто(1) = 1 Тогда Пока БИ1.ПолучитьСубконто(1) = 1 Цикл ... Если БИ1.ВыбратьСубконто(2) = 1 Тогда Пока БИ1.ПолучитьСубконто(2) = 1 Цикл // Число фильтров субконто превысило допустимое значение! ... КонецЦикла; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; Что за ерунда? Почему на проверке "Если БИ1.ВыбратьСубконто(2) = 1 Тогда" вылазит ошибка? |
|||
1
Eeakie
09.01.16
✎
18:25
|
Как-то странно код переносится :) Его вообще нельзя править вручную чтоль..
|
|||
2
Джордж1
09.01.16
✎
18:27
|
Ну может у счета вообще субконто нет
|
|||
3
Джордж1
09.01.16
✎
18:28
|
Обход субконто тоже лучше делать так
Для Х = 1 По ПечСчет.КоличествоСубконто() Цикл КонецЦикла; |
|||
4
Eeakie
09.01.16
✎
18:29
|
(3) У меня вроде бы так и сделано..
|
|||
5
Джордж1
09.01.16
✎
18:30
|
(4)ты и результаты так выбирай а не сразу
Если БИ1.ВыбратьСубконто(1) = 1 Тогда |
|||
6
Builder
09.01.16
✎
18:31
|
Одним запросом никак что ли?
Зачем 2 запроса городить? |
|||
7
Eeakie
09.01.16
✎
18:31
|
(6) Можно поподробнее про один запрос?
|
|||
8
Eeakie
09.01.16
✎
18:31
|
(5) Как вариант. Попробую.
|
|||
9
Builder
09.01.16
✎
19:07
|
(7) Что подробнее?
Конструкторы - Бухгалтерский запрос. Он предлагает такую конструкцию, попробуй. Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(,, 1); Ит.ИспользоватьСубконто(,, 1); Ит.ИспользоватьСубконто(,, 1); Ит.ВключатьСубсчета(1); Ит.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода,,,, 1,, "С"); Ит.ВыбратьСчета(); Пока Ит.ПолучитьСчет() = 1 Цикл Сформировать_Колонки(Ит, Таб, "Счет"); Ит.ВыбратьСубконто(1); Пока Ит.ПолучитьСубконто(1) = 1 Цикл .... ну и т.д. |
|||
10
HawkEye
09.01.16
✎
20:47
|
(0) бред какой-то...
зачем тебе нужны БИ1 еще и создающиеся в цикле? что за ПечСчет, если в сабже аж выделено "по ВСЕМ"? или как обычно, ты сюда запостил совсем не то, что у тебя в отчете, причем строки выбирал по своему разумению? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |