Имя: Пароль:
1C
 
Обход дерева значений, как?
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) Спасибо, получилось