Как обратиться к элементам в под-папке справочника?
25.01.2010
14:30
#1
Здравствуйте, подскажите пожалуйста в таком вопросе:
Бух_7.7v_релиз 504
Внешний отчет по которому при выборе контрагента и определенного договора(их несколько разных) выводятся обороты за определенный период. Справочник договора имеет 3 уровня у нас есть вложенные папки Договор202->эта папка имеет несколько папок пр.Договор202/01,Договор202/02 и т.д->а эти папки содержат элементы(объекты): 202/01/01МодернизацияУзлов и т.д.Изначально требовалось формировать только по под-папке кот. напрямую содержит элементы т.е. Договор202/02, а сейчас им необходимо по всей группе Договора202 т.е. они создали общую папку Договор202 и в ней уже все остальные папки и выбирают папку Договор202,а по ней ноль оборотов.
Незнаю как программно обратиться к под-папкам в которых находятся элементы(объекты).
Бух_7.7v_релиз 504
Внешний отчет по которому при выборе контрагента и определенного договора(их несколько разных) выводятся обороты за определенный период. Справочник договора имеет 3 уровня у нас есть вложенные папки Договор202->эта папка имеет несколько папок пр.Договор202/01,Договор202/02 и т.д->а эти папки содержат элементы(объекты): 202/01/01МодернизацияУзлов и т.д.Изначально требовалось формировать только по под-папке кот. напрямую содержит элементы т.е. Договор202/02, а сейчас им необходимо по всей группе Договора202 т.е. они создали общую папку Договор202 и в ней уже все остальные папки и выбирают папку Договор202,а по ней ноль оборотов.
Незнаю как программно обратиться к под-папкам в которых находятся элементы(объекты).
25.01.2010
20:59
#4
"БухИт.ИспользоватьСубконто(ВидСубконто.Договоры, ВыбраннаяГруппаДоговоров, 1, 0);
так не работает что ли?"
так не работает что ли?"
26.01.2010
07:09
#5
"Процедура Заполнить()
-//-
Опер = СоздатьОбъект("Операция");
Опер.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Контрагент);
Если ПустоеЗначение(Договор) = 0 Тогда
Если Договор.ЭтоГруппа() = 0 Тогда
Опер.ИспользоватьСубконто(ВидыСубконто.Договоры, Договор);
Иначе Если Договор.ЭтоГруппа() = 1 Тогда
????
//Опер.ИспользоватьСубконто(ВидыСубконто.Договоры, Договор);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Опер.ВыбратьОперацииСПроводками(НачДата, КонДата, Фильтр);
Пока Опер.ПолучитьПроводку() = 1 Цикл
СчДт = Опер.Дебет.Счет;
СчКт = Опер.Кредит.Счет;
ПервичныйДокумент = СокрЛП(Опер.ПервичныйДокумент);
СчетГруппаДт = СчДт.Родитель(1);
СчетГруппаКт = СчКт.Родитель(1);
-//-"
-//-
Опер = СоздатьОбъект("Операция");
Опер.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Контрагент);
Если ПустоеЗначение(Договор) = 0 Тогда
Если Договор.ЭтоГруппа() = 0 Тогда
Опер.ИспользоватьСубконто(ВидыСубконто.Договоры, Договор);
Иначе Если Договор.ЭтоГруппа() = 1 Тогда
????
//Опер.ИспользоватьСубконто(ВидыСубконто.Договоры, Договор);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Опер.ВыбратьОперацииСПроводками(НачДата, КонДата, Фильтр);
Пока Опер.ПолучитьПроводку() = 1 Цикл
СчДт = Опер.Дебет.Счет;
СчКт = Опер.Кредит.Счет;
ПервичныйДокумент = СокрЛП(Опер.ПервичныйДокумент);
СчетГруппаДт = СчДт.Родитель(1);
СчетГруппаКт = СчКт.Родитель(1);
-//-"
26.01.2010
09:48
#6
"Иначе Если Договор.ЭтоГруппа() = 1 Тогда
//составить список договоров в папке Договор
СписокДоговоров=СоздатьОбъект("СписокЗначений");
Спр = СоздатьОбъект("Справочник.Договоры");
Спр.ИспользоватьРодителя(Договор);
Спр.ВыбратьЭлементы(1);
Пока Спр.ПолучитьЭлемент() = 1 Цикл
Если Спр.ЭтоГруппа() = 0 Тогда
СписокДоговоров.ДобавитьЗначение(Спр.ТекущийЭлемент());
КонецЕсли;
КонецЦикла;
Опер.ИспользоватьСубконто(ВидыСубконто.Договоры, СписокДоговоров);
КонецЕсли;
"
//составить список договоров в папке Договор
СписокДоговоров=СоздатьОбъект("СписокЗначений");
Спр = СоздатьОбъект("Справочник.Договоры");
Спр.ИспользоватьРодителя(Договор);
Спр.ВыбратьЭлементы(1);
Пока Спр.ПолучитьЭлемент() = 1 Цикл
Если Спр.ЭтоГруппа() = 0 Тогда
СписокДоговоров.ДобавитьЗначение(Спр.ТекущийЭлемент());
КонецЕсли;
КонецЦикла;
Опер.ИспользоватьСубконто(ВидыСубконто.Договоры, СписокДоговоров);
КонецЕсли;
"
26.01.2010
11:05
#7
Спасибо, но вот это выбирает элементы только если в этой папке которая выбрана находятся те самые элементы, а у меня в этой папке 5 папок в которых и есть элементы по которым формируются обороты. Получается что выбрав папку Договор202(кот. содержит папки Договор202/01, Договор202/02 и т.д.)он выводит нулевые обороты т.е. он не доходит до элементов внутренних папок(напр. папка Договор202/01 содержит элементы: 202/01/1 Ремонт труб, 202/01/2 модернизация блоков и т.д. по которым есть обороты).Вот если выбрать папку Договор202/01 то сформируется таблица с оборотами по элементам которые там находятся, а надо чтоб по всей папке Договор202 т.е.чтоб собрал все элементы этого договора202.
Читают тему
(гостей: 1)