Меню

1с8 скд вариант настройки



Разбор тестирования 1С:Профессионал и PMP

Вопросы по разным конфигурациям 1С и проектному менеджменту

пятница, 30 марта 2018 г.

Настройки и варианты отчетов на СКД

  1. Тот, который стоит в списке вариантов первым
  2. Тот, у которого установлено свойство вариант по умолчанию
  3. Тот, который определялся первым в процессе создания вариантов

Правильный ответ первый, описание в тексте.

  1. в форме настройки пользовательского элемента можно указать признак того, что элемент является пользовательским
  2. в форме настройки пользовательского элемента включить быстрый доступ в режиме редактирования
  3. добавление осуществляется установкой флажка в свойстве «Использовать»

Правильный ответ первый.

  1. Структура настроек
  2. Параметры
  3. Выбранные поля
  4. Группируемые поля
  5. Сортировка
  6. Все выше перечисленное

Правильный ответ первый. Структура обязательна, все остальной СКД может добавить автоматически, либо оно необязательно в принципе.

  1. В виде таблицы из четырех колонок: «Товар», «Склад», «Количество остаток», «Сумма остаток»
  2. В виде таблицы из трех колонок: «Товар», «Склад», «Количество остаток»
  3. В виде таблицы, количество колонок которой будет зависеть от количества складов, на которых существуют ненулевые остатки
  4. Отчет сформирован не будет

Правильный ответ четвертый — в корневом элементе структуры настроек не стоит галочка, следовательно, данные для вывода не определены.

  1. Будут использованы «Настройки по умолчанию», заданные разработчиком в схеме компоновки данных
  2. Из списка вариантов настроек будет использован вариант, следующий за текущим
  3. Будут использованы пользовательские настройки
  4. Отчет сформирован не будет

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

  1. На левую границу первой секунды даты, указанной в параметре «Период»
  2. На правую границу последней секунды даты, указанной в параметре «Период»
  3. Будут получены актуальные остатки
  4. Будут получены актуальные остатки, если другое значение не задано в параметре системы компоновки данных, созданном на основании имени внешнего параметра, указанного в тексте запроса для параметра «Период» виртуальной таблицы

Правильный ответ четвертый. Галочка «Период» не стоит, то есть пользвательский отбор не задан. В общем случае это означает актуальные остатки, но возможно, параметр периода определен в иной настройке СКД.

  1. На левую границу первой секунды даты, указанной в параметре «Период»
  2. На правую границу последней секунды даты, указанной в параметре «Период»
  3. Будут получены актуальные остатки
  4. Будут получены актуальные остатки, если другое значение не задано в параметре системы компоновки данных, созданном на основании имени внешнего параметра, указанного в тексте запроса для параметра «Период» виртуальной таблицы

Правильный ответ первый — тут явно указан отбор.

Источник

1с8 скд вариант настройки

Войдите как ученик, чтобы получить доступ к материалам школы

Система компоновки данных 1С 8.3 для начинающих: первый отчёт на СКД

Автор уроков и преподаватель школы: Владимир Милькин

Если вы не читали введение к этому модулю — пожалуйста, прочтите его: ссылка.

Готовим рабочее место

Для выполнения уроков вам понадобится 1С 8.3 (не ниже 8.3.13.1644) .

Если у вас уже есть установленная 1С версии 8.3 — используйте её. Если нет — скачайте и установите учебную версию, которую фирма 1С выпускает специально для образовательных целей: ссылка на инструкцию по скачиванию и установке 1С.

На вашем рабочем столе должен появиться вот такой ярлык:

Для всех уроков из этого цикла мы будем использовать подготовленную мной базу данных «Гастроном». Она полностью совпадает с базой, которую мы использовали в четвёртом и пятом модулях школы при изучении запросов. Поэтому я рассчитываю, что вы знакомы с её справочниками и документами.

Если вы её удалили — скачайте заново по следующей ссылке, распакуйте и подключите в список баз.

Наконец, рабочее место настроено и сейчас мы вместе создадим наш первый отчёт при помощи системы компоновки данных. Он будет очень простым, чтобы продемонстрировать общие возможности системы компоновки данных (сокращенно СКД).

Ставим цель

Цель этого урока — создать отчёт, который в режиме пользователя выводит список клиентов со следующими полями:

Отчёт должен быть внешним. Это значит, что он будет создан и настроен в конфигураторе, а затем сохранен в виде отдельного (внешнего) файла на компьютере.

Чтобы сформировать такой отчет в 1С пользователю нужно будет запустить базу в режиме пользователя, открыть этот файл и нажать кнопку «Сформировать».

Поехали!

Создаём отчёт

Запускаем конфигуратор для базы «Гастроном»:

Из главного меню выбираем пункт «Файл»->»Новый. «:

Выбираем «Внешний отчет»:

Создаём схему компоновки данных внутри отчёта

Открылось окно создания внешнего отчёта. В качестве имени вводим: «Урок1«, а затем жмём кнопку «Открыть схему компоновки данных«:

Запустился конструктор создания схемы. Соглашаемся с именем по умолчанию «ОсновнаяСхемаКомпоновкиДанных» и жмём кнопку «Готово«:

Открылось основное рабочее окно, с множеством закладок и полей, в котором мы и будем настраивать нашу схему компоновки данных.

Не нужно пугаться — возможностей здесь действительно много, но далеко не все из них нам нужны. Особенно на первом уроке.

Сейчас мы находимся на закладке «Наборы данных«. На ней и останемся.

Читайте также:  Пульт дорхан для шлагбаума настройка

Пишем запрос через конструктор

Система компоновки данных (сокращенно СКД) требует от нас данные, которые она будет выводить пользователю.

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

Нажимаем на зелёный плюсик и в раскрывшемся списке выбираем пункт «Добавить набор данных — запрос«:

Добавился набор данных с именем «НаборДанных1«, но мы видим, что поле «Запрос» в нижней части окна пока пустое:

Наша задача написать в это поле текст запроса. Вы ещё не забыли как это делается?

В этом запросе мы выбрали три поля («Наименование«, «Пол» и «ЛюбимыйЦвет«) из таблицы «Справочник.Клиенты«.

Но не торопитесь писать этот текст в поле «Запрос» вручную.

Сейчас мы создадим тот же самый запрос визуально, только при помощи мышки. Этот способ называется «Конструктор запроса«.

Чтобы вызвать этот конструктор нажмём кнопку «Конструктор запроса. » в верхней правой части поля «Запрос»:

В открывшемся окне перетащим таблицу «Клиенты» из первого столбца во второй, чтобы указать, что именно из этой таблицы мы будем запрашивать данные:

Получилось вот так:

Далее раскроем таблицу «Клиенты» во втором столбце по знаку «Плюс«, чтобы увидеть все её поля и перетащим поле «Наименование» из второго столбца в третий, чтобы указать, что из этой таблицы нам нужно запрашивать поле «Наименование»:

Получилось вот так:

Поступим точно так же с полями «Пол» и «ЛюбимыйЦвет«. Результат будет таким:

Нажмём кнопку «ОК», чтобы выйти из конструктора запроса и увидим, что текст запроса автоматически добавился в поле «Запрос».

Более того на основании текста запроса 1С сама вытащила имена полей (область выше запроса), которые будут использоваться схемой компоновки данных:

Теперь, когда мы составили запрос, СКД знает каким образом получать данные для отчёта.

Настраиваем представление данных

Осталось как-то визуализировать эти данные для пользователя в виде печатной формы. И вот тут СКД может творить чудеса!

Чтобы сотворить такое чудо перейдём на вкладку «Настройки» и нажмём кнопку конструктора настроек (волшебная палочка):

В открывшемся окне укажем тип отчёта «Список» и нажмём «Далее«:

В следующем окне выберем (путём перетаскивания) поля, которые нужно будет отобразить в списке (перетащим все из доступных нам: «ЛюбимыйЦвет«, «Наименование» и «Пол«):

Получим вот такой результат и нажмём кнопку «ОК«:

Конструктор настроек закрылся и появился пункт «Детальные записи«:

Отчёт готов, давайте же его проверим. Для этого вначале сохраним отчет в виде внешнего файла.

Сохраняем отчёт в виде файла

Откроем пункт главного меню «Файл«->»Сохранить«:

Я сохраню его на рабочий стол под именем «Урок1«:

Проверяем отчёт в режиме пользователя

Наконец, закроем конфигуратор и зайдём в нашу базу в режиме пользователя:

Имя пользователя «Администратор», пароля нет:

Через меню выберем пункт «Файл«->»Открыть. «:

И укажем файл отчёта (я сохранял его на рабочий стол под именем «Урок1.erf»:

Открылась форма отчёта, нажмём кнопку «Сформировать«:

Готово! Вот она наша печатная форма со списком клиентов, их любимым цветом и полом:

Печатную форму можно легко распечатать. Для этого достаточно выбрать в меню пункт «Файл«->»Печать. «:

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

То ли ещё будет, наберитесь терпения

Войдите на сайт как ученик

Авторизуйтесь, чтобы получить доступ ко всем материалам школы

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

На вопросы учеников — отвечаю по почте, но прежде загляните в ЧАВО (ссылка) .

Войдите как ученик, чтобы получить доступ к материалам школы

№1: первый отчёт на СКД

№4: меняем оформление

№5: делаем отбор и сортировку на уровне СКД

Источник

Особенности создания отчетов (1Cv8)

Содержание

Особенности создания отчетов в 1С v8 в режиме толстого клиента

Как сделать выбор варианта?

  • На панель отчета помещаем кнопку «ВыбратьВариант»
  • На форму помещаем поле «НаДату»

Пример кода: Процедура ДействияФормыВыборВарианта(Кнопка) макет = ПолучитьМакет(«ОсновнаяСхемаКомпоновкиДанных»); спВарианты = Новый СписокЗначений; Для каждого вариант из макет.ВариантыНастроек Цикл спВарианты.Добавить(вариант.Настройки, вариант.Представление); КонецЦикла;

выбор = спВарианты.ВыбратьЭлемент(); Если выбор = Неопределено Тогда Возврат; КонецЕсли;

Процедура НаДатуПриИзменении(Элемент) Сформировать(); КонецПроцедуры

Процедура Сформировать() ЭлементыФормы.Результат.Очистить(); КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(«Период», НаДату); СкомпоноватьРезультат(ЭлементыФормы.Результат); КонецПроцедуры

Процедура ПриОткрытии() НаДату = ТекущаяДата(); Сформировать(); КонецПроцедуры

Особенности создания отчетов через СКД

Поэтапное создание отчета

  1. Создать Отчет в узле Отчетов
  2. Создать Макет в отчете, тип которого — Схема компоновки данных
  3. В свойствах отчета установить: Основная схема компоновки данных = Созданный Макет
  4. В свойствах отчета установите подсистему, которой он принадлежит (отчет в Предприятии будет выведен в верхней навигационной панели)
  5. Создать запрос в Макете (пункт: Добавить набор данных — Запрос)
  6. В закладке Параметры у Макета необходимо убрать галочки у всех строк в колонке ОграничениеДоступности — т.е. все параметры будут доступны для редактирования пользователю
  7. В закладке Настройки у Макета необходимо в окне, где выводится узел Отчет, создать новую группировку без указания поля группировки — будет создана детальная строка
  8. В закладке Настройки у Макета, в окне где выводится дополнительный набор закладок, выбрать доп. закладку Параметры — пометить все параметры галочкой и на каждом параметре нажать кнопку Свойства элемента пользовательских настроек, откроется окно настройки параметра, где необходимо поставить галочку — Включать параметр в пользовательские настройки
  9. В закладке Настройки у Макета, в окне где выводится дополнительный набор закладок, выбрать доп. закладку ВыбранныеПоля — там необходимо добавить колонки которые будут выводиться в отчете
  10. Запускайте Предприятие, открывайте отчет, устанавливайте значения параметров, Сформировать (проверьте что выбран Основной вариант формирования отчета)
Читайте также:  Настройка спутниковых антенн душанбе

Как добавить нередактируемый пользователем параметр?

Например, нам нужно установить параметр запроса «Информационная база»

  • В форме макета компоновки на закладке Параметры у нужного параметра снять флаги «Включать в доступные поля» и «Ограничение доступности»

  • В форме макета компоновки на закладке Настройка на подзакладке (внизу) Параметры у нужного параметра снять флаг, открыть свойства (кнопка с гаечным ключом), на этой форме:
    • Снять флаг «Включать в пользовательские настройки»
    • Режим редактирования установить «Недоступный»

  • В модуле формы отчета в обработчике события «ПриЗагрузкеВариантаНаСервере» (можно и ПриОткрытии, но НЕ ПриСозданииНаСервере, т.к. она выполняется ДО загрузки настроек отчета и настройки будут перезаписаны) программно установить параметр:

&НаСервере Процедура ПриЗагрузкеВариантаНаСервере(Настройки)

//Установка параметра Настройки = Отчет.КомпоновщикНастроек.Настройки; Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(«ИнформационнаяБаза», Отчет.ИнформационнаяБаза); КонецПроцедуры

Как задать варианты отчета?

  • В форме макета компоновки на закладке Настройки в поле слева можно создать необходимые варианты отчета

Как задать группировки?

  • В форме макета компоновки на закладке Настройки в поле справа вверху можно создать необходимые группировки

Как программно вывести отчет?

&НаКлиенте Процедура СформироватьОтчетВыполнить()

Как тестировать отчет?

  • Сформировать ситуацию в клиентском тесте — удобнее всего через таблицу ситуации
  • получить форму отчета — форма = ПолучитьФорму(«Отчет.ДвижениеПроцесов.Форма.ФормаОтчета»);
  • загрузить нужный вариант отчета — установить параметр расширения формы отчета «КлючВарианта» (имя настройки в макете компоновки данных)
  • загрузить нужные настройки отчета — ? заполнить параметр расширения формы отчета «ПользовательскиеНастройки» (тип «ПользовательскиеНастройкиКомпоновкиДанных «) так не получилось, все сложно, см. ниже.
  • открыть форму — форма.Открыть()
  • выполнить формирование — форма.СкомпоноватьРезультат();
  • проверить содержимое табличного документа форма.Результат — хорошо бы иметь функции сравнения с эталонной mxl
  • закрыть форму — форма.Закрыть(); — а может быть, можно и не открывать, надо проверить
  • описание: меню Справка/Синтакс-помощник/закладка Содержание/Интерфейсные объекты управляемого приложения/Расширения управляемой формы/Расширение управляемой формы для отчета/Параметры формы

При сложных запросах СКД гораздо удобнее тестировать сам запрос отдельно, в серверных тестах, и только после отладки переносить в макет СКД.

  • проще создавать тестовую ситуацию
  • проще проверять результат
  • быстрее

Но хотя бы один простейший клиентский smoke-тест все равно нужен.

Как загрузить нужные настройки отчета?

В документации описано, что есть такой параметр расширения формы отчета «ПользовательскиеНастройки» типа «ПользовательскиеНастройкиКомпоновкиДанных», но там очень сложная объектная структура, не удалось её использовать.

Реально работающая схема:

1. Создаём в отчете параметры

  • Период типа СтандартныйПериод
  • Отбор типа СписокЗначений (лучше было бы Структура, но её нет в списке типов параметров, как и произвольного типа)

2. В процедуру ПолучитьФорму передаем нужные параметры:

период = Новый СтандартныйПериод; период.Вариант = ВариантСтандартногоПериода.ПроизвольныйПериод; период.ДатаНачала = текущаяДата; период.ДатаОкончания = завтрашняяДата;

отбор = Новый СписокЗначений; отбор.Добавить(Тестирование.ПолучитьОбъект(стСитуация, «БП1»), «БизнесПроцесс»);

стПараметры = Новый Структура(«КлючВарианта,Период,Отбор», «Основной», период, отбор); // ОткрытьФормуМодально(«Отчет.ДвижениеПроцессов.Форма.ФормаОтчета», стПараметры); форма = ПолучитьФорму(«Отчет.ДвижениеПроцессов.Форма.ФормаОтчета», стПараметры);

3. В обработчиках событий формы устанавливаем параметры

&НаСервере Процедура ПриЗагрузкеВариантаНаСервере(Настройки)

Настройки = Отчет.КомпоновщикНастроек.Настройки; Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(«ИнформационнаяБаза», Отчет.ИнформационнаяБаза);

Если Параметры.Период.ДатаОкончания <> ‘00010101’ Тогда Настройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки; УстановитьЗначениеПользовательскойНастройки(Настройки, «Период», Параметры.Период); КонецЕсли;

ссБизнесПроцесс = спПолучить(Параметры.Отбор, «БизнесПроцесс»); Если ссБизнесПроцесс <> Неопределено Тогда УстановитьЗначениеПользовательскогоОтбора(Настройки, «БизнесПроцесс», ссБизнесПроцесс); КонецЕсли;

  • Есть ПараметрыДанных, то есть то что устанавливается в параметры запроса СКД
  • Некоторые из них назначаются в настройке варианта в ПользовательскиеНастройки (в свойтсвах параметра есть флаг «Включить в пользовательские настройки»
  • Даже если при загрузке на сервере в параметры данных загрузить нужные значения, потом открывается форма, в которую автоматически загружаются сохраненные в прошлый раз настройки. Эти настноки при формировании отчета «перебивают» настройки данных
  • В обработчике ПриЗагрузкеПользовательскихНастроекНаСервере передаваемый объект Настройки является копией реальных настроек, поэтому чтобы изменить настройки, которые появятся на форме, надо заполнять объект Отчет.КомпоновщикНастроек.ПользовательскиеНастройки

Как сделать множественные (списком) параметры запроса в СКД?

В запросе нужно использовать выражение «В (&ИмяПараметра)» (см. Логические выражения в языке запросов 1Cv8)

В настройке макета схемы СКД на закладке «Параметры» для этого параметра надо поставить галочку в колонке «Доступен список значений». В этом случае при выборе параметра СКД выдает форму редактирования списка, в которой можно добавить любое значение параметров.

Как сделать отключаемые параметры запроса в СКД?

В запросе СКД надо использовать конструкции, окруженные фигурными скобками «<>«.

Читайте также:  Настройка bind для freebsd

Если галочка в форме отчета (панель быстрой настройки) у соответствующего параметра снята, то эта конструкция убирается из запроса.

Подробнее см. Расширение языка запросов для системы компоновки данных (1Cv8)

Как сделать отчет с разворотом по колонкам?

Для этого в настройке варианта отчета (редактирование макета компоновки данных, закладка «Настройка», поле справа вверху), нужно в качестве первой группировки добавить «Таблица».

После этого в узле «Таблица» появляются ветки «Строки» и «Колонки», куда и добавляются нужные группировки.

Как настроить формат вывода полей?

В редакторе макета компоновки данных на закладке «Наборы данных» в правой верхней области есть список полей отчёта.

Есть две возможности:

  1. Настроить значение колонки «Выражение представления»
    • здесь можно ввести выражение языка, выдающее нужную строку
    • с полям ресурсов это не работает
  2. Настроить значение колонки «Оформление»
    • в оформлении есть свойство «Формат» — это значение, аналогичное параметру функции языка «Формат», можно задать нужный вид
    • преобразование типов здесь не сделать

Для полей ресурсов можно задавать выражения вычисления (закладка «Ресурсы») — например,

для перевода из секунд в часы.

Нужную точность можно задать через «Оформление» поля на закладке «Наборы данных».

Особенности установки параметров системы компоновки данных

Существуют и требуют различной обработки по крайней мере ТРИ вида параметров:

ПараметрыДанных

ПараметрыДанных определяются в запросе (источнике данных) СКД.

Параметры данных передаются в запрос источника данных и определяют извлекаемые данные.

В объекта КомпоновщикНастроек есть специальное свойство для работы с параметрами данных КомпоновщикНастроек.Настройки.ПараметрыДанных

Можно установить вызовом вида

Настройки = Отчет.КомпоновщикНастроек.Настройки; Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(«ИнформационнаяБаза», Отчет.ИнформационнаяБаза);

Отбор

Отборы накладываются на полученные данные после извлечения из источника данных.

В объекта КомпоновщикНастроек есть специальное свойство для работы с отборами КомпоновщикНастроек.Настройки.Отбор.

Например: Настройки = Отчет.КомпоновщикНастроек.Настройки; Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(«ИнформационнаяБаза», Отчет.ИнформационнаяБаза);

Для каждого элемент Из Параметры.Отбор Цикл ЭлементОтбора = Настройки.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»)); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(элемент.Представление); ЭлементОтбора.ПравоеЗначение = элемент.Значение; КонецЦикла;

ПользовательскиеНастройки

Пользовательские настройки определяют данные, которые пользователь может настроить на форме.

Пользовательские настройки могут отображаются на форме в специальной таблице и могут быть вызваны по кнопке «Настройки» и из меню «Все действия».

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

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

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

Удобное место для установки нужных значений — обработчик события «ПриЗагрузкеПользовательскихНастроекНаСервере» расширения формы отчёта.

&НаСервере Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(Настройки)

Если Параметры.Период.ДатаОкончания <> ‘00010101’ Тогда Настройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки; Настройки.Элементы[0].Значение = Параметры.Период; КонецЕсли;

Использование источника данных в виде объекта

Для использования набора данных типа объект нужно передать внешний источник данных методу Инициализировать объекта «Процессор компоновки данных».

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);

ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, Новый Структура(«Данные», ПолучитьДанныеВнешнегоИсточника()), ДанныеРасшифровки);

Простой пример приложен (для работы примера необходимо наличие справочников «Контрагенты» и «Договоры контрагентов»).

Язык выражений системы компоновки данных

Использование нестандартных макетов оформления отчета СКД

Кое-как удалось заставить СКД формировать заголовки группировок.

Непонятная на первый взгляд фишка — то, что в настройках группировок нужно задать «Имя» группировки (через контекстное меню — «Установить имя»), а кроме того это имя группировки надо добавлять в «Детальные записи» а не в групприровки..

В общем, темный лес, не для средних умов..

Вывод разрыва страницы при печати через СКД

Просто вставить в макет разрыв страницы ничего не дало — в результат он не попадает.

Поиск дал информацию что это проблема СКД

Лейбович Максим (1С, Москва)

09.02.2009 09:13 Отвечает на: »»»»

653075 Re: разрыв страницы при выводе отчета средствами сиситемы компоновки данных

Такой возможности нет. Аналогичные пожелания зарегистрированы.

Рекомендуют выводить программно через ВывестиГоризонтальныйРазделительСтраниц.

В новой версии 8.2 в модуле объекта отчета есть обработчик события ПриКомпоновкеРезультата. (Приятная особенность — пример в документации 8.2 написан с ошибками и вообще не работает:)

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Если ЭтотОбъект.ТекущийВариант <> «ПоОрганизациям» И ЭтотОбъект.ТекущийВариант <> «ОстаткиПоОрганизациям» Тогда Возврат; КонецЕсли; СтандартнаяОбработка = Ложь;

Настройки = КомпоновщикНастроек.ПолучитьНастройки(); Параметр = Настройки.ПараметрыДанных.Элементы.Найти(Новый ПараметрКомпоновкиДанных(«Фирма»)); Параметр.Использование = Истина; Параметр.Значение = Строка(ПараметрыСеанса.РабочаяФирма.Организация.ФормаСобственности) + » «»» + Строка(ПараметрыСеанса.РабочаяФирма.Организация) + «»»»;

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,ДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

ДокументРезультат.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ДокументРезультат.АвтоМасштаб = Истина; ПроцессорВывода.УстановитьДокумент(ДокументРезультат);

ПроцессорВывода.НачатьВывод(); Пока Истина Цикл ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных.Следующий(); Если ЭлементРезультатаКомпоновкиДанных = Неопределено Тогда Прервать; КонецЕсли; ПроцессорВывода.ВывестиЭлемент(ЭлементРезультатаКомпоновкиДанных); Если ЭтотОбъект.ТекущийВариант = «ПоОрганизациям» И ЭлементРезультатаКомпоновкиДанных.Макет = «Макет3» Тогда ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц(); ИначеЕсли ЭтотОбъект.ТекущийВариант = «ОстаткиПоОрганизациям» И ЭлементРезультатаКомпоновкиДанных.Макет = «Макет3» Тогда ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; КонецЦикла; ПроцессорВывода.ЗакончитьВывод();

—Павел Лазарев 16:02, 7 сентября 2009 (SAMST)

  • В этом примере если НЕ создать объект ДанныеРасшифровки (как и было в документации 1С), то НЕ вызывается меню расшифровки по умолчанию по клику на ячейке.

Источник

Adblock
detector