Представления в ЗУП

27.04.21

Разработка - Механизмы типовых конфигураций

Использование представлений вместо прямого чтения из регистров сведений в ЗУП.

Скачать файлы

Наименование Файл Версия Размер
Представления в ЗУП:
.epf 31,56Kb
60
.epf 31,56Kb 60 Скачать

Введение:

Один из основных "паттернов"  1С - "Чтение данных из регистров, а не из документов". Структура справочников и регистров считается стабильной, а "правильное" использование регистров рассматривается при подготовке к экзамену "1С:Специалист".
В ЗУП данный паттерн нарушается для регистров сведений. Вместо него разработчикам предоставляют механизм "Представлений".

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

  1. Часто требуется писать один и тот же "большой" запрос, для чтения данных.
    Это приводит к появлению большого количества "дубликатов кода" в запросах.
    При изменении структуры метаданных приходиться переписывать все эти запросы.
  2. Регистры сведений используются нестандартным образом.
    В регистры добавлены ресурсы "ОкончаниеПредположительно", "ДействуетДо", которые требуется учитывать при получении среза последних по регистру. Логика использования таких ресурсов не стандартизирована.

Для решения перечисленных выше проблем в ЗУП появился механизм представлений.
При изучении данного механизма я столкнулся с отсутствием документации по данному механизму аналогичной той которая предоставляется для БСП.

В результате, на этапе изучения продукта загадка "как использовать регистр" заменяется загадкой "как использовать представления". Для решения загадки была создана обработка, в которую помещались ценные знания.
Вся приведенная ниже информация это "догадки на тему загадки" любезно предоставленной разработчиками ЗУП.
Информация может быть неполной, противоречивой и даже ошибочной.

Использование представлений:

Что бы использовать представление необходимо пройти следующие этапы:

  1. Подготовить временную таблицу (ВТ) с исходными данными для которых надо получить "представление".
    Как правило ВТ с исходными данными должна содержать колонку "Период" и колонки соответствующие измерениям регистра, по которым надо получить срез.
  2. Описать колонки, которые требуется получить в результирующей ВТ.
  3. Указать параметры построения представления.

В ЗУП предусмотрены следующие способы работы с "представлениями":

  1. "Пустышки" в СКД
  2. Функции "СоздатьВТ..."

Ниже данные способы описываются подробнее.

"Пустышки в СКД"

Описания результирующей ВТ в СКД производятся путем написания запроса-пустышки.
Пример запроса-пустышки:

ВЫБРАТЬ
    ДАТАВРЕМЯ(1, 1, 1) КАК Период
ПОМЕСТИТЬ Представления_Периоды
ГДЕ
    "НачалоИнтервала" = &ДатаНачала
    И "ОкончаниеИнтервала" = &ДатаОкончания
    И "Периодичность" = "ДЕНЬ"
    И "ИспользоватьКонецПериода" = "ЛОЖЬ"

Для написания такого запроса необходимо знать:

  1. Какие поля допустимо использовать в запросе.
  2. Как должно называться представление (начало имени результирующей ВТ должно начинаться с имени представления).
  3. Какие параметры допустимо передать в секции "ГДЕ".

В обработке "Представления ЗУП" для быстрого написания запросов-пустышек созданы конструкторы, позволяющие создать запрос-пустышку настраивая его "мышкой".

Пример создания запроса-пустышки:


 

 

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

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

Функции "СоздатьВТ..."

При необходимости обратиться к представлению в коде используются функции "СоздатьВТ...".
Последовательность действий будет следующей:

  1. Создать менеджер временных таблиц (МВТ), который будет далее использоваться в цепочке запросов.
  2. Если это необходимо создать в МВТ таблицу, необходимую для построения результирующей ВТ
  3. Выполнить "СоздатьВТ..."
  4. Удалить ВТ, которые не далее не нужны.

Заготовки кода для работы с ВТ генерируются на закладке "Шаблоны кода".

 

 

Послесловие

Обработка предоставляется "как есть". Сложно сказать, будет ли она развиваться далее. Это зависит от того, будет ли у меня существенное количество задач, связанных с ЗУП. Мне эта обработка позволила собрать в кучу знания полученные при изучении механизмов и существенно увеличить скорость написания запросов-пустышек.

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

Надеюсь, что публикация будет полезной. 

Проверялось за ЗУП редакции 3.1 (3.1.14.433).

27.04.2021:

  1. Добавлено представление "КадровыеДанныеФизическихЛиц"
  2. Сформирован список найденных представлений. Располагается на первой странице.
    Доступны для выбора только поддерживаемые обработкой.
  3. Для срезов последних по некоторым регистрам обнаружены "особенности использования".
    Такие регистры выводятся в списке с "!". Под списком отображается описание тех "особенностей" с которыми столкнулся.
    Пример:
     

ЗУП Представления

См. также

Расширяем возможности дополнительных обработок и настраиваем их отладку

БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Уже не одна веб-страница исписана знаниями о дополнительных обработках, как создать, как подключить. Есть масса вариантов, как их можно отладить. Я разобрался в кишках работы библиотеки и покажу, как можно расширить возможности дополнительных отчетов, а также покажу удобный способ отладки.

07.02.2024    2355    YA_418728146    11    

40

Регистры накопления в 1С:КА2 и 1С:ERP для расчета НДФЛ, страховых взносов и взаиморасчетов с сотрудниками на январь 2024 года. Краткое описание

Зарплата Механизмы типовых конфигураций Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет НДФЛ Абонемент ($m)

Для расчета зарплаты и соответствующих налогов в конфигурациях 1С:КА2 и 1С:ERP используется 22 регистра накопления, 7 регистров сведений, 1 регистр расчета и бухгалтерские проводки. В таблице приведены названия этих регистров, указаны основные регистраторы и виды движений приход/расход. В описании приводится краткое функциональное назначение регистров в основных зарплатных процессах. Описание регистров родилось из черновиков при написании различных отчетов и обработок при эксплуатации 1С-овских конфигураций и исправлении ошибок по НДФЛ, взаиморасчетов с сотрудниками и прочих. Информация не претендует на полноценное описание работы регистров, скорее это дискуссионный материал. Но, возможно, кому-то пригодится и сократит время при подготовке отчетности за непростой (в плане учета зарплаты) 2023 год. А возможно, кто-то поделится своим опытом.

1 стартмани

10.01.2024    1026    6    2ncom    3    

8

Шаблоны новых объектов 1С для 1С:Бухгалтерии предприятия

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 1С:Бухгалтерия 3.0 Бесплатно (free)

Используются для создания новых объектов в конфигурации, чтобы не забыть, что нужно сделать. Сделано на примере 1С:Бухгалтерия предприятия, в других конфигурациях могут быть другие, а могут быть и похожие объекты.

28.12.2023    4836    mrXoxot    11    

99

Ключи аналитик учета в ЕРП, КА, УТ

Механизмы типовых конфигураций Платформа 1С v8.3 1С:ERP Управление предприятием 2 Россия Управленческий учет Бесплатно (free)

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

08.11.2023    7073    ids79    25    

74

Распределение по базе среднего в ЗИКГУ 3.1

Зарплата Механизмы типовых конфигураций Платформа 1С v8.3 1С:Зарплата и кадры государственного учреждения 3 Россия Бюджетный учет Абонемент ($m)

Результат расчета начислений (отпуск, БЛ и т.д.) может распределятся по базе среднего заработка. У таких начислений на вкладке "Налоги, взносы, бухучет" стоит галка "По базе среднего заработка". Но бывают случаи, что данное распределение необходимо скорректировать.

1 стартмани

14.09.2023    445    2    Vlx    0    

1

Расширение типового механизма настройки заполнения бухгалтерской отчетности (на примере конфигурации 1С:ERP. Управление холдингом 3.1.8.15)

Механизмы типовых конфигураций Платформа 1С v8.3 1С:Управление холдингом 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

В статье приведен алгоритм доработок типового механизма настройки заполнения бухгалтерской отчетности на примере конфигурации 1С:ERP. Управление холдингом (3.1.8.15). Цель доработок - сделать процесс настроек более гибким и удобным для пользователей

11.09.2023    1931    ICL-Soft    3    

12

Разбор механизма "Настройки полей формы" в 1С:ERP. Управление холдингом

Механизмы типовых конфигураций Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

В данной статье я постараюсь разобрать механизм, который Вам может встретиться на просторах типовой конфигурации 1С:ERP. Управление холдингом. Я не могу гарантировать, что этот механизм не исключат из следующих версий конфигурации (как, собственно, и любой другой). К сожалению, мне не удалось найти его ни в одном модуле конфигурации "Библиотеки стандартных подсистем". Мне он показался интересным, и захотелось более детально во всем этом разобраться.

18.07.2023    2160    it_box    1    

7

Работа с контактной информацией. Часть 2

Механизмы типовых конфигураций Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

05.06.2023    6965    biimmap    4    

41
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ubnkfl 15.04.21 13:27 Сейчас в теме
В дополнение к статье.
https://its.1c.ru/db/metod81#content:7329:hdoc

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

Для подготовки текста запроса, необходимо:

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

В ознакомительных целях предоставлена возможность посмотреть каким запросом к данным будет заменен запрос-представление при выполнении отчета. Для этого необходимо перейти по гиперссылке "Показать 'Настоящий' запрос", расположенной внизу формы.

Внешняя обработка ПредставленияИспользуемыеВЗапросахНаборовДанныхСКДОтчетов.epf находится в каталоге \1CITS\EXE\HRM3
Показать
Прикрепленные файлы:
ПредставленияИспользуемыеВЗапросахНаборовДанныхСКДОтчетов.epf
1c_ssnik; AlbinaAAA; vakrikun; Strannik777; olen_ka; lepth; user1485342; VinnieThePOOH; ~Ponk@~; ixijixi; VAAngelov; Aftee; triviumfan; Kaval88; German_Tagil; asupsam; sanjabor; user_2010; +18 Ответить
2. Aftee 15.04.21 17:15 Сейчас в теме
Вот прочитает человек Вашу статью, даже получится сгенерить "пустышку". А дальше он с ней что будет делать? Ну вставит в СКД, ну получит пустой результат.
Распишите про процедуры, выполняющие заполнение наборов данных.
3. tschertovKA 15.04.21 20:19 Сейчас в теме
(2) Возможно вы не обратили внимание на предложение:
Для использования запросов-пустышек в отчетах необходимо заменить пустышки на фактически выполняемые запросы.
Заготовка кода, который для этого необходим есть в шаблонах кода (см. "Поиск шаблонов кода").

Там пока что есть только один шаблон кода, как раз тот, который надо для разработки собственного внешнего отчета с использованием в СКД запросов-пустышек.
AliceLight; +1 Ответить
4. Aftee 16.04.21 08:35 Сейчас в теме
(3) Ну да, не заметил. Хотелось бы поглядеть какой там шаблон для отчета. Приведете пример?
6. Sakuraso 16.04.21 09:26 Сейчас в теме
(4) Можно посмотреть в любом типовом отчете в ЗУП.
Выглядит примерно так:
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ОбработчикиСобытий

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	ЗарплатаКадрыОтчеты.ПриКомпоновкеРезультатаВТабличныйДокумент(
		ЭтотОбъект, ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка, Ложь);
	
КонецПроцедуры

#КонецОбласти


#Область СлужебныеПроцедурыИФункции

Процедура ИнициализироватьОтчет() Экспорт
	
	ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета(ЭтотОбъект);
	
КонецПроцедуры

// Для общей формы "Форма отчета" подсистемы "Варианты отчетов".
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
	
	Настройки.События.ПередЗагрузкойНастроекВКомпоновщик = Истина;
	
КонецПроцедуры

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

#КонецОбласти

#Иначе
ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
#КонецЕсли
Показать
AliceLight; Noobmaster69; user1592156; +3 Ответить
8. Aftee 16.04.21 11:37 Сейчас в теме
(6) ну и нафига мне обработка за 5 SM, если я могу код посмотреть в
в любом типовом отчете в ЗУП
?
1c_ssnik; VinnieThePOOH; +2 Ответить
12. dock 44 19.04.21 10:51 Сейчас в теме
(8) что бы поддержать автора, у которого явная нехватка sm :))))
1c_ssnik; +1 Ответить
5. Yashazz 4709 16.04.21 09:25 Сейчас в теме
Браво! Хоть кто-то рискнул в эту муть полезть и разобраться. Плюсую!
7. Aftee 16.04.21 11:35 Сейчас в теме
(5) Это давным-давно уже разобрано. Обработка "валяется" в открытом доступе (ее и тут прикрепили в (1)).
Есть более подробное описание механизма представлений от других авторов.

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

Яков, я Вас не узнаю...
1c_ssnik; dock; triviumfan; +3 Ответить
9. Gladkov_Anton 324 16.04.21 15:58 Сейчас в теме
(7) Если вам кажется, что 5 SM это большие деньги, в связи с тем, что инфостарт их не продает любому желающему по текущему курсу - то думаю, что вопрос о ценности SM лучше направить в поддержку сайта.

На момент написания статьи о существовании типовой обработки я не знал.
Всю информацию по этому механизму капал из первоисточника.
Моя обработка содержит существенно больше информации.

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

Обновление в ближайшее время выложу и конечно отравлю тем, кто уже купил.

Если вы хотите сделать людям добро - предлагаю простой вариант:
Допиливаете в обработку примерно столько же сколько уже в ней сделано.
Список представлений в ЗУП намного больше тех, которые уже есть в обработке, можно приложить пояснения как пользоваться и добавить еще шаблонов кода.
Я со своей стороны выложу все это в свободный доступ, например на Git.

В противном случае ваши нападки выглядят не более чем как треп о жадности капиталистов...
amiralnar; EugeneMaliy; ubnkfl; +3 1 Ответить
10. Aftee 16.04.21 16:15 Сейчас в теме
(9)
Если вам кажется, что 5 SM это большие деньги
- Нет, не кажется.

Но
Обработка предоставляется "как есть". Сложно сказать, будет ли она развиваться далее.

+ (1) + приправить двумя типовыми процедурами по заполнению "пустышек"

Если вам кажется, что 5 SM это большие деньги
- да, кажется, учитывая вышеперечисленное.

Хозяин Барин, как говорится
1c_ssnik; VinnieThePOOH; +2 Ответить
11. Yashazz 4709 16.04.21 17:57 Сейчас в теме
(7) а я плохо разбираюсь в ЗУП. Не мой профиль. Я больше по УТ/БП, КА, производству, ну и платформе.
Ясно, спасибо за инфу. Убираю свой голос.
13. webester 26 25.07.22 09:52 Сейчас в теме
Обработка прекрасная. Шаблоны кода немного кривоваты, но пригодились. Сама обработка намного функциональнее, и удобнее чем типовая. Пользуюсь ей в приоритете перед типовой. Но автор забил на обновления. Это грусть. В списке есть и другие интересные представления. Может и дойдут руки когда-то посмотреть на них самостоятельно.
AliceLight; +1 Ответить
Оставьте свое сообщение