Введение в механизм представлений в ЗУП ред. 3

Публикация № 841337

Разработка - Практика программирования

Представления_ ЗУП ред. 3 ЗУП 3.0 ЗУП 3.1 механизм представлений ЗапросВТ СоздатьВТ

В нашей организации на первом же телефонном собеседовании на должность разработчика по ЗУП ред. 3 вас обязательно спросят о том, что такое "Представления".
    В ЗУП ред. 3 появился полезный механизм выборки данных и основанный на нём механизм помещения этих данных в СКД, называемый (условно) механизм представлений. В основном, но необязательно, этим механизмом выбираются данные периодических регистров сведений. Суть его сводится к тому, что вы не пишите запросы к объектам ИБ (всё равно мало кто умеет это делать), а это за вас делают процедуры, написанные программистами 1С. Вы же должны правильно вызвать эти процедуры или описать обращение к представлению запроса в СКД.
 
    Главное достоинство этого механизма, конечно, не то, что не надо писать запросы. Главное в нём то, что ваш код отвязан от структуры конфигурации - об этом заботится 1С. Если в типовой конфигурации что-то изменится в структуре, то ваш код не надо будет менять. Также это функционально правильно, так как данные зачастую данные хранятся в нескольких объектах. То есть просто выбрать данные из некого регистра некорректно, а "механизм" собирает данные со всех причастных регистров. Также не надо помнить о событиях с датой окончания или то, что кадровая история хранится со сдвигом в секундах и т.п. Предполагается, что механизм обойдет все эти подводные камни. 

 

    Например, чтобы с "т.з. учета в ЗУП" получить правильные данные о плановых начислениях, надо сделать выборку не только из РС.ПлановыеНачисления, но также из РС.ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников и РС.ПлановыйФОТ. А чтобы получить кадровые данные сотрудников, механизмом извлекаются данные из более чем дюжины регистров.

    
    Для иллюстрации работы "механизма" рассмотрим срез последних из периодического регистра сведений, этому посвящены несколько общих модулей ЗарплатаКадрыПериодическиеРегистры. Наверно, вы знаете, что виртуальную таблицу периодического регистра сведений СрезПоследних
ВЫБРАТЬ
	ФизическоеЛицо,
	ОтношениеКВоинскойОбязанности
ИЗ
	РегистрСведений.ВоинскийУчет.СрезПоследних(&Дата, ФизическоеЛицо В (&ФизическиеЛица))

платформа заменяет на запрос вида

ВЫБРАТЬ
	T1.ФизическоеЛицо КАК ФизическоеЛицо,
	T1.ОтношениеКВоинскойОбязанности КАК ОтношениеКВоинскойОбязанности
ИЗ
	(ВЫБРАТЬ
		T4.ФизическоеЛицо КАК ФизическоеЛицо,
		T4.ОтношениеКВоинскойОбязанности КАК ОтношениеКВоинскойОбязанности
	ИЗ
		(ВЫБРАТЬ
			T3.ФизическоеЛицо КАК ФизическоеЛицо,
			МАКСИМУМ(T3.Период) КАК МаксПериод
		ИЗ
			РегистрСведений.ВоинскийУчет КАК T3
		ГДЕ
			T3.Период <= &Дата
			И T3.ФизическоеЛицо В(&ФизическиеЛица)
		
		СГРУППИРОВАТЬ ПО
			T3.ФизическоеЛицо) КАК T2
			ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ВоинскийУчет КАК T4
			ПО T2.ФизическоеЛицо = T4.ФизическоеЛицо
				И T2.МаксПериод = T4.Период) КАК T1

Этот запрос точно не будет эффективным при наличии в регистре 1 млн записей. Быстрее выполнится запрос с выделением максимальных периодов во временную таблицу

ВЫБРАТЬ
	T3.ФизическоеЛицо КАК ФизическоеЛицо,
	МАКСИМУМ(T3.Период) КАК МаксПериод
ПОМЕСТИТЬ ВТМаксПериоды
ИЗ
	РегистрСведений.ВоинскийУчет КАК T3
ГДЕ
	T3.Период <= &Дата
	И T3.ФизическоеЛицо В(&ФизическиеЛица)

СГРУППИРОВАТЬ ПО
	T3.ФизическоеЛицо
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	T4.ФизическоеЛицо КАК ФизическоеЛицо,
	T4.ОтношениеКВоинскойОбязанности КАК ОтношениеКВоинскойОбязанности
ИЗ
	ВТМаксПериоды КАК T2
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ВоинскийУчет КАК T4
		ПО T2.ФизическоеЛицо = T4.ФизическоеЛицо
			И T2.МаксПериод = T4.Период

 

    И механизм сформирует примерно такой же запрос. Еще раз обращаю внимание: платформа генерирует заведомо неэффективный запрос, программисты 1С используют обходной манёвр (хех, на тему обходных маневров можете поискать как собираются базы начислений и удержаний). Для получения запроса понадобится временная таблица-фильтр по физическим лицам. Она должна обязательно содержать два поля: ФизическоеЛицо и Период. Причем поле Период может быть заполнено разными значениями. Для примера сделаем фильтр из таблицы значений

Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ
|	ФизическиеЛица.ФизическоеЛицо КАК ФизическоеЛицо,
|	ФизическиеЛица.Период КАК Период
|ПОМЕСТИТЬ ВТФизическиеЛица
|ИЗ
|	&ФизическиеЛица КАК ФизическиеЛица";
Запрос.УстановитьПараметр("ФизическиеЛица", ФизическиеЛицаТаблица);

ОписаниеФильтра = ЗарплатаКадрыПериодическиеРегистры.ОписаниеФильтраДляСоздатьВТИмяРегистра("ВТФизическиеЛица", "ФизическоеЛицо");
ТолькоРазрешенные = Истина;
СрезПоследних = Истина;
ЗапросСреза = ЗарплатаКадрыПериодическиеРегистры.ЗапросВТИмяРегистраСрез("ВоинскийУчет", ТолькоРазрешенные, ОписаниеФильтра, , СрезПоследних, "ВТВоинскийУчет");

ЗарплатаКадрыОбщиеНаборыДанных.ОбъединитьЗапросы(Запрос, ЗапросСреза);

Запрос.Выполнить();

    В менеджере временных таблиц мы получим искомый срез в ВТВоинскийУчет. Если поковыряться в параметрах процедур, то вы обнаружите, что, например, поля ФизическоеЛицо и Период можно переобозначить (описывая эти и другие подробности, я никогда не закончу писать статью).

 

    Но опять о преимуществах механизма. 1С придумали т.н. "интервальные" регистры сведений. Это своего рода программно реализуемая "виртуальная таблица", в которую помещаются периоды действия регистрируемых событий. Получение среза последних при наличии такого регистра сводится к одному соединению фильтра с таблицей регистра, то есть выполняется заведомо быстрее. Для РС.ГрафикРаботыСотрудников, у которого уже есть интервальный регистр, результат вызова ЗапросВТИмяРегистраСрез вернет следующий запрос

 
ВЫБРАТЬ
	Сотрудники.Сотрудник КАК Сотрудник,
	Сотрудники.Период КАК Период
ПОМЕСТИТЬ ВТСотрудники
ИЗ
	&Сотрудники КАК Сотрудники
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ИзмеренияДаты.Период КАК Период,
	РегистрСведений.ДействуетДо КАК ПериодВозвратногоСобытия,
	ВЫБОР
		КОГДА РегистрСведений.ПериодЗаписи = РегистрСведений.ДатаНачала
			ТОГДА ЛОЖЬ
		ИНАЧЕ ИСТИНА
	КОНЕЦ КАК ЭтоВозвратноеСобытие,
	РегистрСведений.РегистраторСобытия КАК Регистратор,
	ИзмеренияДаты.Сотрудник КАК Сотрудник,
	РегистрСведений.ДатаОкончания КАК ДатаОкончания,
	РегистрСведений.ДатаНачала КАК ДатаНачала,
	РегистрСведений.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
	РегистрСведений.ПериодЗаписи КАК ПериодЗаписи,
	РегистрСведений.Год КАК Год,
	РегистрСведений.ПериодПредыдущейЗаписи КАК ПериодПредыдущейЗаписи,
	РегистрСведений.ГрафикРаботы КАК ГрафикРаботы,
	РегистрСведений.РегистраторЗаписи КАК РегистраторЗаписи,
	РегистрСведений.РегистраторСобытия КАК РегистраторСобытия,
	РегистрСведений.ПустойИнтервал КАК ПустойИнтервал
ПОМЕСТИТЬ ВТГрафикРаботыСотрудников
{ВЫБРАТЬ
	Период,
	ПериодВозвратногоСобытия,
	Регистратор,
	Сотрудник,
	ДатаОкончания,
	ДатаНачала,
	ГоловнаяОрганизация,
	ПериодЗаписи,
	Год,
	ПериодПредыдущейЗаписи,
	ГрафикРаботы,
	РегистраторЗаписи,
	РегистраторСобытия,
	ПустойИнтервал}
ИЗ
	ВТСотрудники КАК ИзмеренияДаты
		{ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикРаботыСотрудниковИнтервальный КАК РегистрСведений
		ПО (РегистрСведений.ДатаНачала <= КОНЕЦПЕРИОДА(ВЫБОР
					КОГДА ИзмеренияДаты.Период = ДАТАВРЕМЯ(1, 1, 1)
						ТОГДА ДАТАВРЕМЯ(3999, 12, 31, 23, 59, 59)
					ИНАЧЕ ИзмеренияДаты.Период
				КОНЕЦ, ДЕНЬ))
			И (РегистрСведений.ДатаОкончания >= КОНЕЦПЕРИОДА(ВЫБОР
					КОГДА ИзмеренияДаты.Период = ДАТАВРЕМЯ(1, 1, 1)
						ТОГДА ДАТАВРЕМЯ(3999, 12, 31, 23, 59, 59)
					ИНАЧЕ ИзмеренияДаты.Период
				КОНЕЦ, ДЕНЬ))
			И (РегистрСведений.Сотрудник = ИзмеренияДаты.Сотрудник)}
ГДЕ
	ИСТИНА
{ГДЕ
	РегистрСведений.Сотрудник.*}

 

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

    Можно вместо запроса получить сразу ВТ. Соответственно, в параметре-менеджере временных таблиц уже должна быть готова ВТСотрудники

ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистраСрезПоследних(
	"ГрафикРаботыСотрудников",
	Запрос.МенеджерВременныхТаблиц,
	Истина,
	ЗарплатаКадрыОбщиеНаборыДанных.ОписаниеФильтраДляСоздатьВТИмяРегистра("ВТСотрудники", "Сотрудник"),
	,
	"ВТГрафикРаботыСотрудниковСрезПоследних");

 

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

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

    Также можно получить записи регистра. Это делается при помощи функций в общем модуле ЗарплатаКадрыПериодическиеРегистры: ЗапросВТИмяРегистра, СоздатьВТИмяРегистра.

 

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

 - ЗарплатаКадрыОбщиеНаборыДанныхРасширенный.ПолучитьЗапросПоПредставлению,

 - ЗарплатаКадрыОбщиеНаборыДанныхБазовый.ПолучитьЗапросПоПредставлению.

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

    Приведу ещё примеры использования некоторых из них. Например, данные учета времени и состояний сотрудников - таким образом вы получите ВТ с видом рабочего времени сотрудников на каждый день периода. Здесь при в сборе данных помимо регистров сведений участвуют и регистры накопления. Опять же, идейный смысл такого получения данных в том, что будут учтены отклонения, табели, индивидуальные графики и т.п.

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

    Пример "двухступенчатой" выборки данных: сначала получаем кадровые данные, затем на их основании данные штатного расписания (ВТСотрудники должны быть подготовлены в МенеджерВременныхТаблиц). При этом, например, вам не надо думать, используется ли история изменения штатного расписания или нет. (Пример исправлен для 3.1.6.54)

ОписательВременныхТаблиц = КадровыйУчет.ОписательВременныхТаблицДляСоздатьВТКадровыеДанныеСотрудников(
    МенеджерВременныхТаблиц,
    "ВТСотрудники");
КадровыйУчет.СоздатьВТКадровыеДанныеСотрудников(ОписательВременныхТаблиц, Истина, "ДолжностьПоШтатномуРасписанию,ВидЗанятости");

ПараметрыПостроенияВТПозицииШтатногоРасписания = УправлениеШтатнымРасписанием.ПараметрыПостроенияВТШтатноеРасписаниеПоТаблицеФильтра("ВТКадровыеДанныеСотрудников");
ПараметрыПостроенияВТПозицииШтатногоРасписания.ИмяПоляПозицияШтатногоРасписания = "ДолжностьПоШтатномуРасписанию";

ИменаСведений = Неопределено; // в переменной можно указать строкой конкретные поля: "ОкладТариф, НадбавкаЗаВредностьРазмер"

УправлениеШтатнымРасписанием.СоздатьВТПозицииШтатногоРасписанияПоВременнойТаблице(
	МенеджерВременныхТаблиц, Истина, ПараметрыПостроенияВТПозицииШтатногоРасписания, ИменаСведений);

 

    Ну а причем здесь представления? Начнем с того, что представления запросов используются в СКД. Вы указываете в запросе, что надо выбрать из таблицы-представления, в событие ПриКомпоновкеДанных вставляете процедуру ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета(ЭтотОбъект) и, вуаля, вместо представления запроса появляются несколько ВТ, помещенные в ваш запрос, правильно собирающие данные из базы. Пример для среза последних - получение графика работы на дату для штатных сотрудников

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка) КАК Сотрудник,
	ЗНАЧЕНИЕ(Справочник.ГрафикиРаботыСотрудников.ПустаяСсылка) КАК ГрафикРаботы
ПОМЕСТИТЬ Представления_СрезПоследних_ГрафикРаботыСотрудников
ИЗ
	ВТСотрудники КАК ВТСотрудники
ГДЕ
	"ТолькоРазрешенные" = ИСТИНА
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	Представления_СрезПоследних_ГрафикРаботыСотрудников.Сотрудник КАК Сотрудник,
	Представления_СрезПоследних_ГрафикРаботыСотрудников.ГрафикРаботы КАК ГрафикРаботы
ИЗ
	Представления_СрезПоследних_ГрафикРаботыСотрудников КАК Представления_СрезПоследних_ГрафикРаботыСотрудников

    Пример для "предопределенного" представления я бы привел для специфической таблицы Периоды

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	Представления_Периоды.Период КАК Период
ИЗ
	Представления_Периоды КАК Представления_Периоды

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

 

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

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. NoRazum 28 05.06.18 00:36 Сейчас в теме
ЗУП 3 - кактус

хоть много полезных механизмов. которые "ВСЕМ" нужны
jif; Трактор; van_za; user642047_ziborov.roman; haereticus; +5 Ответить
2. Lapitskiy 983 05.06.18 04:03 Сейчас в теме
Правильнее было бы назвать статью "Как писать запросы для ЗУП"
А то "представления".... что это? Я бы растерялся, спроси меня вот так по телефону с утра :)
Хотя опыта в Зиках и Зупах у меня лет 15 примерно..
nekit_rdx; m_aster; Mnemonik; Max27; asupsam; artfa; Трактор; Orlando Skibraves; pavlov_dv; baton_pk; Artem-B; Kesak; Yakud3a; andreich_ru; user642047_ziborov.roman; Tolpinski; cdrw3; jONES1979; haereticus; +19 Ответить
11. xrrg 226 05.06.18 09:28 Сейчас в теме
(2) я и говорю: название условное. но те, с кем я общался и кто в теме, когда речь идет о вышеизложенном, первым делом произносят слово "представления".
3. haereticus 05.06.18 06:35 Сейчас в теме
Не используйте для проверки релиз 3.1.6.54 - ребята в нём что-то сломали(

Эти ребята теперь постоянно чего-то ломают в ЗУП, уже всем боязно ставить новые обновления. Я так понимаю, они начали путаться в собственном говнокоде, что как видно из статьи теперь не мудрено.
nekit_rdx; Dimasik2007; o.nikolaev; Krio2; bulpi; vpaoli; m_aster; gazpromsera; Famza; user_2010; bestsader; ASDF2; d4rkmesa; petrov_al; Max27; oninfostart; Rus_Tiger; accounting_cons; nofear; asupsam; MishaD; DmitrySinichnikov; artfa; Lukich66; rintik; SanchoD; ccserg; lexus1981; uri1978; корум; kolya_tlt; ram3; Yakov52; sergathome; el-gamberro; Dmitri93; A7758735; rusmil; user642047_ziborov.roman; cdrw3; jONES1979; +41 Ответить
12. xrrg 226 05.06.18 09:29 Сейчас в теме
(3) мне кажется, я возвёл поклёп на релиз. на работе в этом релизе работает, дома - нет.
16. sergathome 05.06.18 11:22 Сейчас в теме
(3) +1. Ребята вместо того, чтобы научить платформу не формировать говнозапросы, понаписали обходного говнокода, в котором и потонули нафик. Моща !
nekit_rdx; Krio2; bulpi; gazpromsera; user_2010; user597231_DNorov; bestsader; oninfostart; Rus_Tiger; haereticus; +10 Ответить
37. DmitrySinichnikov 228 06.06.18 14:46 Сейчас в теме
(16) И самое главное, что "представления" теперь не работают. Точнее работают, но частично, то одно поле не дадут, то другое, а в итоге возникает необходимость либо переписывать полностью запрос, что бы вытащить необходимые данные либо строить запрос сбоку, в конце получения данных по представлению. Как итог - все минусы нафиг ушли, к конце привязан, запросы строить надо, учитывая кучу обходов и достроение сбоку производительность тоже утонула... Молодцы! Все в стиле 1С)))
ilyaleontyev; d4rkmesa; mysm; Rus_Tiger; uri1978; mai_k; haereticus; +7 Ответить
50. Rustig 1609 08.06.18 15:47 Сейчас в теме
(37) "фасад на фасаде"
...тут на ИС поднималась недавно околонаучная "фасадная" тема - так вот очень похожий фасад соорудили в ЗУПе
70. strange2007 143 14.08.18 11:32 Сейчас в теме
(3) Всё прекрасно работает и даже сложный учёт ложится нормально. Зачем уж так обзываетесь то?
4. TODD22 18 05.06.18 06:45 Сейчас в теме
В нашей организации на первом же телефонном собеседовании на должность разработчика по ЗУП ред. 3 вас обязательно спросят о том, что такое "Представления".

И если он не знает про "представления" то его не возьмут на работу?
7. jONES1979 05.06.18 07:43 Сейчас в теме
...и это может даже будет к лучшему
Krio2; AlenaR; strange2007; user604724_Woolf_12; Dach; Rustig; DmitrySinichnikov; sergathome; +8 1 Ответить
52. Rustig 1609 08.06.18 15:54 Сейчас в теме
(0) тема интересная, только вот акцент вы сделали на исключительности ваших компетенций ЗУПа некорректно для кандидатов - мол, не знаешь представления, ты не с нами...
13. xrrg 226 05.06.18 09:33 Сейчас в теме
(4) вполне возможно возьмут, но это повлияет на зарплатные притязания претендента. я пока не видел зарплатчиков, которые знают исключително ЗУП 3. все имеют какой-то багаж знаний из 2.5 считается, что такие люди быстрее освоят новую конфу. вот и я такой.
15. el-gamberro 56 05.06.18 11:04 Сейчас в теме
(13) Я работаю и знаю исключительно ЗУП 3.1

Если 1С родили такие Представления, то с ужасом ожидаю что они родят для секционирования (partition) регистров накопления :))
Krio2; VVi3ard; user811769; haereticus; d4rkmesa; DmitrySinichnikov; +6 Ответить
51. Rustig 1609 08.06.18 15:48 Сейчас в теме
(4) и ему повезет, что не возьмут...
идти в организацию, где за годы работы станешь магистром зуповских представлений - та еще перспектива
Krio2; borjohn; jONES1979; haereticus; +4 Ответить
5. SmArtist 80 05.06.18 06:47 Сейчас в теме
пришлось с этим разобраться и использовать, ибо при очередном обновлении баз ЗУП перестали работать мои отчеты на скд. Причина - разработчики поменяли структуру хранения кадровых данных сотрудников. Советую это применять.
JohnyDeath; d4rkmesa; Rustig; корум; sergathome; xrrg; +6 Ответить
17. sergathome 05.06.18 11:24 Сейчас в теме
(5) конечно, деваться-то некуда с подводной лодки. я вообще забил на собственные запросы в этом Г, пользуюсь "программными интерфейсами". медленно, неудобно, но есть надежда, что годок они эти "интерфейсы" не тронут...
6. TODD22 18 05.06.18 06:57 Сейчас в теме
Об использовании представлений в СКД больше расскажет конфигурация. Так что смотрите в ПолучитьЗапросПоПредставлению и пользуйтесь глобальным поиском, не забывая ставить флажок в Макеты.

Релиз 3.1.6.6 пробую поискать глобальным поиском. Поставил галочки искать в "модулях" и "макетах", но находит только общие модули. Макетов в выдаче поиска нет. Что я делаю не так?
Где ещё можно посмотреть как работает этот механизм?
9. Serj1C 479 05.06.18 08:15 Сейчас в теме
10. TODD22 18 05.06.18 08:16 Сейчас в теме
(9)Да, но уже после того как комментарий написал :)
14. xrrg 226 05.06.18 09:37 Сейчас в теме
(6) в макетах ищите "Представления_"
8. ADirks 184 05.06.18 08:11 Сейчас в теме
Глядишь, так и нормальные SQL-представления (т.е. view) когда-нибудь изобретут.
А так, приём полезный. Громадная простыня запроса режется на логически цельные куски, что для восприятия радикально проще.

например, первое попавшееся

|FROM
| ("+оЗапрос.Отступ(тзп_ЗаявкиСвернуто(оЗапрос), 2)+"
| ) Заявки
|
| "+оДопРекв.тзп_Джойн("СклПрог", "Заявки.Заявка", "СкладскаяПрограмма")+"
|
| LEFT JOIN ("+тзп_КомментарийПроизводства(оЗапрос)+") Коммент ON Коммент.идДок13 = Заявки.идЗадание13
|
| LEFT JOIN спрКонтрагенты Контрагенты ON Контрагенты.ID = Заявки.Контрагент
|
| LEFT JOIN ("+тзп_РезервПоЗаявке()+") Резерв ON Резерв.идЗаявка13 = Заявки.Заявка
| LEFT JOIN ("+тзп_СводныеЗадания()+") СвЗадания ON СвЗадания.идЗадание13 = Заявки.идЗадание13

может развернуться строк на сто в итоге, а так вот глядишь - и понятно более-менее
18. Yakov52 05.06.18 12:23 Сейчас в теме
Спасибо за проделанную работу!

Но что-то мне подсказывает, что проблемы бы не было, если бы у продукта была четкая изначально продуманная линия развития, я не так давно посчитал, текущая типовая версия конфигурации ЗУП содержит около 1000 объектов и реквизитов с припиской "Удалить"! Продукту уже лет 5, а функционал так и не стабилизировался, снова имеем две параллельные ветки (к слову, выбрать из которых невозможно, т.к. нет информации о том какой функционал будет пилиться в "продвинутой" версии по сравнению с консервативной). Мы, конечно, привыкли к роли бета-тестеров у 1С, но не так же, блин, долго оставаться в бете...

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

Извините, надо было выговориться.
nekit_rdx; o.nikolaev; Krio2; vdscom; onx1; user_2010; Naked; AlenaR; ram3; Max27; mysm; Rus_Tiger; jONES1979; Rustig; Brawler; nofear; asupsam; DmitrySinichnikov; rintik; ccserg; mikl79; haereticus; rusmil; uri1978; корум; Tolpinski; donkey; +27 Ответить
19. xrrg 226 05.06.18 13:07 Сейчас в теме
(18) не знаешь сам - научи другого)
20. oleganatolievich 05.06.18 22:38 Сейчас в теме
спасибо за проделанную работу.
превратилось все в какую-то дичь. в ЗУП 2.5 было проще, а сейчас - сколько времени надо тратить чтобы разобраться как получить список сотрудников на дату? я разобрался, но на элементарные вещи уходит по 2 часа.
Krio2; alenka1c; cdrw3; Rustig; asupsam; корум; mikl79; +7 Ответить
23. xrrg 226 05.06.18 23:49 Сейчас в теме
(20) см. СКД в Отчет.ОтчетыПоСотрудникам с учетом отбора
31. xrrg 226 06.06.18 11:50 Сейчас в теме
(20) появилась идея поинтереснее. это представление еще не используется в СКД, но, видимо, будет

ВЫБРАТЬ
	ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка) КАК Сотрудник
ПОМЕСТИТЬ Представления_СотрудникиОрганизации
ГДЕ
	"Организация" = &Организация
	И "ОкончаниеПериода" = &Период
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Представления_СотрудникиОрганизации.Сотрудник КАК Сотрудник
ИЗ
	Представления_СотрудникиОрганизации КАК Представления_СотрудникиОрганизации
Показать


еще есть параметры Подразделение, ОтбиратьПоГоловнойОрганизации, НачалоПериода и отобрать по списку физических лиц
32. oleganatolievich 06.06.18 11:56 Сейчас в теме
(31) а чем их не устроила схема запроса или тот же построитель запроса? зачем программно лепить текст запроса? насколько я помню, сами же разработчики платформы написали, что схемазапроса для того и создана была, чтобы программно сделать конструирование запроса красиво.
33. xrrg 226 06.06.18 12:12 Сейчас в теме
(32) не знаю. вот сделают красиво, а мы-то даже об этом не узнаем.
48. Brawler 477 07.06.18 18:38 Сейчас в теме
(32) нечитаемо вообще все будет тогда и неосмысливаемо
53. Rustig 1609 08.06.18 16:00 Сейчас в теме
(31) в УТ 10.3 для механизма RLS используются Шаблоны - что-то очень похожее на концепцию представлений - костыль на собственные механизмы платформы и конфигурации.
Не прижилось..... то же самое будущее ждет ваши представления - нагромождения-нагромождения
59. xrrg 226 09.06.18 10:30 Сейчас в теме
(53) не знаком с УТ. речь идет о шаблонах ограничений в ролях или это какие-то объекты конкретно конфигурации УТ?
61. Rustig 1609 09.06.18 20:53 Сейчас в теме
(59) да, я имел в виду шаблоны ограничений в ролях
71. strange2007 143 14.08.18 11:37 Сейчас в теме
(20) Это оно?
КадровыйУчет.ФизическиеЛицаРаботавшиеВОрганизации
или это?
КадровыйУчет.СотрудникиОрганизации(Истина, СтруктураПараметров);
21. nicxxx 239 05.06.18 23:12 Сейчас в теме
Есть сомнения относительно среза последних. Время почти одинаковое. Выигрыш всего 12%, да и то, еще надо уточнять - я только 1 раз запускал замеры.
Прикрепленные файлы:
42. xrrg 226 06.06.18 21:34 Сейчас в теме
(21)
(39)
не знаю насколько "чистыми" будут данные эксперимента на обычном, несколько устаревшем, локальном компе с Win 7 и MS SQL Server 2008 R2. в пустую базу перетащил общий модуль ЗарплатаКадрыОбщиеНаборыДанных (+39 причастных модулей, 1 справочник и 2 регистра сведений).
имеем справочник 100 тыс элементов. эти элементы имеют статусы в регистре сведений ~600 тыс штук. эксперимент проводил обработкой, которая формирует выборочно какое-то количество элементов справочника, помещает их в таблицу значений, добавляя произвольный период. далее запускаем запрос среза как в платформе (не сам СрезПоследних, а то, как он платформа формирует его на SQL) и ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистраСрезПоследних. итого: разница ~100 мс против ~200 мс в пользу СоздатьВТИмяРегистраСрезПоследних.
43. xrrg 226 06.06.18 22:47 Сейчас в теме
(42)
какое-то количество = 1000. с увеличением выборки элементов разница становится заметнее.
и да, я сам так же отнёсся к этой информации, оттого и проверял.
22. nicxxx 239 05.06.18 23:18 Сейчас в теме
Внезапно :)
Прикрепленные файлы:
24. dmitryO 06.06.18 08:56 Сейчас в теме
вся проблема называется так: разработчики платформы не смогли(не захотели / не поняли зачем это) реализовать хранимые процедуры в запросах.
а в ЗУП вот этим всем как-раз и делается попытка на высоком уровне добавить то, чего нет на низком.
скверно, конечно
25. ADirks 184 06.06.18 09:00 Сейчас в теме
(24) примерно так же, как в БСП полиморфизм запилен
аж смотреть страшно
Rustig; sergathome; +2 Ответить
26. zqzq 21 06.06.18 09:22 Сейчас в теме
ЗУП-ом не пользуюсь, но идея вполне логичная в контексте исключения дублирования кода запросов и инкапсуляции деталей реализации на метаданных (а оптимизация запросов это скорее бонус). Практически идея глобальных функций структурного программирования в контексте языка запросов.

Другое дело, во всём мире для этого применяются View (уже десятки лет), а тут какие-то костыли 1С-ные как всегда... Если подумать, вполне можно на уровне платформы добавить ветку метаданных view и там описывать ВТ, по аналогии с внешними источниками данных.
Dimasik2007; ZhiharevDmitriy; Rustig; asupsam; Brawler; корум; Yakov52; +7 Ответить
27. ccserg 39 06.06.18 09:57 Сейчас в теме
не хватает простого примера как это использовать , слишком отрывистый код
Stref75; корум; romanova.direct; +3 Ответить
28. Lukich66 82 06.06.18 10:13 Сейчас в теме
ЗиУПом пользуюсь, но считаю ошибочным решение о прекращении поддержки 2.5 и безвыборным принуждением к переходу на 3х б/учета полного отсутствия взаимодействия 3х с бух 2.0, упп и т.д. и т.п. Первые 3х попытки вообще не "привлекали" ,а последние только подтверждают тендеции восприятия первых

Добавлю,что в последних версиях ЗиУП 2.5(126,127) изменен текст запроса по формированию РасчетаПоказателей_РСВ_2017_кв1 в общем модуле РегламентированнаяОтчетность, что привело к возникновению
ошибки по задвоению сумм выплат по ФСС (р.1прил.3 РСВ)у работников, которые имели кадровое перемещение и б/л в одном отчетном периоде.

И вот как с этим жить?
54. Rustig 1609 08.06.18 16:06 Сейчас в теме
(28) жаловаться, придумать решение (обойти проблему и заработать на этом), информировать других - главное не мириться и не сдаваться :)
Rus_Tiger; +1 Ответить
29. Трактор 1206 06.06.18 11:22 Сейчас в теме
одно из них все еще называется ФизЛицо вместо принятого ныне ФизическоеЛицо

Автор, ты, я смотрю, в теме. Открой секрет. Зачем?!! Зачем переименовывают реквизиты, измерения?
Как говорят в армии "Лучше безобразно, но однообразно." Ну назвали ФизЛицо, ну пусть так и живёт. Или 1С так создаёт работу программистам? Я что-то написал, клиент пользует, и после обновления мои наработки перестают работать. Потому что вместо ФизЛицо теперь надо писать ФизическоеЛицо. Кому от этого лучше? Точно не мне и не клиенту. Да и 1С тоже не лучше.
Накипело.
alex-l19041; dad68; Rus_Tiger; Rustig; Yakov52; foliage; mai_k; +7 Ответить
36. xrrg 226 06.06.18 12:59 Сейчас в теме
(29) ФизЛицо - это против их же (1С) стандартов наименования переменных/реквизитов и т.п.
а в целом знаю, что ЗУП 3 разрабатывался без оглядки на ЗУП 2.5
хотя, что касается, к примеру, структуры регистров по НДФЛ доходы и расчеты, в ЗУП 3 по сравнению с ЗУП 2.5 изменились как раз только наименования)
Трактор; +1 Ответить
55. Rustig 1609 08.06.18 16:10 Сейчас в теме
(29) согласен, что иногда качество типовых ЦФшников огорчает - встречал к примеру назовут реквизит документа так "Основание", тип Строковый.... а в обработчике ОбработкаЗаполнения() служебный параметр как раз так и называется....
30. Vovan1975 13 06.06.18 11:34 Сейчас в теме
не расстраивайтесь,в бухии 3.0 это тоже есть
34. mixsture 06.06.18 12:21 Сейчас в теме
Имхо, должно быть так:
Есть версия 3.1.6 - вот как в ней первоначально назвали реквизиты - так они теперь и живут. Срок поддержки конфы условно 3 года.
Все изменения реквизитов (т.е. несовместимость на уровне хранения данных) - только при переходе к 3.1.7.

И после этого все понимают, что написанные доработки живут 3 года, потом требуют корректировки и живут еще 3 года.
-----
P.S. Если 1с так небрежно относится к переименованию реквизитов, т.е. к обратной совместимости, то кто гарантирует, что завтра 1с также не изменит "представления"?
35. Vovan1975 13 06.06.18 12:57 Сейчас в теме
(34) так они и сделаны чтобы безбашенно менять потроха, а разработчику, используя их, будет фиолетово что там как называется и в какой таблице живет.
41. mixsture 06.06.18 19:01 Сейчас в теме
(35)
чтобы безбашенно менять потроха, а разработчику, используя их, будет фиолетово что там как называется и в какой таблице живет.


Это решение:
1) тяжелое (куча кода, сложно даже описать это в статье. Поэтому автор пишет "не буду описывать как переименовать поля в выборке, иначе статья бесконечная выйдет")
2) отключает конструктор запроса
3) не гарантирует, что и эти функции представлений не поменяются.
что мешает 1с также завтра переставить параметры или назвать по-другому функции обращения к представлениям? Они делают так с реквизитами, делают так с функциями в БСП - не вижу большого отличия.


Тут, имхо, проблема в головах у 1с - в жизненном цикле как самого продукта, так и сторонних доработок к ним. Это больше управленческая проблема и такие проблемы плохо решаются одной лишь автоматизацией. Выходит навороченно, дорого и неудобно. Хотя достаточно было определиться с периодами заморозки изменений в хранении данных.
bugtester; d4rkmesa; Tolpinski; Rustig; sergathome; Brawler; +6 Ответить
44. xrrg 226 07.06.18 12:05 Сейчас в теме
(41)
1. я уже столько новшеств пережил, что это всего лишь еще одно.
2. да, отлаживать запросы стало сложнее.
3. в 3.0.25.65 были, и сейчас есть. на курсах об этом учат, а на экзамене спрашивают.

мда, обновляю 3.1.3 на последний релиз и вижу, что ребята "ушли" ВТПозицииШтатногоРасписания. bastards!
57. Rustig 1609 08.06.18 16:14 Сейчас в теме
(44) они на нас и зарабатывают - курсы проводят - добровольно-принудительно
56. Rustig 1609 08.06.18 16:13 Сейчас в теме
(34) у каждой доработки есть свой начальник... это как во всех бедах России винить президента, так же в проблемах ЗУПа ссылаться на фирму 1С.... знать бы кому жаловаться...
user774630; +1 Ответить
38. firma111 06.06.18 15:22 Сейчас в теме
Жесть ... И без того в типовых портянках черт ногу сломит, теперь еще труднее будет разбираться, где, что, откуда..
foliage; Трактор; +2 Ответить
39. VZyryanov 06.06.18 16:10 Сейчас в теме
Голословные и, возможно, неверные утверждения:
"Этот запрос точно не будет эффективным при наличии в регистре 1 млн записей", "платформа генерирует заведомо неэффективный запрос".
user774630; Brawler; +2 Ответить
40. gendal 3 06.06.18 17:26 Сейчас в теме
Почему заявили о прекращении поддержки ЗУП 2.5? ЗУП 3 еще достаточно сырая, в которой постоянно что-то правят, 2.5 в этом отношении гораздо лучше, что подтверждают и пользователи, воротящие нос от ЗУП 3
67. Brawler 477 22.07.18 17:30 Сейчас в теме
(40) Ну как бы ЗУП 3.Х давно более или менее стабильно работает, а вот то обстоятельство, что эта конфигурация развивается, вносит некие ошибки в ее код.
Все привыкли работать на ЗУП 2.5, к ошибкам и нюансам в которой привыкли, ведь ничего не менялось много лет! Стабильность, а тут ЗУП 3.Х 1С пилит и пилит, всякие плюшки новые и глюки, что-то чинит, что-то ломает.
Все это движение и идет оно в лучшую сторону я думаю!!!
45. nofear 27 07.06.18 12:39 Сейчас в теме
Коллеги, хотелось бы задать вопрос, насколько плотно рассматривается данная тема на курсе от 1С "Конфигурирование подсистем расчета зарплаты и управления персоналом в прикладных решениях для "1С:Предприятия 8" ? Есть ли там хорошие, правильные примеры?
user1235208; +1 Ответить
46. Vyatcheslav 19 07.06.18 13:15 Сейчас в теме
перешли за зуп 2.5 корп с профа в 1кв. и радуемся жизни. Есть одна база небольшая на 3.1, все подтвержается, тормоза, глюки и т.д., видно, что сырая. Может к 2019-ому допилят более-менее, когда народ с ЗиК 7.7 будет перелазить на 3.1
Tolpinski; Rustig; +2 Ответить
47. xrrg 226 07.06.18 13:57 Сейчас в теме
(46) а вы, напр, запустите отчет о среднесписочной численности в 2.5 и 3.1
58. Rustig 1609 08.06.18 16:17 Сейчас в теме
(47) как-то не убедительно парируете... он вам про всю конфу, а вы про один отчет... в целом-то что лучше?
60. xrrg 226 09.06.18 10:32 Сейчас в теме
(58) отчеты быстрее формируются в 3.1
я на это намекал
62. eashabalin 19.06.18 16:27 Сейчас в теме
А может кто подсказать КадровыйУчет.СоздатьВТКадровыеДанныеСотрудников() есть параметр ФормироватьСПериодичностьДень, как мне подготовить таблицу сотрудников чтобы охватить период с по ? Интересует момент смены графика за период. Спасибо.
63. xrrg 226 19.06.18 23:23 Сейчас в теме
(62)
вряд ли КадровыеДанныеСотрудников помогут. в описателе ВТ можно только период (среза) указать. данные о графиках собираются в КадровыйУчетРасширенный.ЗапросВТСведенияОГрафикахРаботы и там можно увидеть получение среза последних.
если интересует именно смена графика за период, то надо пользоваться либо получением записей СоздатьВТИмяРегистра, либо получением "периодов":
ОписаниеФильтраПолученияГрафиков = ЗарплатаКадрыПериодическиеРегистры.ОписаниеФильтраДляСоздатьВТИмяРегистра("ВТСотрудники", "Сотрудник");

ЗарплатаКадрыПериодическиеРегистры.СоздатьВТИмяРегистраПериоды(
	"ГрафикРаботыСотрудников", 
	Запрос.МенеджерВременныхТаблиц, 
	Истина, 
	ОписаниеФильтраПолученияГрафиков);

в Запрос.МенеджерВременныхТаблиц должна содержаться ВТСотрудники с полями Сотрудник, ДатаНачала, ДатаОкончания.
Созинов; eashabalin; +2 Ответить
64. eashabalin 20.06.18 12:40 Сейчас в теме
(63) Я пока единственное сделал то, что в ВТСотрудники добавил все даты периода. Но просела скорость выполнения. Как вернусь попробую посмотреть. Денис, а кроме как самому шишки набивать, есть где подробнее узнать про ВТСоздать и в целом методологию работы со всем этим? Ещё раз спасибо за статью.
65. xrrg 226 20.06.18 18:17 Сейчас в теме
(64)
наверно, я неправильно понял то, что требуется
ОписаниеФильтра = ЗарплатаКадрыПериодическиеРегистры.ОписаниеФильтраДляСоздатьВТИмяРегистра("ВТСотрудники", "Сотрудник");
ЗапросГрафиков = ЗарплатаКадрыПериодическиеРегистры.ЗапросВТПериодыИмяРегистра("ГрафикРаботыСотрудников", Истина, ОписаниеФильтра);

ЗарплатаКадрыОбщиеНаборыДанных.ОбъединитьЗапросы(Запрос, ЗапросГрафиков);

ЗапросПериоды = ЗарплатаКадрыОбщиеНаборыДанных.ЗапросВТПериоды(
	ДатаМин,
	ДатаМакс,
	"ДЕНЬ",
	,
	"ВТПериоды");
	
ЗарплатаКадрыОбщиеНаборыДанных.ОбъединитьЗапросы(Запрос, ЗапросПериоды);

ЗапросСоединение = Новый Запрос(
"ВЫБРАТЬ
|	ВТГрафикРаботыСотрудниковПериоды.Сотрудник,
|	ВТГрафикРаботыСотрудниковПериоды.ГрафикРаботы КАК ГрафикРаботы,
|	ВТПериоды.Период КАК Период
|ПОМЕСТИТЬ ВТДействиеГрафиков
|ИЗ
|	ВТГрафикРаботыСотрудниковПериоды КАК ВТГрафикРаботыСотрудниковПериоды
|		ЛЕВОЕ СОЕДИНЕНИЕ ВТПериоды КАК ВТПериоды
|		ПО (ВТПериоды.Период МЕЖДУ ВТГрафикРаботыСотрудниковПериоды.НачалоПериода И ВТГрафикРаботыСотрудниковПериоды.КонецПериода)");

ЗарплатаКадрыОбщиеНаборыДанных.ОбъединитьЗапросы(Запрос, ЗапросСоединение);
Показать


а про методологию приходится писать самому :)
cinderella_tyumen; IV@N; +2 Ответить
66. eashabalin 22.06.18 12:03 Сейчас в теме
(65) Так и есть мой вариант в лоб просаживает систему при больших табелях. Поэтому возвращаюсь к вопросу и к вашему ответу. Как будет результат, отпишусь здесь. @Денис ещё раз спасибо!
68. bestsader 22 27.07.18 06:20 Сейчас в теме
Отлаживать код и искать ошибки теперь в разы сложнее. Спасибо, чего уж там.
69. triviumfan 24 10.08.18 00:20 Сейчас в теме
Сколько негодующих... на на вопрос, зачем вообще снимать ЗУП с полной поддержки кто-нибудь задавался?
Ломают они его уже много лет, ведь ни для кого не секрет. Тогда зачем, собственно, это? Доработки по ЗУП давно сводятся "на нет".
73. strange2007 143 14.08.18 11:41 Сейчас в теме
(69) Есть. Когда конфигурацию дорабатывается без изменений, то лучше снимать полностью, чтобы в памяти 2 копии конфы не хранилось
72. strange2007 143 14.08.18 11:40 Сейчас в теме
А разве в ЗУПе данные не при помощи универсальных методов надо получать? Разрабы меняют структуры, а методы как работали так и работают без изменений. Зачем какие-то запросы сложные писать?
74. nofear 27 07.12.18 14:39 Сейчас в теме
Статья очень полезная!
Коллеги, может кто подскажет, как получить готовую ВТ, содержащую актуальных сотрудников по физ.лицам?
Вот такой есть вариант:

ПараметрыПолученияСотрудников = КадровыйУчет.ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛи­ц();
ПараметрыПолученияСотрудников.Организация = Организация;

ПараметрыПолученияСотрудников.НачалоПериода = НачалоПериода;
ПараметрыПолученияСотрудников.ОкончаниеПериода = КонецПериода;

Не подходит тем, что у меня есть ТЗ с колонкой физ.лиц и начало периода у всех сотрудников может быть разным.
75. xrrg 226 07.12.18 16:53 Сейчас в теме
(74)
Попробуйте КадровыйУчет.ОсновныеСотрудникиФизическихЛиц(...). Существует соответствующий регистр РС.ОсновныеСотрудникиФизическихЛиц
76. nofear 27 07.12.18 17:08 Сейчас в теме
77. nofear 27 07.12.18 17:52 Сейчас в теме
Попытался сделать так:

ОписаниеФильтра = ЗарплатаКадрыПериодическиеРегистры.ОписаниеФильтраДляСоздатьВТИмяРегистра("ВТ_ДанныеДокументов", "ФизическоеЛицо, Организация");
ТолькоРазрешенные = Истина;
ЗапросСреза = ЗарплатаКадрыПериодическиеРегистры.ЗапросВТИмяРегистра("ОсновныеСотрудникиФизическихЛиц", ТолькоРазрешенные, ОписаниеФильтра,,"ВТСотрудникиФизическихЛиц");
ЗарплатаКадрыОбщиеНаборыДанных.ОбъединитьЗапросы(Запрос, ЗапросСреза);
Запрос.Выполнить();

Не получилось, регистр ОсновныеСотрудникиФизическихЛиц - непериодический.
78. nofear 27 07.12.18 17:54 Сейчас в теме
Можно, конечно, вытащить сам запрос и не учитывать период. Но хотелось бы правильный способ.
79. xrrg 226 07.12.18 18:55 Сейчас в теме
(78)
в регистре хранятся текущие данные. если надо в привязке к периоду, то, по моему мнению, следует воспользоваться алгоритмом вычисления этого сотрудника при записи в этот регистр.
80. nofear 27 10.12.18 09:27 Сейчас в теме
81. freemaestro 2 15.05.19 08:34 Сейчас в теме
Прочитал статью. Интересно, полезная методика.

Проанализировал процедуры и функции из примеров, приведенных в статье.

Из них, только 2 метода:

ЗарплатаКадрыПериодическиеРегистры.ОписаниеФильтраДляСоздатьВТИмяРегистра
ЗарплатаКадрыПериодическиеРегистры.ЗапросВТИмяРегистр

находятся в области
#Область ПрограммныйИнтерфейс.

Остальные методы:

ЗарплатаКадрыОбщиеНаборыДанных.ОбъединитьЗапросы
ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистраСрезПоследних
ЗарплатаКадрыОбщиеНаборыДанных.ПараметрыПостроенияДляСоздатьВТИмяРегистраСрез
ЗарплатаКадрыОбщиеНаборыДанных.ДобавитьВКоллекциюОтбор
ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета
ЗарплатаКадрыОбщиеНаборыДанныхБазовый.ПолучитьЗапросПоПредставлению.
ЗарплатаКадрыОбщиеНаборыДанныхРасширенный.ПолучитьЗапросПоПредставлению
УчетРабочегоВремениРасширенный.ПараметрыДляЗапросВТДанныеУчетаВремениИСостоянийСотрудников
УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаВремениИСостоянийСотрудников
КадровыйУчет.ОписательВременныхТаблицДляСоздатьВТКадровыеДанныеСотруднико­в
КадровыйУчет.СоздатьВТКадровыеДанныеСотрудников
УправлениеШтатнымРасписанием.ПараметрыПостроенияВТШтатноеРасписаниеПоТаблицеФильтра
УправлениеШтатнымРасписанием.СоздатьВТПозицииШтатногоРасписанияПоВременнойТаблице

находятся в так называемых служебных областях общих модулей.

Фирма 1С дает некую гарантию, что в следующих релизах не поменяются только методы,
расположенные в областях #Область ПрограммныйИнтерфейс.

Всё, что находится в других секциях - при обновлении может быть изменено фирмой 1С.
Так что если пользоваться этими методами - их надо постоянно держать на контроле,
быть готовым переделать свой код.
82. xrrg 226 24.05.19 11:36 Сейчас в теме
(81)
Согласен, придется следить. Меня, как я писал, сильно волнует корректное получение данных с т.з. функционала ЗУПа.

Вызов из программного интерфейса

ПараметрыПолучения = КадровыйУчет.ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц();
ПараметрыПолучения.Организация = Организация;
ПараметрыПолучения.НачалоПериода = НачалоМесяца(Период);
ПараметрыПолучения.ОкончаниеПериода = КонецМесяца(Период);
ПараметрыПолучения.Вставить("КадровыеДанные", "Подразделение");
ТаблицаСотрудников = КадровыйУчет.СотрудникиОрганизации(Истина, ПараметрыПолучения);
83. garik79 01.07.19 15:15 Сейчас в теме
Добрый день.
Не было у кого-нибудь задачи получить данные об изменениях графиков и должностей вместе за заданный период. Сотрудник в течении месяца через Кадровые переводы меняют графики работы, подразделения (должности). Необходимо в один отчет все это получить. Отдельно ВТ с графиками работ и кадровые данные по периодам получаю, может есть типовая функция, которая все вместе позволит получить? Заранее всем спасибо.
user1235208; +1 Ответить
84. cinderella_tyumen 07.07.20 21:17 Сейчас в теме
Спасибо за статью! Можно узнать что делает
ЗарплатаКадрыПериодическиеРегистры.ЗапросВТПериодыИмяРегистра(...) ?
85. xrrg 226 09.07.20 23:14 Сейчас в теме
(84)
Упрощает разработку и дальнейшую поддержку при обновлениях) Что конкретно - в комментарии к процедуре написано. Попробуйте сами её выполнить. Вот первый попавшийся пример использования, надо только ТаблицаФильтр подготовить.
Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("ТаблицаФильтр", ТаблицаФильтр);
	Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ТаблицаФильтр.Сотрудник,
		|	ТаблицаФильтр.ДатаНачала,
		|	ТаблицаФильтр.ДатаОкончания
		|ПОМЕСТИТЬ ВТТаблицаФильтр
		|ИЗ
		|	&ТаблицаФильтр КАК ТаблицаФильтр";
	
	Запрос.Выполнить();
	
	ОписаниеФильтра = ЗарплатаКадрыПериодическиеРегистры.ОписаниеФильтраДляСоздатьВТИмяРегистра("ВТТаблицаФильтр", "Сотрудник");
	
	ЗапросИнтервальногоРегистра = ЗарплатаКадрыПериодическиеРегистры.ЗапросВТПериодыИмяРегистра(
		Метаданные.РегистрыСведений.КадроваяИсторияСотрудников.Имя,
		Ложь,
		ОписаниеФильтра);
	
	ЗапросИнтервальногоРегистра.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
	ЗапросИнтервальногоРегистра.Выполнить();
Показать


Чисто академически - это одна из процедур "программного интерфейса", которая позволяет получать данные периодического регистра сведений в некотором виде (записи, срезы, интервалы). При этом, если имеется интервальный регистр, то данные будут получены из него. Замечу, что запрос, написанный к основному регистру с учетом возвратных событий, перестанет работать при добавлении Вендором интервального регистра (а он так поступает). А при использовании программного интерфейса подобное действие останется незамеченным.
cinderella_tyumen; marakudra; +2 Ответить
86. Sasha255n 16.10.20 07:28 Сейчас в теме
Друзья я начинающий и пытаюсь сейчас разобраться с механизмом представлений который реализован в зуп и у меня несколько вопросов?
1. Правильно ли я понял, что сначала в обработке "Представления, используемые в запросах наборов данных СКД отчетов" нам сначала нужно создать это самое представление и на основании него создается запрос который мы копируем в СКД в уже готовом виде? или как то по другому это все работает не могу разобраться?

2. Можно ли где нить по подробнее желательно в виде примерf посмотреть или почитать как это все реализуется на практике?
87. xrrg 226 20.10.20 17:12 Сейчас в теме
(86)
Откройте СКД и модуль объекта печатной формы Т-1. Поставьте точку останова после исполнения процедуры ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета(...). Сформируйте отчет. Сравните тексты запросов в СКД и в наборе данных схемы компоновки данных объекта.
90. Sasha255n 21.10.20 12:58 Сейчас в теме
(87) Помогите мне не совсем понятно как открыть модуль печатной формы Т-1?
88. xrrg 226 21.10.20 09:24 Сейчас в теме
(86)
уточнение: ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета(...) вызывается при создании отчета, не формировании.
89. Sasha255n 21.10.20 12:07 Сейчас в теме
(87)
ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета
Прошу прощения я хочу у вас уточнить первый запрос я вижу Отчеты --- ПечатнаяФормаT-1 --- Схема компоновки данных, а где можно увидеть второй запрос?
(88)
91. xrrg 226 30.10.20 09:51 Сейчас в теме
(89)
в реквизитах объекта СхемаКомпоновкиДанных. об этом можно узнать в ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета, ЗаменитьПредставленияЗапросов,
Вам следует знание платформы подтянуть.
Оставьте свое сообщение

См. также

Использование программных перечислений, ч.1: строковые константы Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

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

10.12.2016    37792    unichkin    74    

Базовые вещи БСП, которые облегчат жизнь программисту 1С

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Россия Бесплатно (free)

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

30.08.2020    7880    quazare    33    

СКД. Использование Менеджера временных таблиц в системе компоновки

Практика программирования v8 v8::Запросы v8::СКД 1cv8.cf Бесплатно (free)

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

29.04.2020    6537    the1    29    

Программная работа с настройками СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020    30647    ids79    26    

Вспомогательные инструкции в коде 1С Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    30981    tormozit    100    

[СКД] Программное создание схемы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

15.01.2020    26465    John_d    22    

Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения

Практика программирования v8 Россия Бесплатно (free)

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019    20154    kuzyara    33    

30 задач. Странных и не очень

Практика программирования v8 Бесплатно (free)

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    17669    YPermitin    72    

Оформление и рефакторинг сложных логических выражений Промо

Практика программирования v8 Россия Бесплатно (free)

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

20.09.2012    78499    tormozit    131    

Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

Практика программирования v8 Бесплатно (free)

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

22.11.2019    8803    Sibars    19    

Полезные процедуры и функции для программиста

Практика программирования Универсальные функции v8 1cv8.cf Россия Бесплатно (free)

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

07.10.2019    30884    HostHost    40    

Таблица значений. Нюансы

Практика программирования v8 Бесплатно (free)

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    35661    Yashazz    50    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

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

11.07.2007    49051    tormozit    42    

О программе Postman для тестирования API и для чего она нужна 1С-нику

Практика программирования Программное обеспечение (software) v8 Бесплатно (free)

Для чего нужна программа Postman для тестирования API и какая от него польза для 1С-программиста.

24.09.2019    12694    budidich    28    

[Шпаргалка] Программное создание элементов формы

Практика программирования Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

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

06.09.2019    55497    rpgshnik    63    

Агрегатные функции СКД, о которых мало кто знает

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    52557    ids79    54    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    45486    tormozit    74    

Регистры бухгалтерии. Общая информация

Практика программирования Математика и алгоритмы v8 v8::БУ БУ Бесплатно (free)

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    30117    YPermitin    24    

Три костыля. Сказ про фокусы в коде

Практика программирования v8 Бесплатно (free)

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

03.09.2019    26055    YPermitin    80    

Отслеживание выполнения фонового задания

Практика программирования Универсальные функции Разработка v8 1cv8.cf Бесплатно (free)

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    32797    ids79    16    

Выгрузка документа по условию Промо

Практика программирования Разработка v8 Бесплатно (free)

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    16203    m-rv    2    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    91231    ids79    52    

Фоновое выполнение кода в 1С - это просто

Практика программирования v8 1cv8.cf Бесплатно (free)

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

02.08.2019    38587    avalakh    25    

Разбираемся с параметрами редактирования СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Связь по типу, Параметры выбора, Связи параметров выбора

31.07.2019    25667    json    15    

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

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

16.04.2019    20580    m-rv    17    

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

26.07.2019    65454    ids79    12    

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Инструментарий разработчика Практика программирования v8 v8::СКД Бесплатно (free)

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    37343    ids79    27    

Регистры сведений. За кулисами

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    26925    YPermitin    14    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    31308    m-rv    21    

"Меньше копипаста!", или как Вася универсальную процедуру писал

Практика программирования Разработка v8 v8::СКД 1cv8.cf Бесплатно (free)

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

04.07.2019    19956    SeiOkami    50    

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

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

02.07.2019    51114    ids79    17    

Создание отчетов с помощью СКД - основные понятия и элементы

Практика программирования Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    55452    ids79    25    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

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

05.12.2017    28500    itriot11    34    

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017

Практика программирования Производительность и оптимизация (HighLoad) v8 v8::Запросы Бесплатно (free)

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    25924    dmurk    146    

Регистры накопления. Структура хранения в базе данных

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Структура хранения регистров накопления в базе данных для платформы 1С:Предприятие 8.x. Первая часть в серии публикаций.

16.05.2019    45313    YPermitin    30    

О расширениях замолвите слово...

Практика программирования Разработка v8 Бесплатно (free)

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    36220    ellavs    126    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    77147    Serginio    110    

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

Практика программирования v8 Бесплатно (free)

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    27853    ellavs    90    

Трюки с внешними источниками данных

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    32349    YPermitin    53    

Ошибки при работе с хранилищем конфигурации и способы их решения

Практика программирования v8 Бесплатно (free)

В статье собраны наиболее распространенные ошибки при работе с хранилищем конфигурации и способы их обхода и решения.

01.03.2019    42354    Смешной 1С    30    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    35695    ids79    40    

Разработка и сценарное тестирование с Vanessa-ADD. Отчетность Allure. Автоматизация запуска сценариев

Практика программирования Vanessa Automation v8 Россия Бесплатно (free)

Формируем отчетность о результатах выполнения сценариев. Автоматизируем запуск.

26.02.2019    22857    Vladimir Litvinenko    27    

Тестер: частые вопросы Промо

Практика программирования v8 Бесплатно (free)

Ошибкам бой - тесты норма жизни!

25.07.2018    29591    grumagargler    28    

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

Практика программирования БСП (Библиотека стандартных подсистем) Роли и права v8 v8::Права Бесплатно (free)

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    42010    ids79    9    

EnterpriseData – часть 2. Процесс выгрузки данных

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Основные этапы выгрузки данных через ED, обработчики событий выгрузки, правила обработки данных, правила конвертации объектов, конвертация свойств первого и второго этапов, процедуры БСП, используемые при выгрузке данных, структура «КомпонентыОбмена».

26.12.2018    27678    ids79    31    

Ускоряем 1С: модули с повторным использованием возвращаемых значений Промо

Практика программирования v8 Бесплатно (free)

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

04.09.2017    53546    m-rv    61    

Новый подход к обмену данными EnterpriseData

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Хочу предложить Вашему вниманию цикл статей, посвященных обмену данными через универсальный формат (EnterpriseData или ED).

14.12.2018    42843    ids79    72    

EnterpriseData - пример доработки правил конвертации без использования КД 3.0 в расширении конфигурации

Практика программирования Обмен через XML v8 v8::УФ БП3.0 УТ11 Россия Бесплатно (free)

В статье подробно описан реальный пример доработки обмена данными через EnterpriseData (универсальный формат обмена) между конфигурациями УТ 11.4 и Бухгалтерия 3.0

16.11.2018    38218    ids79    42