1с начатьавтогруппировкустрок не работает

v8: Группировка в Табличном документе

alex81nzp 19.01.2012 14:26
Прочитано: 33273
Здравствуйте!
Никак не могу разобраться, как в табличном документе, который создается на основе «Макета табличного документа», организовать Группировки.
Есть такой код:
Код 1C v 8.х
и собственно сам макет

Чего не хватает, чтобы все группировалось по Подразделению?

Yandex
Возможно, вас также заинтересует
E_Migachev 19.01.2012 15:20
Ответ № 1
(0) alex81nzp, сделай проще:
1. скоприруй код запроса
2. зайди в конфигуратор и создай новый отчет
3. Используй конструктор печати
4. в нем укажи этот запрос и вывод в табл документ
5. смотри получившийся код *13
alex81nzp 20.01.2012 09:39
Ответ № 2
Спасибо за подсказку, но результат меня не устроил, фактически получилось тоже самое за исключением вот этого кусочка:
Код 1C v 8.х

Нужно чтобы получилось вот такой структуры (взято из настроек Произвольных отчетов):

Подразделение организации (Иерархия)
Должность, Количество, Ставка

То что формируется через запрос в консоли отчетов меня устраивает, но не устраивает того для кого это делается! Потому и начал рыть в макетах. Ситуация осложняется еще и тем, что справочник подразделений имеет сложную структуру, т.е. например «1 цех» имеет глубину вложений 2, а именно:
Например:
1 цех
— Бухгалтерия
— Служба ИТ
— — Отдел по работе с пользователями
— — Еще какой-нибудь отдел
— — — какая-нибудь группа
и т.д.

в итоге при печати того же Штатного расписания, нужно чтобы в качестве группы шло название Цеха, а внутри вся его структура.
1 цех
— Бухгалтерия
. Бухгалтер, 3 шт., 10000 руб.
— Служба ИТ
— — Отдел по работе с пользователями
. Лоботряс, 10 шт., 5000 руб.
— — Еще какой-нибудь отдел
— — — Какая-нибудь группа
. Бездельник, 1, 3000 руб.

Вот как-то так Вопрос остается открытым Изменено 20.01.12 09:41:18

E_Migachev 20.01.2012 10:41
Ответ № 3
(2) alex81nzp, я правильно понял? — тебе нужено чтобы у каждого внутреннего подразделения ставился отступ больше чем у предудущего?
alex81nzp 23.01.2012 07:02
Ответ № 4
(3) E_Migachev, тут дело не в отступах, попробуйте сделать запрос в консоли отчетов из первого поста, с вот такой настройкой:

Подразделение организации (Иерархия)
Должность, Количество, Ставка

Результат выполнения запроса:

Вот в макете (в области данных) должно быть так же сгруппировано

Поля «Категория персонала» в Вашей конфигурации нет, не обращайте на него внимание.
2 раза 14 цех потому,что так занесено в штатном (в корень цеха)

Наверное так понятнее будет.

E_Migachev 24.01.2012 11:12
Ответ № 5
(4) alex81nzp, все-равно как-то не ясно что хочешь*09, сделай тот же запрос через конструктор и будет то же самое или в СКД.
alex81nzp 24.01.2012 13:42
Ответ № 6
(5) E_Migachev, Простите, самое главное то я и не написал *12

Вся эта каша из-за того что мне в отчет нужно добавить поле, которое вычисляется из содержимого другого поля, причем поле источник — строка из которой нужно брать определенную информацию, языка запросов тут явно не хватит.

Источник

НачатьАвтогруппировкуСтрок() метод ТабличногоДокумента

Скажите, пожалуйста. Почему не получается сгруппировать строки?
Тип значения параметра группировки «Дата».
ТабДок.НачатьАвтогруппировкуСтрок();
Для каждого Строка Из ТЗ Цикл
ОбластьЗаголовок.Параметры.Период = Строка.Период;
ТабДок.Вывести(ОбластьЗаголовок, 1);

ЗаполнитьЗначенияСвойств(ОбластьСтрока.Параметры, Строка);
ТабДок.Вывести(ОбластьСтрока, 2);
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();

(11) А я хочу чтобы, если дата1 = дата2, допустим 1августа и еще раз «выводится» 1августа.

В этом случае, происходит склейка дат (1 уровня), становится одна запись 1августа,
а строка которая идет на (2 уровне), под дата2 (1августа) попадает в подчинение к этой склейке.

Может я чего не догоняю, синтаксис не проверял — но как-то так может быть?

(15) Если свернуть периоды, то данные других колонок исчезнут.
Структура ТЗ такая:

И, если склеить период1 и период2, то значения период1 и период2 исчезнут, т.к. это не числа, верно ведь?

И это не сработает, так как данных нет, чтобы копировать. Только склейка периодов.

Период1+Период2,
Значение1,значение2,значение3
значение1,значение2,значение3

(33) Ну выборка из регистра и в ней цикл по дням, а эти дни берут из периода который указываю я.

В выборке есть строки содержащие, допустим имяживотного, датарождения, сколько ест, сколько пьет и периодичность(через) сколько его нужно кормить и поить.
Допустим, я хочу знать на следующей неделе в какой день и кого кормить и поить и в каком объеме.
Вот мне нужно перебрать всех животных, а на следующей неделе перебрать каждый день и узнать в какой день кормить/поить какое животное с расчетом от датырождения.
Слегка глупо сформулировано, но это чисто в целях примера))

(35) это решаемо в пределах запроса через фокусы вроде генерации цифр и чисел, а уже от них переходить к датам.
вот попробуй такое упражнение для консоли запросов:

параметры:
ДатаСтарта1 12.06.2019 0:00:00
ДатаСтарта2 15.06.2019 0:00:00

Периодичность1 2
Периодичность2 3

ПериодОтбор1 01.07.2019 0:00:00
ПериодОтбор2 31.07.2019 23:59:59

Источник

Не работает «НачатьАвтогруппировкуСтрок» при выводе печатной формы документа

Хотелось бы, чтобы в печатной форме документа реквизит табличной части «статья бюджета»(справочник) выводился полностью со всеми уровнями. Не могу понять как это сделать. Во всех найденных примерах используется запрос, а как то без запроса можно сделать тоже самое? Пробовала вместо «НачатьАвтогруппировкуСтрок» использовать «НачатьГруппуСтрок», тогда в печатной форме появляется плюсик, но группы справочника не выводятся, а плюсиком закрываются просто все выведенные статьи. Понимаю, что то не так делаю, подскажите пожалуйста как правильно.

ТабДок = Новый ТабличныйДокумент;
Макет = Документы.Т_БюджетныйПлан.ПолучитьМакет(«Печать»);
// Заголовок
Область = Макет.ПолучитьОбласть(«Заголовок»);
ТабДок.Вывести(Область);
// Шапка
Шапка = Макет.ПолучитьОбласть(«Шапка»);
Шапка.Параметры.Заполнить(ЭтотОбъект);
ТабДок.Вывести(Шапка);
// ТабЧасть
Область = Макет.ПолучитьОбласть(«ТабЧастьШапка»);
ТабДок.Вывести(Область);
ОбластьТабЧасть = Макет.ПолучитьОбласть(«ТабЧасть»);
ТабДок.НачатьАвтогруппировкуСтрок();
Для Каждого Стр Из ТабЧасть Цикл
ОбластьТабЧасть.Параметры.Заполнить(Стр);
ТабДок.Вывести(ОбластьТабЧасть,Стр.СтатьяБюджета.Уровень(),Стр.СтатьяБюджета.Родитель,Истина);
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.ИтогиСнизу = Истина;
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Показать();

Источник

Интерактивные возможности табличного документа

Табличный документ 1С:Предприятия 8 служит не только для печати документов и отчетов. Он имеет расширенные возможности, которые превращают его в интерактивное средство взаимодействия с пользователем. К таким возможностям относятся:

Стоит заметить, что к интерактивным возможностям табличного документа можно также отнести сводные таблицы и элементы управления, располагающиеся в ячейках, но сейчас мы не будем на них останавливаться, а подробнее рассмотрим вышеперечисленные механизмы.

Расшифровки

Система «1С:Предприятие 8» поддерживает механизм расшифровок (drill-down, drill-through), когда пользователь щелкает на строке или ячейке отчета и получает более детальный отчет, если конечно это предусмотрено программистом.

Расшифровки делятся на стандартные и нестандартные. Стандартные расшифровки обрабатываются системой автоматически и не требуют дополнительных усилий от программиста, например, для документов будет открыта форма документа, а для элементов справочника будет открыта форма элемента. Если справочник редактируется в списке, то курсор будет установлен на текущем элементе в форме списка. Для выполнения нестандартной расшифровки предназначено событие ОбработкаРасшифровки.

Событие «ОбработкаРасшифровки» можно обработать, только если табличный документ помещен в форму как элемент управления, а не открывается в отдельном окне, поскольку это событие существует только у элемента управления «ПолеТабличногоДокумента». Ниже показаны категория свойств «События» элемента управления «ПолеТабличногоДокумента», где назначается процедура-обработчик расшифровки:

Сама процедура «РасшифроватьСтроку» может выглядеть следующим образом (как пример):

Примечание 1. В модуле приложения (аналог глобального модуля в версии 7.7) больше нет события ОбработкаЯчейкиТаблицы. Вся обработка расшифровок должна быть произведена в модуле формы, где располагается элемент управления «ПолеТабличногоДокумента».

Примечание 2. Событие «ОбработкаРасшифровки» возникает при щелчке на ячейке или рисунке, содержащих расшифровку. Не путайте его с событием «Выбор», возникающим для всех ячеек и рисунков при двойном щелчке мыши или нажатии клавиши Enter, причем, сначала возникает событие «Выбор», а потом «ОбработкаРасшифровки».

Группировки

В 1С:Предприятии 8 появилась возможность группировать данные в отчете. Группировки могут быть горизонтальные и вертикальные, тогда слева и сверху появляются специальные маркеры, позволяющие пользователю разворачивать и сворачивать группы, как показано на следующем рисунке:

Самый простой способ добавить группировки в отчет — доверить эту задачу системе, тогда от программиста потребуются минимальные усилия. Необходимо всего лишь применить методы НачатьАвтоГруппировкуСтрок/НачатьАвтоГруппировкуКолонок и ЗакончитьАвтоГруппировкуСтрок/ЗакончитьАвтоГруппировкуКолонок, которые включают режим автоматической группировки строк или колонок соответственно. В этом режиме при вызове методов Вывести (для строк) и Присоединить (для колонок) указываются дополнительные параметры для группировки:

При использовании группировок очень полезно установить свойство ячейки «АвтоОтступ» в какое-нибудь ненулевое значение, например, 5. Тогда система будет автоматически добавлять заданное количество пробелов слева текста ячейки, основываясь на текущем уровне группировки. В результате отчет приобретет удобный внешний вид для отображения иерархии данных.

Следующий пример выводит список товаров с группировками:

Примечания

Ячейки табличного документа могут иметь примечания, тогда в правом верхнем углу ячейки выводится маленький красный треугольник. При наведении курсора мыши на ячейку примечание показывается во всплывающем окне:

Программная установка примечаний реализуется следующим образом:

Обратите внимание, что свойство «Примечание» у объекта «ОбластьЯчеекМакета» является объектом типа «Рисунок», а не простой строкой. Через этот объект можно редактировать внешний вид примечания, шрифт и цвет текста, фон, линии и т.д.

Источник

Читайте также:  Мечевидный отросток грудины сломался
Оцените статью