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

Хранилище

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

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



> Группировка и итоги по верхнему уровню родителя , Не сворачивает итоги по группе 2 страниц V  < 1 2          
olmar Подменю пользователя
сообщение 06.02.13, 10:25
Сообщение #21

Общительный
**
Группа: Пользователи
Сообщений: 19
Из: Харьков
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(Домовик @ 05.02.13, 23:27) *
расскажите мне, забитому пенсионеру с Короной, что такое Инфорстарт? Честно, не знаю

[ссылка удалена, кому надо - гуглите]
очень давно существует

Цитата(Домовик @ 05.02.13, 23:27) *
ИначеЕсли ТекТМЦ.Уровень()=2 Тогда  
    ТЗ.Уровень2=ТекТМЦ;
    ТЗ.Уровень1=ТекТМЦ.Родитель;
ИначеЕсли ТекТМЦ.Уровень()=3 Тогда
    ТЗ.Уровень2=ТекТМЦ.Родитель;
    ТЗ.Уровень1=ТЗ.Уровень2.Родитель;  

А если уровне более 10? Такое условие я делал на уровни, когда нужно было вывести верхний уровень. Оказалось можно было сделать гораздо проще
вот таким кодом
Род = ТМЦ.Родитель; 
Роди = ТМЦ.Родитель;
Пока ПустоеЗначение(Род.Родитель) = 0 Цикл
Род = Род.Родитель;
КонецЦикла;


Сообщение отредактировал Vofka - 06.02.13, 10:57

Vofka Подменю пользователя
сообщение 06.02.13, 10:36
Сообщение #22

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

olmar, ну так бегите на инфостарт, что у нас забыли?

Спасибо сказали: olmar,

Домовик Подменю пользователя
сообщение 06.02.13, 10:42
Сообщение #23

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

если кво уровней не известно, то там по-другому делается.
тут показано, как работать группировками по уровням. я не знаю, какие надо вам выводить, какие нет.


в моем коде есть еще одна ошибка. она на результат не влияет, но она .. тематическая.. ).

Сообщение отредактировал Домовик - 06.02.13, 10:44

olmar Подменю пользователя
сообщение 06.02.13, 10:44
Сообщение #24

Общительный
**
Группа: Пользователи
Сообщений: 19
Из: Харьков
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(Vofka @ 06.02.13, 10:36) *
ну так бегите на инфостарт, что у нас забыли?
Извините, что дал ссылку. Понимаю, что виноват. Человеку пример привел не более.

Cthulhu Подменю пользователя
сообщение 06.02.13, 12:50
Сообщение #25

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0

вроде разжевано до кода - как сформировать ТЗ с итогами по родителям первого уровня.
нужно что-то другое? формулируйте так, чтобы было понятно собеседникам.
(инфостарт - ресурс, на который с такими вопросами на таком уровне даже понимания собственной задачи идти бесполезняк; идите на мисту - там может и поизмываются, но больше вероятность, что поймут "птичий язык")

Спасибо сказали: olmar,

olmar Подменю пользователя
сообщение 06.02.13, 13:47
Сообщение #26

Общительный
**
Группа: Пользователи
Сообщений: 19
Из: Харьков
Спасибо сказали: 2 раз
Рейтинг: 0

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

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

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

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


 ! 

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


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

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

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

Сообщение отредактировал Vofka - 06.02.13, 13:39

Спасибо сказали: Vofka,

olmar Подменю пользователя
сообщение 06.02.13, 15:12
Сообщение #27

Общительный
**
Группа: Пользователи
Сообщений: 19
Из: Харьков
Спасибо сказали: 2 раз
Рейтинг: 0

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

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

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

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

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

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



Сообщение отредактировал Vofka - 06.02.13, 15:17

Спасибо сказали: Домовик,

Домовик Подменю пользователя
сообщение 07.02.13, 11:24
Сообщение #28

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

только первый уровень нужен был? понятно. все верно - использовали цикл с рекурсией. сами разобрались. "спасибка"

ПустоеЗначение() и Выбран() чаще всего без разницы. Выбран() знает позицию элемента справочника. ПустоеЗначение() -нет. Если удалить элементы, но оставятся где-то на них ссылки в реквизитах формы, то ПустоеЗначение() там покажет 0, Выбран() скорее всего 1. надо проверить.

Сообщение отредактировал Домовик - 07.02.13, 11:25

Спасибо сказали: olmar,

olmar Подменю пользователя
сообщение 07.02.13, 11:36
Сообщение #29

Общительный
**
Группа: Пользователи
Сообщений: 19
Из: Харьков
Спасибо сказали: 2 раз
Рейтинг: 0

Ясненько. Спасибо за обьяснение.

Cthulhu Подменю пользователя
сообщение 08.02.13, 22:09
Сообщение #30

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0

Цитата(olmar @ 06.02.13, 10:25) *
...очень давно существует...

нет, не очень. и - уже скурвился, пардон мон френч. точнее - его "хозяйчик".

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V  < 1 2
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

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