|
Обход дерева значений, как? | ☑ | ||
---|---|---|---|---|
0
0level
22.09.15
✎
15:28
|
тДерево= новый ДеревоЗначений;
строю дерево Для каждого прож из тДерево.Строки цикл прож. для каждого ппп из прож.строки цикл ппп. конеццикла; конеццикла; немогу обратится через точку к реквизитам дерева (например прож.номенклатура дает ошибку)чтобы их прочитать. что делаю не так? |
|||
1
GreatOne
22.09.15
✎
15:29
|
а где ты заполнил номенклатуру?
|
|||
2
Ахмадинежад
22.09.15
✎
15:29
|
дерево есть, колонок нет
|
|||
3
0level
22.09.15
✎
15:30
|
вот тут заполнил )
&НаСервере Процедура ПреобразоватьВДЗРекурсия(тДерево, тТаблица, ГУИД) тПоиск = Новый Структура("Родитель", ГУИД); тМассив = тТаблица.НайтиСтроки(тПоиск); Для Каждого тСтр Из тМассив Цикл нСтр = тДерево.Строки.Добавить(); ЗаполнитьЗначенияСвойств(нСтр,тСтр); //нСтр.Колонка1 = тСтр.Колонка1; //нСтр.Колонка2 = тСтр.Колонка2; ПреобразоватьВДЗРекурсия(нСтр, тТаблица, тСтр.ГУИД); КонецЦикла; КонецПроцедуры |
|||
4
GreatOne
22.09.15
✎
15:31
|
Если тмассив.количество() <> 0 ...
|
|||
5
Апош
22.09.15
✎
15:32
|
Процедура ОтметитьДокументы(Узел)
Для Каждого ТекСтрока Из Узел Цикл ТекСтрока.Включить=Протородитель(ТекСтрока)="Документы"; ОтметитьДокументы(ТекСтрока.Строки); КонецЦикла; КонецПроцедуры |
|||
6
GreatOne
22.09.15
✎
15:34
|
Пример работы с деревом:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйДвиженияССубконто.СчетДт КАК СчетУчета, | ХозрасчетныйДвиженияССубконто.СубконтоДт1 КАК Номенклатура, | ХозрасчетныйДвиженияССубконто.СубконтоДт2 КАК Склад, | ХозрасчетныйДвиженияССубконто.КоличествоДт КАК Количество, | ХозрасчетныйДвиженияССубконто.Сумма КАК Сумма, | ХозрасчетныйДвиженияССубконто.Сумма КАК СуммаНУ, | ХозрасчетныйДвиженияССубконто.Организация КАК Организация, | ХозрасчетныйДвиженияССубконто.Период КАК Дата, | ХозрасчетныйДвиженияССубконто.Регистратор.Номер КАК Номер |ИЗ | РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(, &конецпериода, , , ) КАК ХозрасчетныйДвиженияССубконто |ГДЕ | ХозрасчетныйДвиженияССубконто.Регистратор ССЫЛКА Документ.ОприходованиеТоваров |ИТОГИ ПО | СчетДт"; Запрос.УстановитьПараметр("конецпериода", Дата(2010,12,31,23,59,59)+1); ДЗ = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам); Для каждого СтрокаДЗ из ДЗ.Строки Цикл ИсходящиеДанные = Новый Структура("НоменклатураНаСкладе, РазделУчета"); ИсходящиеДанные.НоменклатураНаСкладе = СтрокаДЗ.Строки; Если СтрокаДЗ.СчетУчета.Родитель = ПланыСчетов.Хозрасчетный.Товары Тогда ИсходящиеДанные.РазделУчета = "Товары"; ИначеЕсли СтрокаДЗ.СчетУчета.Родитель = ПланыСчетов.Хозрасчетный.Материалы Тогда ИсходящиеДанные.РазделУчета = "Материалы"; КонецЕсли; ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"ВводНачальныхОстатковПоТоварамИМатериалам_ололо"); КонецЦикла; |
|||
7
Апош
22.09.15
✎
15:37
|
экое оригинальное первое января
|
|||
8
GreatOne
22.09.15
✎
15:40
|
(7) что поделать. В КА можно делать документ приход товара с 000 счета(так и завели остатки), в БП 3 нельзя, только ввод остатков. Таков вот получился велосипед
|
|||
9
GreatOne
22.09.15
✎
15:41
|
(7)а, ты про дату) да это я на всякий случай прибавил, 1 числом ничего нет
|
|||
10
0level
22.09.15
✎
15:49
|
(2) Спасибо, получилось
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |