Вопрос № 54606: Здравствуйте, господа эксперты!
Вопрос такой как при выборке субконто получить ссылку на документ, на основании которого было введено это субконто?...
Вопрос № 54.606
Здравствуйте, господа эксперты!
Вопрос такой как при выборке субконто получить ссылку на документ, на основании которого было введено это субконто?
Отвечает: Шальков Павел Владимирович
Здравствуйте, Гребиников Павел Генадьевич!
Во-первых, необходимо задать периодичность получения итогов "Операция" в вызове метода БИ.ВыполнитьЗапрос(...), т.к. у вас может быть несколько документов по данному субконто. Во-вторых, нужно использовать вложенный цикл по периодам (в данном случае будут перебираться операции):
Пока БИ.ПолучитьСубконто(3) = 1 Цикл
...
БИ.ВыбратьПериоды();
Пока БИ.ПолучитьПериод() = 1 Цикл
...
Таб.ВывестиСекцию("Фильм");
//Вот тут можно получить документ
Док = БИ.Операция.Документ;
...
КонецЦикла;
КонецЦикла;
Если у вас может быть только один документ, то все в порядке, а если несколько - решать вам.
Ответ отправил: Шальков Павел Владимирович (статус: 7-ой класс)
Ответ отправлен: 07.09.2006, 10:48 Оценка за ответ: 5 Комментарий оценки: спасибо
Отвечает: Elric
Здравствуйте, Гребиников Павел Генадьевич!
Субконто в бухгалтерских итогах может появиться в результате провведения НЕСКОЛЬКИХ документов (если это субконто фигурирует в проводках операции этих документов). Чтобы получить ссылку на эти документы, нужно:
1) В запросе указать периодичность "Операция"
2) Внутри цикла по субконто сделать цикл по операциям, и уже из операций получить ссылку на документ.
Пример приведен в Приложении.
Скопируй его в модуль и посмотри.
Приложение:
--------- Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Студент)
Ответ отправлен: 07.09.2006, 10:54 Оценка за ответ: 5 Комментарий оценки: спасибо
Отвечает: BuhCIA
Здравствуйте, Гребиников Павел Генадьевич!
Добавлю еще к предыдущим ответам, что бывает просто тип значения субконто Документ. Например, у субсчетов счета 19 вторым субконто стоит СчетФактураПолученный, его значениями могут быть документы нескольких видов.
Тогда ссылка просто БИ.Субконто()
Например,
БИ=СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
БИ.ИспользоватьСубконто(ВидыСубконто.СчетаФактурыПолученные);
БИ.ВключатьСубсчета(1,0);
БИ.ВыполнитьЗапрос(Дата1,Дата2,"19");
БИ.ВыбратьСчета();
Пока БИ.ПолучитьСчет()=1 Цикл
БИ.ВыбратьСубконто(1);
Пока БИ.ПолучитьСубконто(1)=1 Цикл
БИ.ВыбратьСубконто(2);
Пока БИ.ПолучитьСубконто(2)=1 Цикл
Сообщить("найден для счета "+БИ.Счет.Код+" контрагента "+БИ.Субконто(1).Наименование+" документ вида "+БИ.Субконто(2).Вид()+" Сумма всего="+БИ.Субконто(2).Всего);
Таб.ВывестиСекцию("Фильм");
...
и в секцию Фильм вставляете ссылку БИ.Субконто(2) или
БИ.Субконто(2).ДатаДок
БИ.Субконто(2).Контрагент
и так далее.
--------- Скажите, сколько времени? - (устало, показывая часы) Читайте, там же все написано!
Ответ отправил: BuhCIA (статус: Специалист)
Ответ отправлен: 07.09.2006, 11:40 Оценка за ответ: 5 Комментарий оценки: спасибо!!!
Отвечает: Karanskiy Arkadiy
Здравствуйте, Гребиников Павел Генадьевич!
Это достаточно просто. В секции "Фильм" пишите БИ.Операция.Документ; и тип надо указать "Выражение" и все.
Успехов...
Ответ отправил: Karanskiy Arkadiy (статус: 4-ый класс)
Ответ отправлен: 08.09.2006, 21:58