Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Войти | Зарегистрироваться )



История благодарностей участнику olmar ::: Спасибо сказали: 2 раз
Дата поста: В теме: За сообщение: Спасибо сказали:
06.02.13, 15:12 Группировка и итоги по верхнему уровню родителя
Cthulhu Я все-таки немного по-своему решил найти родителя верхнего уровня. Вы Предлагали
Пока ТЗ.Роди.Родитель.Выбран()<>0 Цикл ТЗ.Роди=ТЗ.Роди.Родитель КонецЦикла;
Я решил найти родителя через
Пока ПустоеЗначение (ТЗ.Роди.Родитель) = 0 Цикл 
            ТЗ.Роди=ТЗ.Роди.Родитель;
        КонецЦикла;
Не нашел разницы между Выбран() и ПустоеЗначение(), решил оставить второе.
Ваш код действительно работал. Но так как я не правильно выводил на печать секцию "Группа" в коде
Роди = ТМЦ.Родитель;
Пока ПустоеЗначение(Род.Родитель) = 0 Цикл
Род = Род.Родитель;
КонецЦикла;
Если старыйРодитель<>Род Тогда
ТекГруппаСтр = Строка(Род);
ст = 0;
Если ТЗ.НайтиЗначение(Роди,ст,"Роди")=1 Тогда
грКво = ТЗ.ПолучитьЗначение(ст,"Кво");
грСуммаСНДС = Формат(Окр(ТЗ.ПолучитьЗначение(ст,"СуммаСНДС"),2),"Ч10.2");
КонецЕсли;

Где искалось найденое значение "Кво" по столбцу "Роди". А "Роди" здесь было равно не вехнему родителю. Из-за
Роди = ТМЦ.Родитель;

Естественно условие игнорировалось и выводило нули.
Раньше я предполагал, что загвоздка кроется в формировании секции "Группа".Даже код вставил. Но все были почему-то зациклены на формировании таблицы.
Изменив код и присвоив переменной "Роди" родителя верхнего уровня . Все стало на свои места.
    Роди = ТМЦ.Родитель;
    Пока ПустоеЗначение(Роди.Родитель) = 0 Цикл
        Роди = Роди.Родитель;
    КонецЦикла;

    Если старыйРодитель<>Роди Тогда
        ТекГруппаСтр = Строка(Роди);
        ст = 0;
        Если ТЗ.НайтиЗначение(Роди,ст,"Роди")=1 Тогда
            грКво = ТЗ.ПолучитьЗначение(ст,"Кво");
            грСуммаСНДС = Формат(Окр(ТЗ.ПолучитьЗначение(ст,"СуммаСНДС"),2),"Ч10.2");
        КонецЕсли;
        Таб.ВывестиСекцию("Группа");
    КонецЕсли;
    старыйРодитель = Роди;

Находится значение "Роди" , в столбце "Роди" Если ТЗ.НайтиЗначение(Роди,ст,"Роди")=1 , которое было ранее присвоено переменной "Роди" с помощью цикла
Пока ПустоеЗначение(Роди.Родитель) = 0 Цикл
Роди = Роди.Родитель;
КонецЦикла;

И найдя его выводит итоги "Кво" и "СуммаСНДС" по вехнему родителю.
Не знаю насколько я доступно все описал. Так как знаю 1с только на 10%. Поправьте меня, если я где-то ошибся в описании последовательности работы кода. Если можно как-то лучше написать код подскажите пожалуйста. Всем большое спасибо. Извините кому грубо отвечал. Просто хотелось помощи не на словах, а кодом. Cthulhu Вам отдельное большое спасибо. Ну и вот сама печать собственно говоря.

Домовик,
06.02.13, 13:47 Группировка и итоги по верхнему уровню родителя
Цитата(Cthulhu @ 06.02.13, 12:50) *
вроде разжевано до кода - как сформировать ТЗ с итогами по родителям первого уровня.
нужно что-то другое? формулируйте так, чтобы было понятно собеседникам.

Елки-палки дык в в самом описании проблемы и далее со скринами обьяснил , что нужно сделать. Сейчас смотрю анализ таблицы значений. С вашим кодом. Действительно ТЗ сворачивается по
ТЗ.Свернуть("Роди","Кво,СуммаСНДС");

Ниже скрин Анализа ТЗ

Теперь осталось присвоить эти значения секции "Группа"


 ! 

В следующий раз картинка, вставленная не по правилам будет удалена! Уже второй раз исправляю. Прочтите правила.
 


Цитата(olmar @ 06.02.13, 13:28) *
В следующий раз картинка, вставленная не по правилам будет удалена! Уже второй раз исправляю. Прочтите правила.
 

Vofka извините, я исправлюсь. Я быстро учусь всему))

Все нашел решение. Сейчас все проверю и со сринами и кодом отпишусь.
Vofka,

RSS Текстовая версия Сейчас: 10.06.24, 18:35
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!