1с печать дерева значений

Вывод на печать таблицы или дерева значений. Управляемая форма #572566

В обычных формах делал это через построитель отчета. А в управляемых есть возможность выводить быстро, без перебора строк?

пиши сам, рекурсивная процедура обхода дерева проста как утренний рассвет. Я в макете делаю разные строки для уровней дерева, с тональной раскраской, выделением шрифтом старших уровней и т.д. Вообще нужно взять за правило в 8.2., если вы работаете с деревом формы и хотите его печать, то в структуре колонок этого дерева обязательно должна быть колонка «Уровень»(0,1, 2, N — значения). Я еще ввожу дополнительно колонку «УровеньИдентификатор», чтобы дифференцировать узлы на одном уровне в случае неоднородного дерева(«1_1», «1_К», . ). Наличие этих двух колонок достаточно для организации самого «богатого» условного оформления и печати

Похожие вопросы 1С

  • Таблицы, таблицы, таблицы. Будь они неладны
  • Печать таблицы значений.гдето слышал про универс. обраб. печатьи ТЗ
  • Вывод на печать таблицы справа 8.0
  • Построитель отчетов: вывод (не вывод) группировок
  • Как программно раскрыть ветку дерева значений в табличном поле дерева значений?
  • Ошибка «. Вывод запрещен по причине: Вывод запрещен» — ничего не понимаю 🙁
  • СКД: СКД: Вывод итогов запроса периодами, вывод счетчика строк.
  • Вывод таблицы значений на печать
  • Сортировка дерева значений (управляемая форма)
  • в СКД необходим вывод группировок выглядящий как вывод детальных записей
  • (ЗУП 2.5.48.1) тормозит вывод на печать у одного из пользователей
  • Заполнение дерева значений из таблицы значений

В этой группе 1С

  • 8.2 Управляемая форма, ТЧ.ОтборСтрок
  • Выбрать документы по реквизиту
  • v7: Копирование справочников между одинаковыми базами 1С77 Бухгалтерия предприятия
  • Как получить в УТ 10.3 Значение по умолчанию из настроек пользователя
  • v7: Как сделать выгрузку в XML файл такого формата?
  • v8: Пилообразная загрузка процессора
  • Регистрация изменений конфигурации в РИБ 1С 8
  • в РС «первоначальная стоимость об ОС» УУ не проставляется стоимость
  • v7: Создание таблиц значений в цикле.
  • Из 8 ядер работает только 1. Расскажите что к чему?
  • Spec 8 Создание собственной иерархии в СКД — Для чего нужно?
  • Значение поля «Номер» не уникально
  • Как 1с определяет текущую дату?
  • Ошибка при открытии формы
  • v7: Чем открыть DBA?
  • Как отловить поиск в форме списка? Управляемые формы
  • Зависает отладчик в терминале (УПП)
  • Как лучше разнести SQL и пользователей.
  • 1C ЗУП 8.2 Формулы для расчета
  • v7: Не закрепляется окно сообщений
Читайте также:  Эскизы дерево во всю руку тату

Источник

Дерево значений в печатную форму

Есть небольшая проблемка с выводом дерева значений на печатную форму. Подсмотрел в инете вот такой примерный код.

. ТабДок.НачатьАвтогруппировкуСтрок(); Уровень = 0; ВывестиСтрокуДерева(табДок, ОбластьРасшифровкиНоменклатуры, ВыборкаНоменклатуры, Уровень); ТабДок.ЗакончитьАвтогруппировкуСтрок(); . Функция ВывестиСтрокуДерева(табДок, ОбластьРасшифровкиНоменклатуры, СтрокаДереваЗначений, Уровень) Для Каждого СтрокаНоменклатуры Из СтрокаДереваЗначений.Строки Цикл ОбластьРасшифровкиНоменклатуры.Параметры.Наименование = СтрокаНоменклатуры.Номенклатура; ОбластьРасшифровкиНоменклатуры.Параметры.Товарооборот = СтрокаНоменклатуры.Стоимость; ТабДок.Вывести(ОбластьРасшифровкиНоменклатуры, Уровень, Ложь); ВывестиСтрокуДерева(табДок, ОбластьРасшифровкиНоменклатуры, СтрокаНоменклатуры, Уровень+1); КонецЦикла; КонецФункции;

Вместо дерева выводит что-то странное номенклатура поделеная в две группировки без имен

ВЫБРАТЬ Продажи.Регистратор КАК Регистратор, Продажи.Количество КАК Количество, Продажи.Стоимость КАК Стоимость, Продажи.Подразделение КАК Подразделение, Продажи.Номенклатура КАК Номенклатура, Продажи.Регистратор.КодСвязиРазделенныхРеализаций КАК РегистраторКод, Продажи.Номенклатура.Наименование КАК НаименованиеНоменклатуры ИЗ Справочник.Номенклатура КАК Товар ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи ПО Товар.Ссылка = Продажи.Номенклатура.Ссылка ГДЕ Продажи.Подразделение В(&ГруппаПодразделения) И НЕ Продажи.Номенклатура В ИЕРАРХИИ (&ГруппаНоменклатура) И ВЫБОР КОГДА &ФЛАГ = ИСТИНА ТОГДА ИСТИНА ИНАЧЕ Продажи.Номенклатура.Категория = &АСС КОНЕЦ И Продажи.Регистратор.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоОтчета, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонецОтчета, ДЕНЬ) УПОРЯДОЧИТЬ ПО Подразделение ИТОГИ КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Регистратор), КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РегистраторКод) ПО Номенклатура ИЕРАРХИЯ

Источник

Вывод произвольного дерева на печать

Имеется задача: есть иерархический справочник (иерархия элементов) с произвольным набором данных. Как вывести это на печать в виде схемы(дерева) в виде элементов, связанных линиями по принципу родительства? Есть ли такой алгоритм?

(1) Гениальная идея. Это я и сам представляю. Как это все на печать вывести?
Типа, корневой элемент в центре, за ним подстраиваются подчиненные элементы, соединяются линиями. И потом, ведь у элемента на втором уровне может быть 10 подчиненных элементов 3 уровня, а у другого элемента второго уровня, всего 1 подчиненных элемент.
(2) То же мне умник.

(4) Возьми типовую «Торговля и Склад». Там не то, что алгоритм — готовая обработка есть. Чуток переделать — и вперёд.

(9) Нет хочу расположение элементов одного уровня в строчку, а не в столбик, как там.
(8) Поподробней плиз. Что там внутри творится?

(6) Почему малоинформативный? Кроме того, на самом деле в моей задаче не предполагается большая и сложная иерархия, макс. 10 уровней. Просто хочется сделать нечто универсальное.

(12) 10 уровней. Даже для бинарного дерева — 1024 элемента на нижнем уровне.
С обработкой генерации отчёта поставляются микроскопы для его чтения.

(11) Так и пытался сделать, но видно математики хорошей не хватает, непонятно как их правильно располагать, с какого уровня начинать.

Читайте также:  Сколько раз цветет дерево магнолия

(10) на словах — тоже самое что и в дереве доков, только у раруса стока завязок на глобальные универсальные функции, что без литры не выкусить и не запостить

(14) Сначала готовишь к печати (если так уж хочется горизонтально располагать уровни). Рекурсивная процедура/функция с параметрами Дерево, ШиринаБумаги и Лево.

(15) То есть, не факт, что процедура формирования этого отчёта будет работать, если что?
Кстати, 8 уровней — это 256. Тоже лупа нужна. И даже 6 уровней (64) — много не втиснешь.

(20) Дерево в виде ТЗ, с указанием уровней. Есть УровеньСМаксимальнымКоличествомЭлементов, КоличествоУровней.

(21) А что такое «связи между элементами на разных уровнях»? И что означает их «учитывать»?
По своему дереву — построй дерево из структур с полями Лево, Ширина, ТекстВнутри, Дети.
Полученное дерево — отрисуй.

(23) Я имел в виду следующее:
1-й уровень 1.0
2-й уровень 1.1 2.1
3-й уровень 1.2 2.2 3.2 4.1
4-й уровень 1.1 2.2 3.2 и т.д.
(24) Смогу конечно. Как связывать элементы между собой (линиями) в рекурсии?

(26) Так же, как они связаны в «Дереве документов». Создаются квадратики с изображением нужной линии и вставляются в нужное место.

Пусть у тебя есть класс Дерево, с функциями КоличествоДетей(Дерево), Сын(Дерево,НомерСына).
У узлов дерева есть .Лево, .Центр, .Содержание. (если нет — добавь).
Сначала размечаешь дерево:

Процедура РазметитьДляПечати(Дерево,ШиринаБумаги,ЛевыйКрай)
КолвоДетей = КоличествоДетей(Дерево);
ШиринаПоддерева = ШиринаБумаги/КолвоДетей+1;
Если КолвоДетей=0 Тогда
Дерево.Лево = ЛевыйКрай;
Дерево.Центр = ЛевыйКрай+ШиринаБумаги/2;
Иначе
Для нСын=1 По КолвоДетей Цикл
РазметитьДляПечати(Сын(Дерево,нСын),ШиринаПоддерева,ЛевыйКрай+ШиринаПоддерева*(нСын-1));
КонецЦикла;
КонецЕсли;
КонецПроцедуры

Теперь у тебя у каждого узла есть, на каком расстоянии от края его печатать и где должен быть центр узла. Если хочешь — добавь каждому узлу пометку «Г»,»Т» или «-I», обозначающую форму линии, которая к этому узлу подходит сверху.

Теперь — перебор в ширину.
Заводишь глобальный список СписокУзловДляПечати. И заполняешь его рекурсивно (помечая чем-нибудь переходы на новый уровень).
Ну а затем — выводишь узлы из этого списка, не забывая переходить на новый уровень.

(30) имхается что у него не дерево, а сеть.
(т.е. между «листьями» тоже есть взаимосвязи, а не только от родителя к потомку

Источник

Как вывести дерево значений на печать? #731670

Добрый вечер, уважаемые форумчане. Подскажите пожалуйста как вывести дерево значений на печать. Есть управляемая форма 1С8.2., на ней реквизит ДеревоТоваров тип ДеревоЗначений Вопрос — как вывести на печать? Так получаю только верхний уровень, свойства ДеревоТоваров.Строки — нету, как достучаться до всех уровней ума не приложу. Заранее спасибо!

Читайте также:  Панно по дереву оригинальные

Рекурсию сделать не проблема, я не могу понять как через ЭЛЕМЕНТ УПРАВЛЕНИЯ достучаться до всех уровней

мда. ЗЫ ПолучитьЭлементы (GetItems) Синтаксис: ПолучитьЭлементы Возвращаемое значение: Тип: ДанныеФормыКоллекцияЭлементовДерева. Описание: Получает коллекцию элементов дерева верхнего уровня. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер). и ПолучитьЭлементы (GetItems) Синтаксис: ПолучитьЭлементы Возвращаемое значение: Тип: ДанныеФормыКоллекцияЭлементовДерева. Описание: Получает коллекцию дочерних элементов. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер). Разницу видим?

у себя в коде «СписокЭлементов = ДеревоТоваров.ПолучитьЭлементы;» видишь? вот тоже самое и сделай для каждого элемента «Эл1»

без рекурсии получишь только 2-й уровень, а следующие? =)))) Спасибо, дальше разберусь. 15 лет как ни как в 1С. Просто кризис, деньги нужны, работаю на износ. Туплю ужасно.

Похожие вопросы 1С

  • Как заполнить и вывести диаграмму в табличном документе ?
  • Как вывести иерархическое дерево в отчете?
  • Как быстро выгрузить таблицу значений в дерево значений?
  • Подскажите, плиз, можно ли вывести дерево значений.
  • Можно ли в 7.7 вывести зачеркнутый шрифт?
  • Дерево значений, в Таблицу значений
  • Вывести дерево значений на форму.
  • Как вывести иерархический справочник в Дерево значений?
  • v8: Как вывести дерево значений на управляемую форму?
  • Таблица значений в дерево значений.
  • Скопировать колонки из таблицы значений в дерево значений
  • Вывести дерево значений на форму

В этой группе 1С

  • конвертация данных документа операция бухгалтерская
  • Списание материалов в документе «Отчет производства за смену»
  • выгрузка из БП 3.0 в БП 3.0
  • Первоначальная выгрузка данных из УТ 10.3 в БП 3.0
  • 1C 8.2 + Citrix. Документы создаются на час позже текущего времени
  • Как получить текст запроса РЛС из роли?
  • Эмулятор считывателя магнитных карт
  • УТ 11.1 Штрихкодирование серий товара
  • БП 2.0. Переход с 1 октября с УСН на ОСНО. Как ввести остатки по товару и НДС ?
  • v7: Регистры в 1с 7.7
  • Веб-клиент, windows авторизация
  • Как попасть на экзамен 1С:Эксперт по технологическим вопросам?
  • ПриКопировании(ОбъектКопирования)
  • Перебор реквизитов в УФ на клиенте для запрета. Как?
  • Отбор в найтиПоСсылкам()
  • как передать в запрос список значений
  • OFF: Разбили стекло в машине. КАСК нет. Есть смысл обращаться в полицию?
  • Как восстановить субконто?
  • Помогите в 1с 8.3 в модуле объекта «увидеть» переменную, объявленную в нём же
  • Как и где получить значение константы в управляемой форме

Источник

Оцените статью