#0
by Bzzzzz
V77.Есть ТЗ, которая содержит столбец "Номенклатура" и ряд числовых.Нужно вывести содержимое ТЗ, соблюдая иерархию справочника и подсчитывая итоги по группам.Добавить столбец "Владелец", перебирать справочник, искать по владельцу, выводить строку и потом удалять её из тз?Подскажите пожалуйста как эффективнее это реализовать.
#1
by 19x0
Добавь колонку "ПолныйКод", в которую ложишь полный код элемента справочника, и сортируешь по ней - получается иерархия справочника, а вот суммировать по группам - сложнее начинаются извраты. Неужели нельзя из запроса выудить суммы по группам?
#2
by Bzzzzz
В тз сливается инфо из 3-х запросов.Если юзать "ПолныйКод", тогда сортировка будет по коду, а в спр по Наименованию :(
#5
by Salex
По иерархии:Как сказал ПолныйКод или ПолноеНаименованиеПро итоги. Для удобства добавить колонку со значением уровня элемента.А далее обходишь табличку снизу вверх и складываешь итоги по уровню в переменную. Доходишь до вышестоящего уровня, сумму записываешь в тз и обнуляешь переменную.
#6
by 19x0
Если бы это было проблемой ... :)) Из полного кода удаляешь код элемента, а вместо него пишешь наименование.
#7
by Человек дождя
Добавь в конфу служебный справочник аналогичный по структуре справочнику номенклатура. Сливай содержимое твоих запросов не в ТЗ а в этот справочник.Т.е. вытащили запись, записали такой элемент в справочник, попутно записав все вышестоящие группы. При добавлении каждого элемента прибавляй сумму к сумме каждой вышестоящей группы. В конечном итоге получишь заполненный служебный справочник с итогами по группам. Потом очищаем справочник и ждем след запуска
#9
by Человек дождя
Забыл добавить - такой справочник легко обойти запросом и вывести в отчет в нужном тебе виде
#10
by Salex
сильный совет.....Да чего там! Копию конфы сделаем и будем в нее по оле итоги по справочникам сливать.....
#13
by KAO
Есть хороший класс 1С++. Называется ТаблицаГруппировок. Есть на проклубе. Но я на него сейчас попасть не могу - не отвечает. Там всевозможное суммирование реализовано. Когда я стал этот класс использовать - ошалел насколько стало проще писать отчеты.
#14
by Человек дождя
Не забывай дружище, не все то, что дико звучит неправильно. Если требуется вывести данные в соответствии с некой иерархией, которую не удается скомпоновать запросом (и еще нужно получить итоги по группам этой иерархии) - это единственный нормальный способ. Проверь
#16
by Муму после всплытия
вы видимо совсем не умеете работать с ТЗ............... иначе б так не рассуждали................... тут делов то - "на копейку"............. правильно говорят - полное наименование
#17
by Bzzzzz
Спасибо за ответы. Вечером буду пробывать. Ща башка текущими делами забита :(Пит, это не оно? :)
#18
by Salex
Единственный нормальный способ привести тз к нужному виду это крутить и вертеть эту тз до полного ее просветления. Проверено.P.S. А где в постановке задачи вы видите запрос?
#19
by Человек дождя
Насчет умения работать с ТЗ просто не буду отвечать, думай что хочешь.* * *Насчет прочего. Если в табличке есть и группы и элементы с суммами то мой способ применять не стоит. Я понял задачу так: "соблюдая иерархию справочника и подсчитывая итоги по группам" - т.е. имеем заданную иерархию. Имеем набор групп по которым нужны итоги (т.е. пркатически наш справочник в котором только группы). В этом случае в табличке нет информации о группах по которым нужно суммировать. Поэтому самое быстрое решение (с точки зрения реализации, не скорости выполнения), то которое изложил
#20
by Bzzzzz
Хм.мм, пожалуй ПолноеНаименование может зарулить :)Я совсем забыл про такой метод, считая ПолноеНаименование реквизитом типовых конф.Тока вот если будет 2 группы с одинаковым наименованием ... :)Надо видимо еще код заюзать
#21
by Человек дождя
Salex: чудак человек - то что ты знаешь один способ это не значит что нет других -))
#22
by Муму после всплытия
я думаю..................... в вашей местности давно дождя не было..........
#24
by Человек дождя
Ну поскольку мы отлично поняли друг друга то порядок ;-)) Успехов, может когда нибудь с моей задачей столкнешься.
#25
by Умка
По поводу имхо полный бред. Все можно сделать в ТЗ, а заполнять/удалять служебный справочник это не есть хорошее программирование. Это только способ достижения цели первым попавшимся способом. Неужели ты все примерно так делаешь?
#26
by Муму после всплытия
у вас в группе могут быть подгруппы с одинаковыми наименованиями??? в этом есть какой то смысл??
#30
by Муму после всплытия
для формирования полного наименования можно свою процедурку написать, а уж там делать что угодно................... к примеру: СокрЛП(Спр.Наименование) + СокрЛП(Спр.Код)................. да, и стандартный разделитель "/" лучше заменить на Симв
#31
by Maxx
Месяц назад я тут такую тему поднимал. До сих пор благодарен доброй душе, прямо в форум поместившей текст обработки которая ТЗ с элементами превращает в ТЗ с группами и итогами по ним. Это я в том смысле что многие задачи, встающие перед нами, уже решены.
#32
by Uno
2Есть но они тормозят или транзакция надо юзать. А по нормальному делаеться все в 10-20 строк. Добавляешь 2 колонки Юзаешь полное наименование отрезав наименование и записуешь уровень. выгрузил в несколько тз по количеству уровней и сжимаешь по добавленной колонке потом в зависимости от уровня группы поиск в нужной таблице и вытаскиваешь итоговую сумму.
#33
by pit
задрал уже... второй день...Кидай пустышку на karkarde(сабака)pisem.net/зы но у меня обработка для бухии!!!!!
#34
by Maxx
Ветку ту найти не смог, жаль там был автор, а у меня осталась только сама обработка и теперь ей суждено превратиться в фольклёр. 0, давай мыло вышлю.
#36
by Человек дождя
Я по-моему понятно описал задачу которая решается моим способом. Блин, читать что-ли не умеем? Не решишь её оптимально используя ТЗ!
#43
by Bzzzzz
Пока получилось посмотреть только то, что Пит прислал и Maxx.Есть еще вариант ТОА. Вечером гляну.
#47
by OlegKZ
Всегда хотел узнать, что означает Таб.Опции(0,0,0,0). Читал "конфигурирование и администрирование" - не въехал. И почему всегда 0.
#49
by Builder
Я ее делал для одной цели - распечатать непроведенный и несохраненный документ с учетом иерархии без использования запроса. У меня работает.
#50
by android
Интеренсная вещь, только стоит строку ТЗ.УстановитьЗначение(ТЗ.ТекущаяСтрока,"Уровень1",Статья);заменить на ТЗ.УстановитьЗначение(ТЗ.НомерСтроки,"Уровень1",Статья);иначе иногда ошибка вываливается
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Создание ТЗ с вложенными ТЗ на основании плоской ТЗ методом группир. по колонкам
- Построитель отчетов: вывод (не вывод) группировок
- ТЗ.Свернуть для ТЗ в ТЗ
- Ошибка "...Вывод запрещен по причине: Вывод запрещен" - ничего не понимаю :(
- СКД: СКД: Вывод итогов запроса периодами, вывод счетчика строк...
- Вывод иерархического справочника из ТЗ в СКД.
- в СКД необходим вывод группировок выглядящий как вывод детальных записей
- СКД. Вывод реквизита группы справочника в иерархии справочника напротив групп.
В этой группе 1С
- v8 Как поставить на поддержку с невозможностью изменения
- Фигня в конфигураторе... Фигня в конфигураторе... (на мотив "Землян")
- Какие есть программы похожие на 1с?
- Задание при приеме на работу.
- 1С 77 Свернуть окно обработки программно?
- 1С проф 6.0 сетевая, проблема с запуском по сети. ????
- Как установить программно расширение поля текстового документа?
- Как убрать учет остатков по счету в целом
- Учет в долларах, а выписки в рублях......
- Отбор "характеристики номенклатуры" по "группе номенклатуры"
- Табуляция в таблице
- Бухгалтерия. Выручка по отгрузке & договора на консигнацию
- Как отмечаются помеченные на удаление записи в SQL таблицах??
- Вопрос по книге учета доходов и расходов
- Вопросы по обмену между 1С и OLE-объектом
- Как узнать размер таблицы в SQL базе?
- Как правильно передать программу 1с из одной фирмы в другую ?
- Фильтр для регистра сведений
- Разница SQL и DBF
- Как в Поле ввода установить курсор на определенную позицию?