Новости экономики и финансов. Курсы валют, ситуация на биржах, акции, котировки, аналитика: 💫 💫 💫 💫 💫 читайте на сайте

1C Скд не Передан Служебный Параметр Настройки Отчета • Настройка расшифровки

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

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Теперь осталось только указать ресурсы компоновки, настроить выходную форму, указать отборы здесь мы подробно расписывать не будем, — предполагаем, что читатель знает как это делается. Объектная Схема компоновки данных в 1С 8. х Обращайтесь в форму связи

Отчеты, СКД, построитель

Размещаем на форме отчета поле выбора «ПолеВыбораВарианта». В модуль формы добавляем:

Для автоматического формирования отчета на СКД при открытии его формы надо добавить в модуль формы в процедуру ПриСозданииНаСервере:

а для автоматического формирования из команды надо добавить в модуль команды в процедуру ОбработкаКоманды:

Что бы избежать запроса на сохранение варианта отчета при его закрытии надо в клиентскую процедуру ПередЗакрытием вставить:

Стандартный период в СКД 1С 8.3, 8.2

Программное формирование отчета на СКД и изменение выводимой формы

Отчет на СКД можно сформировать программно в процедуре «ПриКомпоновкеРезультата()» модуля отчета:

Программный вывод отчета и расшифровки к нему

ДанныеРасшифровкиОтчета — это переменная модуля формы отчета (то, что объявляется через ключевое слово Перем). ЭлементыФормы.Результат — Результат это имя табличного документа куда выводится отчет.

На табличном документе идет в обработчики событий и делаем обработчик на событие ОбработкаРасшифровки. Процедура обработчик будет иметь вид похожий на это:

Результат работы этого когда: двойной клик на любой ячейке ссылочного типа производит открытие этого элемента. Будь то документ, элемент справочника или ещё что-нибудь.

Все так же идем в обработчики события поля табличного документа и устанавливаем обработчик на ОбработкаРасшифровки:

Вместо выводов: если вы хотите открывать ссылочные типы, тогда какой вариант использовать — дело ваше. Преимущество первого над вторым, я вижу, только в компактности и универсальности кода. Как насчет быстродействия, например, я не мерял. Но если же вам нужно получить результат расшифровки и как-то его обработать дополнительно — вы можете воспользоваться вариантом №2.

При программном выводе отчета возможно вмешаться в выводимою форму. В примере ниже показано добавление наименования Родителя (/Родитель/) к тексту выводимого поля Номенклатура:

При программном формировании отчета можно добавить свою область шапки или подвала в формируемый отчет:

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

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Common_all: priemyraboty: reports 1С Предприятие WIKI Обращайтесь в форму связи

Комментарии

Спасибо огромное за статью и прикреплённый пример. Очень помогло в работе.

Спасибо — просто спасли. Только у меня Период не видит в модуле

Какую часть дохода тратите на еду?
До 50%Больше 50%

положила все в модуль Объекта(база ЗиК 3), в СКД в Параметры добавила «Период» =стандартный период,НачалоПериода=&Период.ДатаНачала ; КонецПериода.. Не видит здесь Период и все..

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) экспорт

СтандартнаяОбработка = Ложь;
//ДанныеПечати = ПолучитьИзВременногоХранилища(Адр);
Запрос = Новый Запрос;
Запрос.Текст ;

//Запрос.УстановитьПараметр(«НачалоПериода», Период.ДатаНачала);
//Запрос.УстановитьПараметр(«КонецПериода», Период.ДатаОкончания);
НачалоПериода=Дата(«01.11.2016 00:00:00»); ;

Запрос.УстановитьПараметр(«НачалоПериода», НачалоПериода);
Запрос.УстановитьПараметр(«КонецПериода», КонецПериода);
Запрос.УстановитьПараметр(«СовмПроф», «Доплата за совм. проф. (4)»);

//Если СовмещСотрудник.Пустой() тогда
// //Сообщить(«В ЭТОЙ ГРУППЕ НЕТ КОНТРАГЕНТОВ » );
//конецесли;

Запрос = Новый Запрос;
Запрос.Текст ;
ффф= Перечисления.ГруппыНачисленияУдержанияВыплаты.Начислено ;
//Запрос.УстановитьПараметр(«НачалоПериода», Период.ДатаНачала);
//Запрос.УстановитьПараметр(«КонецПериода», Период.ДатаОкончания);
Запрос.УстановитьПараметр(«НачалоПериода», НачалоПериода);
Запрос.УстановитьПараметр(«КонецПериода»,КонецПериода);

ПланВидовРЕЗ= РезультатПакета[6].Выгрузить();
ПланВидовРЕЗ.сортировать(«ПланВидовРасчетаНаименование»);

СотрРез = РезультатПакета[9].Выгрузить();
ДанныеПечати = РезультатПакета[10].Выгрузить(); //окончательный итог Сотрудник

//начисл_Сотр_подр = РезультатПакета[9].Выгрузить();
//начисл_Сотр_подр.сортировать(«Группа»);
//РезультатЗапроса.сортировать(«Группа,СпрОтрВБух_ВидДеятельности,ВидДеятельностиНАШ»);
ДанныеПечати.сортировать(«Сотрудник»);
ДанныеПечати.Колонки.Добавить(«ПодразделенияРодитель», Новый ОписаниеТипов(«строка»));
ДанныеПечати.Колонки.Добавить(«ВидДеятельностиНаш», Новый ОписаниеТипов(«строка»));

Если МассивНайденныеСтроки.Количество() > 0 Тогда
Для Каждого Ст Из МассивНайденныеСтроки Цикл
Стр.ВидДеятельностиНаш = Ст.СовмещСпособОтражения;
Если Ст.СовмещПодразделениеКуда = NULL Тогда
Счет =»»;
СубСчет =»»;
ПодразделениеСпрОтр =»»;
ВидДеятельностиСпрОтр =»»;
резЗапр = 0;

//Из схемы возьмем настройки по умолчанию
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

//Помещаем в переменную данные о расшифровке данных
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

//Формируем макет, с помощью компоновщика макета
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

Горящие товары с бесплатной доставкой
 «AliExpress Россия» работает отдельно от глобального «AliExpress» принадлежащего Alibaba. Он не зависит от мировых банковских систем и не попал под санкционный список со стороны США и Великобритании. Из Китая соответственно тоже можно заказывать ничего не опасаясь.

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

Статья: Работа с внешними наборами данных в СКД | Новичок 1С

Работа с внешними наборами данных в СКД

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

1.2. На закладке «Наборы данных» добавляем набор данных — объект.

1.3. Добавляем необходимые поля набора данных (достаточно указать Поле) и указываем Имя объекта, содержащего данные.

1.4. Если в СКД есть другие наборы данных (например, Запрос), то создаём связи наборов данных на закладке «Связи наборов данных».

2.1. В модуле объекта отчёта создаём процедуру-обработчик ПриКомпоновкеРезультата.

2.2. В процедуре ПриКомпоновкеРезультата отключаем стандартную обработку.

2.3. Формируем таблицу значений произвольным образом. Имена колонок таблицы значений должны совпадать с полями набора данных в СКД (п.1.3).

2.6. Помещаем данные о расшифровке в соответствующую переменную.

2.8. Передаём в макет компоновки схему, настройки и данные расшифровки.

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

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

Тип: Структура.
Ключ структуры соответствует имени внешнего набора данных. Значение структуры — внешнему набору данных.

Тип: ДанныеРасшифровкиКомпоновкиДанных.
Объект, в котором нужно заполнить данные расшифровки. Если не указан, то расшифровка заполняться не будет.

Тип: Булево.
Указывает возможность использования функции общих модулей конфигурации в выражениях компоновки данных.
Значение по умолчанию: Ложь.

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

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Функция ПолучитьЗапросыНаборов — Возвращает структура запросов всех наборов данных с применными настройками и значениям параметров компоновщика. Мои заметки по 1с: Программный вывод отчета и установка настроек Обращайтесь в форму связи

Стандартный период в 1С СКД (8.3/8.2)

Вы, наверное, встречали, что в некоторых отчетах нет привычного выбора НачалаПериода и КонцаПериода. А есть только одно поле, где можно выбрать значение «Сегодня», «Эта неделя», Этот месяц» и так далее. Называется это в системе СКД 1С «Стандартный период». Действительно, это иногда удобно, ведь редко когда нужны отчеты за полдня или за 14 дней и 32 минуты.

Но здесь возникает вопрос, как же нам передать параметры &НачалаПериода и &КонцаПериода в запрос, а на форме чтобы был виден только один «стандартный период».

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

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

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания — попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

РегистрНакопления.СвободныеОстатки.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК СвободныеОстаткиОбороты

Теперь займемся параметрами. Кроме стандартных НачалоПериода и КонецПериода, которые мы указали в запросе, добавим еще параметр «СтандартныйПериод» и присвоим ему тип «СтандартныйПериод». А в колонке «Выражение» для параметров НачалоПериода и КонецПериода пропишем следующие выражения:

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

Теперь зайдем в закладку «Настройки» и для параметра «СтандартныйПериод» сделаем следующее:

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

Следует заметить, что при выборе стандартного периода конечная дата всегда будет 23:59:59 (включая последнюю секунду).

Скачать получившийся отчет для 1С Управление торговлей 11.2 можно по ссылке.

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Пример использования внешнего источника данных в СКД: Статьи и материалы.

💥Принимайте участие в опросе и получайте бесплатную консультацию

Related posts

Добавить комментарий

*