Представления в запросах. ЗУП

13.07.20

Разработка - Запросы

О пользе функции ЗаменитьЗапросыКПредставлениямВиртуальныхТаблиц(Запрос.Текст, ). Где есть запрос-пустышка, например, "Представления_КадровыеДанныеСотрудников. Тестировано в Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.4.171) на платформе 8.3.12.1412. В этой конфигурации я насчитал 66 макетов в различных отчетах, где применяется этот механизм, в которых можно получить до 220 различных данных о сотруднике. Если доработать типовой код, то возможно этот список добавить. В моем примере я нахожу данные: Организация, Сотрудник, ФизЛицо, ФИОПолные, ДатаРождения, МестоРождения, ДокументПредставление, АдресПоПропискеПредставление, АдресМестаПроживанияПредставление, ДатаПриема, Должность, ДатаУвольнения,ТрудовойДоговорДата,ТрудовойДоговорНомер, Подразделение.

Скачать исходный код

Наименование Файл Версия Размер
Представления в запросах. ЗУП:
.epf 11,88Kb
51
.epf 11,88Kb 51 Скачать

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

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

 

Какие еще данные можно извлечь? 220 видов данных о сотруднике можно получить: 

 

2. Вариант.  Спасибо автору xrrg публикации Введение в механизм представлений в ЗУП ред. 3

 

P.S. Не в тему, но очень полезен метод для отладки запросов до выполнения:
 Запрос.ВыполнитьПакетСПромежуточнымиДанными() [ИндексТаблицы].выгрузить()
а для отладки менеджера врем.таблиц после выполнения запроса:

Запрос.МенеджерВременныхТаблиц.Таблицы.Найти("Имя_ВременнойТаблицы").ПолучитьДанные().Выгрузить()
просто добавить строку в ТаблицуЗначений - ТЗ.Вставить(ИндексСтроки).

 

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    131963    721    390    

763

Как посмотреть итоговый запрос в отчете СКД

Запросы СКД Программист Стажер Система компоновки данных Россия Бесплатно (free)

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

15.05.2024    3915    implecs_team    6    

38

Пропорциональное распределение в запросе с использованием АвтоНомерЗаписи()

Запросы Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Часто поступают задачи по произвольному распределению общих сумм. После распределения иногда пропадают копейки. Суть решения добавить АвтоНомерЗаписи() в ВТ распределения, и далее используя функции МАКСИМУМ или МИНИМУМ можем положить разницу копеек в первую или последнюю строку знаменателя распределения.

11.04.2024    2687    andrey_sag    10    

32

Для чего используют конструкцию запроса "ГДЕ ЛОЖЬ" в СКД на примере конфигурации 1С:ERP

Запросы СКД Программист Стажер Платформа 1С v8.3 Запросы Система компоновки данных 1С:ERP Управление предприятием 2 Бесплатно (free)

В типовых конфигурациях разработчики компании 1С иногда используют в отчетах, построенных на СКД, такую конструкцию, как "ГДЕ ЛОЖЬ". Такая конструкция говорит о том, что данные в запросе не будут получены совсем. Для чего же нужен тогда запрос?

13.02.2024    6386    KawaNoNeko    23    

26

Набор-объект для СКД по тексту или запросу

Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Есть список полей в виде текста, или запрос - закидываем в набор СКД.

1 стартмани

31.01.2024    2350    2    Yashazz    0    

32

Запрос 1С copilot

Инструментарий разработчика Запросы Программист Стажер Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бесплатно (free)

Пишем на человеческом языке, что нам надо, и получаем текст запроса на языке 1С. Используются большие языковые модели (LLM GPT) от OpenAI или Яндекс на выбор.

15.01.2024    7332    51    mkalimulin    32    

54

PrintWizard: поддержка представлений ЗУП в конструкторе

Инструментарий разработчика Запросы Программист Стажер Платформа 1С v8.3 Бесплатно (free)

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

14.12.2023    2078    vandalsvq    7    

29

Консоль запросов УФ 8.3.2.24.12 (мод от Dr.Zombi)

Инструментарий разработчика Запросы Программист Платформа 1С v8.3 Управляемые формы Запросы Россия Абонемент ($m)

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

1 стартмани

07.12.2023    3551    52    DrZombi    54    

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

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

ОписательТаблицыОтборов = КадровыйУчет.ОписаниеВременнойТаблицыОтборовСотрудников(
	"ВТСотрудники",
	"Сотрудник",
	"Период");

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

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

Запрос.Выполнить();
Показать
yhor; hame1e00n; VAAngelov; user1539687; Sasha255n; JohnyDeath; IgorXml; +7 Ответить
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. xrrg 327 30.05.18 10:10 Сейчас в теме
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст = 
"ВЫБРАТЬ
|	&Сотрудник Сотрудник,
|	&Период Период
|ПОМЕСТИТЬ ВТСотрудники";
Запрос.УстановитьПараметр("Сотрудник", Сотрудник);
Запрос.УстановитьПараметр("Период", Период);

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

ОписательТаблицыОтборов = КадровыйУчет.ОписаниеВременнойТаблицыОтборовСотрудников(
	"ВТСотрудники",
	"Сотрудник",
	"Период");

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

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

Запрос.Выполнить();
Показать
yhor; hame1e00n; VAAngelov; user1539687; Sasha255n; JohnyDeath; IgorXml; +7 Ответить
2. IgorXml 726 30.05.18 15:22 Сейчас в теме
(1) Если данные переносились, то твой запрос для получения списка сотрудников правильно. Но может проще обратиться прямо к "РегистрСведений.ТекущиеКадровыеДанныеСотрудников"?
3. IgorXml 726 30.05.18 16:38 Сейчас в теме
(2) это ошибка.
(1) Недооценил код. Спасибо. Код полностью заменяет весь код в публикации. Лишь бы 1С завтра не исправил функционал :)
Для себя добавил бы две строки:
    //Запрос.Выполнить();
	Результат = Запрос.ВыполнитьПакетСПромежуточнымиДанными();
	ТаблицаЗначений_20 =   Результат[19].Выгрузить();	
4. Serj1C 483 05.06.18 08:34 Сейчас в теме
(3) Из Менеджера Временных Таблиц теперь можно получать таблицы по наименованию, а не по индексу.
А то опасно так, с обновлением количество запросов представления изменится с вероятностью 146% и ваш код станет неработоспособным.
Evg-Lylyk; корум; AntonH851; IgorXml; +4 Ответить
7. vat-74 167 07.06.18 00:03 Сейчас в теме
(1)Звездочка в КоллекцияПолей для примера стоит? т.к. с ней вызывается исключение.
ОбщийМодуль.КадровыйУчетБазовый.Модуль(5615)}: Среди кадровых данных сотрудников нет данных с именем "*"
ВызватьИсключение ТекстСообщенияИсключения;
5. ccserg 64 06.06.18 09:48 Сейчас в теме
а что это за цифра 19 ?
ТаблицаЗначений_20 = Результат[19].Выгрузить();
6. IgorXml 726 06.06.18 10:30 Сейчас в теме
(5) Самому так больше нравится :)
    //Запрос.Выполнить();
	Результат = Запрос.ВыполнитьПакетСПромежуточнымиДанными();
	//ТЗ_20 =   Результат[19].Выгрузить();
	ТЗ_ВТКадровыеДанныеСотрудников =  Запрос.МенеджерВременныхТаблиц.Таблицы.Найти("ВТКадровыеДанныеСотрудников").ПолучитьДанные().Выгрузить();
8. user620235_m_ginger 01.02.19 12:06 Сейчас в теме
я в отладчике пишу
Запрос.МенеджерВременныхТаблиц.Таблицы.ПОЛУЧИТЬ("ВТКадровыеДанныеСотрудников").ПолучитьДанные().Выгрузить();
Есть ли разница в этих двух методах (Найти и Получить)?
При этом запрос не обязательно выполнять с промежуточными данными - из менеджера он и при Запрос.Выполнить() спокойно все данные вытаскивает.
9. IgorXml 726 04.02.19 09:59 Сейчас в теме
(8) с промежуточными данными , потом Запрос.Выполнить() и потом к менеджеру. Это не связано. Вы правы. Исправлю.
А вопрос пока не проверил.
10. AMS_Guskov_VL 28.09.19 13:22 Сейчас в теме
Оп. Как раз сейчас пришел к мысли, что надо разобраться с этим механизмом. Подскажет может кто в треде, по поводу дополнения такого "запроса"? Написал свой РС по всем канонам зуп (с разграничением прав в РЛС, периодической таблицей и т.д.) и встал вопрос, что эти данные нужно показывать в отчетах (почти всех кадровых). Хотеся описание мануал или записки о том как такая интеграция реализуется.
11. IgorXml 726 28.09.19 21:39 Сейчас в теме
(10) свой "параметр" чтобы типовое прелставление в запросах вытаскивал?
12. AMS_Guskov_VL 30.09.19 03:32 Сейчас в теме
(11) "параметр", по которому БСП сама зацепит мой метод ЗапросВТРнгистрСведений в обработке ИнициализироватьОтчет() и добавить ВТ с моим регистром и добавит нужное поле в конечный набор данных.
13. IgorXml 726 30.09.19 09:40 Сейчас в теме
(12) Надо править код в общем модуле. Глобальный поиск по строке "Представления_" запустить. И там добавлять. У меня есть в коде такое. Если интересно могу позднее выложить.
14. AMS_Guskov_VL 30.09.19 11:09 Сейчас в теме
15. IgorXml 726 30.09.19 12:16 Сейчас в теме
(14) 1. В общем модуле "ЗарплатаКадрыОбщиеНаборыДанныхБазовый" Функция ПолучитьТекстОбщегоЗапроса( :
		|////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
 	   |	ДАТАВРЕМЯ(1, 1, 1) КАК Период,
            |	...
		|	ЗНАЧЕНИЕ(Справочник.НАШСПРАВОЧНИК.ПустаяСсылка) КАК НАШСПРАВОЧНИК,
            |	...
		|	0 КАК ПриоритетРабочегоМеста
		|ПОМЕСТИТЬ Представления_КадровыеДанныеСотрудниковАнализНачисленийИУдер­жаний
		|ГДЕ
		|	""ТолькоРазрешенные"" = ИСТИНА
		|;
		|
Показать
16. Tommy82 65 30.07.20 21:58 Сейчас в теме
хочу свои 5 копеек вставить, вытягивает вообще всё

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

Показать
TeMochkiN; Strannik777; user1416843; ILIAS; IgorXml; +5 Ответить
18. avmironov 08.06.22 12:04 Сейчас в теме
Вытягивает далеко не всё. Некоторые данные неверные, в частности РуководительСтруктурногоПодразделения
17. GeterX 1337 25.02.22 22:50 Сейчас в теме
Хочу поделиться способом замены ОБЩИХ ЗАПРОСОВ ( ОбщиеЗапросы_ ).

Процедура ЗаменитьОбщийТекстЗапросаОбщиеЗапросы почему-то не экспортная, поэтому ее копируем к себе в обработку.


&НаСервере
Функция ПолучитьДанныеНачислений()
	
	Запрос = Новый Запрос;
	Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц();
	Запрос.Текст = 
		"ВЫБРАТЬ ПЕРВЫЕ 0
		|	НачисленияУдержанияВыплаты.МесяцНачисления КАК МесяцНачисления,
		|	НачисленияУдержанияВыплаты.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
		|	НачисленияУдержанияВыплаты.Организация КАК Организация,
		|	НачисленияУдержанияВыплаты.Сотрудник КАК Сотрудник,
		|	НачисленияУдержанияВыплаты.СтатьяФинансирования КАК СтатьяФинансирования,
		|	НачисленияУдержанияВыплаты.СтатьяРасходов КАК СтатьяРасходов,
		|	НачисленияУдержанияВыплаты.ФизическоеЛицо КАК ФизическоеЛицо,
		|	НачисленияУдержанияВыплаты.Подразделение КАК Подразделение,
		|	НачисленияУдержанияВыплаты.Группа КАК Группа,
		|	НачисленияУдержанияВыплаты.ВидРасчета КАК ВидРасчета,
		|	НачисленияУдержанияВыплаты.Сумма КАК Сумма,
		|	НачисленияУдержанияВыплаты.ОтработаноДней КАК ОтработаноДней,
		|	НачисленияУдержанияВыплаты.ОтработаноЧасов КАК ОтработаноЧасов,
		|	НачисленияУдержанияВыплаты.ОплаченоДней КАК ОплаченоДней,
		|	НачисленияУдержанияВыплаты.ОплаченоЧасов КАК ОплаченоЧасов,
		|	НачисленияУдержанияВыплаты.ПериодДействия КАК ПериодДействия,
		|	НачисленияУдержанияВыплаты.ДатаНачала КАК ДатаНачала,
		|	НачисленияУдержанияВыплаты.ПодразделениеНаКонецПериода КАК ПодразделениеНаКонецПериода,
		|	НачисленияУдержанияВыплаты.Должность КАК Должность,
		|	НачисленияУдержанияВыплаты.ТарифнаяСтавка КАК ТарифнаяСтавка,
		|	НачисленияУдержанияВыплаты.ВидДоговора КАК ВидДоговора,
		|	НачисленияУдержанияВыплаты.ВидЗанятости КАК ВидЗанятости,
		|	ИСТИНА КАК НачислениеВключаетсяВФОТ
		|ПОМЕСТИТЬ ОбщиеЗапросы_НачисленияУдержанияСтатистикаПерсонала
		…….
		|ИЗ
		|	ВТИтоги КАК Итоги
		|{ГДЕ
		|	Итоги.Сотрудник.*,
		|	Итоги.ФизическоеЛицо.*,
		|	Итоги.МесяцНачисления,
		|	Итоги.ПериодДействия,
		|	Итоги.ГоловнаяОрганизация.*,
		|	Итоги.Организация.*,
		|	Итоги.ПодразделениеСтатистики.*,
		|	Итоги.ВидДоговора.*,
		|	Итоги.ВидЗанятости.*,
		|	Итоги.ВидЗанятостиГоловногоСотрудника.*,
		|	Итоги.ВидЗанятостиОсновногоСотрудника.*,
		|	Итоги.Должность.*,
		|	Итоги.ОсновнаяДолжность.*,
		|	Итоги.ВидРасчета.*,
		|	Итоги.Начисления,
		|	Итоги.НачисленияСоциальногоХарактера,
		|	Итоги.ОтработаноДней,
		|	Итоги.ОтработаноЧасов,
		|	Итоги.ОтработаноДнейСНачалаГода,
		|	Итоги.ОтработаноЧасовСНачалаГода,
		|	Итоги.ОплаченоДней,
		|	Итоги.ОплаченоЧасов,
		|	Итоги.СотрудникУволен,
		|	Итоги.СтрокаОтчетностиМониторингаРаботниковСоциальнойСферы.*,
		|	Итоги.НомерКолонки,
		|	Итоги.Группа.*,
		|	Итоги.ВидДолжностиГосСлужбы}";
	
	Запрос.УстановитьПараметр("ВидыВыплатНаПериодТрудоустройства", Справочники.ВидыВыплатБывшимСотрудникам.СохраняемыйЗаработокНаВремяТрудоустройства);
	Запрос.УстановитьПараметр("ЕстьНерабочиеПериоды", Истина);
	Запрос.УстановитьПараметр("ЗарплатаВидДолжностиГосударственнойСлужбы", "");
	Запрос.УстановитьПараметр("ИспользоватьШтатноеРасписание", Истина);
	Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания);
	Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала);
	Запрос.УстановитьПараметр("ОплачиваемыеНерабочиеДни",  Справочники.ВидыИспользованияРабочегоВремени.ОплачиваемыеНерабочиеДни);
	Запрос.УстановитьПараметр("СНачалаГода",  Истина);
	Запрос.УстановитьПараметр("ИсключаемыеСсылки",  Документы.БухучетНачисленийСотрудников.ПустаяСсылка());
	Запрос.УстановитьПараметр("ОкончаниеИнтервалаПредставленияПериоды",  Объект.Период.ДатаОкончания);
	Запрос.УстановитьПараметр("МаксимальнаяДата",  ДобавитьМесяц(Объект.Период.ДатаОкончания, 200));
	
	
	
	ТекстЗапроса = Запрос.Текст;
	ЗаменитьОбщийТекстЗапросаОбщиеЗапросы(ТекстЗапроса, Истина);
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ОбщиеЗапросы_", "ОбщиеЗапросы");
	Запрос.Текст = ТекстЗапроса;

	
	ЗарплатаКадрыОбщиеНаборыДанных.ЗаменитьЗапросыКПредставлениямВиртуальныхТаблиц(Запрос.Текст, ); 

	РезультатЗапроса = Запрос.Выполнить();
	
	Возврат РезультатЗапроса.Выгрузить();
	
КонецФункции

&НаСервере
Процедура ЗаменитьОбщийТекстЗапросаОбщиеЗапросы(ТекстЗапросаПриемник, ТолькоРазрешенные)
	МассивЗапросов = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ТекстЗапросаПриемник, ";");
	СтрокаПОМЕСТИТЬ = "ПОМЕСТИТЬ ОБЩИЕЗАПРОСЫ_";
	РазделителиСлов = РазделителиСловТекстаЗапроса();
	
	Для Каждого ТекстЗапроса Из МассивЗапросов Цикл
		ПозицияСлова = СтрНайти(ВРег(ТекстЗапроса), СтрокаПОМЕСТИТЬ);
		Если ПозицияСлова > 0 Тогда
			ИмяИсточникаДанных = Прав(ТекстЗапроса, СтрДлина(ТекстЗапроса) - ПозицияСлова - СтрДлина(СтрокаПОМЕСТИТЬ) + 1);
			Для НомерСимвола = 1 По СтрДлина(ИмяИсточникаДанных) Цикл
				КодСимвола = КодСимвола(ИмяИсточникаДанных, НомерСимвола);
				Если СтроковыеФункцииКлиентСервер.ЭтоРазделительСлов(КодСимвола, РазделителиСлов) Тогда
					ИмяИсточникаДанных = Лев(ИмяИсточникаДанных, НомерСимвола - 1);
					Прервать;
				КонецЕсли;
			КонецЦикла;
			ТекстЗапросаИсточник = ПолучитьТекстОбщегоЗапроса(ИмяИсточникаДанных, ТолькоРазрешенные);
			ТекстЗапросаПриемник = СтрЗаменить(ТекстЗапросаПриемник, ТекстЗапроса, ТекстЗапросаИсточник);
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры 

Функция РазделителиСловТекстаЗапроса()
	
	Возврат Символы.ВК + Символы.ПС + " .,;	()/+";
	
КонецФункции

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



Показать
Dmitri93; IgorXml; +2 Ответить
Оставьте свое сообщение