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

13.07.20

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Представления в запросах. ЗУП:
.epf 11,88Kb
56
56 Скачать (1 SM) Купить за 1 850 руб.

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

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

 

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

 

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

 

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

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

 

См. также

SALE! 15%

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

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

10000 руб.

02.09.2020    159422    872    399    

861

Запросы Программист Бесплатно (free)

Увидел cheatsheet по SQL и захотелось нарисовать подобное, но про запросы.

18.10.2024    9875    sergey279    18    

64

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

Столкнулся с интересной ситуацией, которую хотел бы разобрать, ввиду её неочевидности. Речь пойдёт про использование функции запроса АВТОНОМЕРЗАПИСИ() и проблемы, которые могут возникнуть.

11.10.2024    5167    XilDen    36    

80

Запросы Программист Запросы Бесплатно (free)

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

16.08.2024    7901    user1840182    5    

28

Математика и алгоритмы Запросы Программист Платформа 1С v8.3 Запросы Бесплатно (free)

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

08.07.2024    2393    ivanov660    9    

22

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

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

15.05.2024    8684    implecs_team    6    

47

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

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

11.04.2024    3391    andrey_sag    10    

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

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

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

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

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

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

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

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

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

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

Запрос.Выполнить();
Показать
yhor; hame1e00n; VAAngelov; user1539687; Sasha255n; JohnyDeath; IgorXml; +7 Ответить
2. IgorXml 730 30.05.18 15:22 Сейчас в теме
(1) Если данные переносились, то твой запрос для получения списка сотрудников правильно. Но может проще обратиться прямо к "РегистрСведений.ТекущиеКадровыеДанныеСотрудников"?
3. IgorXml 730 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 730 06.06.18 10:30 Сейчас в теме
(5) Самому так больше нравится :)
    //Запрос.Выполнить();
	Результат = Запрос.ВыполнитьПакетСПромежуточнымиДанными();
	//ТЗ_20 =   Результат[19].Выгрузить();
	ТЗ_ВТКадровыеДанныеСотрудников =  Запрос.МенеджерВременныхТаблиц.Таблицы.Найти("ВТКадровыеДанныеСотрудников").ПолучитьДанные().Выгрузить();
8. user620235_m_ginger 01.02.19 12:06 Сейчас в теме
я в отладчике пишу
Запрос.МенеджерВременныхТаблиц.Таблицы.ПОЛУЧИТЬ("ВТКадровыеДанныеСотрудников").ПолучитьДанные().Выгрузить();
Есть ли разница в этих двух методах (Найти и Получить)?
При этом запрос не обязательно выполнять с промежуточными данными - из менеджера он и при Запрос.Выполнить() спокойно все данные вытаскивает.
9. IgorXml 730 04.02.19 09:59 Сейчас в теме
(8) с промежуточными данными , потом Запрос.Выполнить() и потом к менеджеру. Это не связано. Вы правы. Исправлю.
А вопрос пока не проверил.
10. AMS_Guskov_VL 28.09.19 13:22 Сейчас в теме
Оп. Как раз сейчас пришел к мысли, что надо разобраться с этим механизмом. Подскажет может кто в треде, по поводу дополнения такого "запроса"? Написал свой РС по всем канонам зуп (с разграничением прав в РЛС, периодической таблицей и т.д.) и встал вопрос, что эти данные нужно показывать в отчетах (почти всех кадровых). Хотеся описание мануал или записки о том как такая интеграция реализуется.
11. IgorXml 730 28.09.19 21:39 Сейчас в теме
(10) свой "параметр" чтобы типовое прелставление в запросах вытаскивал?
12. AMS_Guskov_VL 30.09.19 03:32 Сейчас в теме
(11) "параметр", по которому БСП сама зацепит мой метод ЗапросВТРнгистрСведений в обработке ИнициализироватьОтчет() и добавить ВТ с моим регистром и добавит нужное поле в конечный набор данных.
13. IgorXml 730 30.09.19 09:40 Сейчас в теме
(12) Надо править код в общем модуле. Глобальный поиск по строке "Представления_" запустить. И там добавлять. У меня есть в коде такое. Если интересно могу позднее выложить.
14. AMS_Guskov_VL 30.09.19 11:09 Сейчас в теме
15. IgorXml 730 30.09.19 12:16 Сейчас в теме
(14) 1. В общем модуле "ЗарплатаКадрыОбщиеНаборыДанныхБазовый" Функция ПолучитьТекстОбщегоЗапроса( :
		|////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
 	   |	ДАТАВРЕМЯ(1, 1, 1) КАК Период,
            |	...
		|	ЗНАЧЕНИЕ(Справочник.НАШСПРАВОЧНИК.ПустаяСсылка) КАК НАШСПРАВОЧНИК,
            |	...
		|	0 КАК ПриоритетРабочегоМеста
		|ПОМЕСТИТЬ Представления_КадровыеДанныеСотрудниковАнализНачисленийИУдер­жаний
		|ГДЕ
		|	""ТолькоРазрешенные"" = ИСТИНА
		|;
		|
Показать
19. alexfps79 30.09.24 12:44 Сейчас в теме
(15)
|ПОМЕСТИТЬ Представления_КадровыеДанныеСотрудниковАнализНачисленийИУдер­жаний
|ГДЕ
| ""ТолькоРазрешенные"" = ИСТИНА


Здравствуйте! Я только погружаюсь в запросы с ипользованием ЗУП. Скажите, пожалуйста, в чем суть конструкций "Представления_...(имя объекта)" и условие "ТолькоРазрешенные = Истина", в результирующем запросе их нет.
20. IgorXml 730 30.09.24 18:00 Сейчас в теме
(19) часть кода в общих модулях, чтобы сократить ваш код)
Автоматизация некая.
21. alexfps79 04.10.24 17:34 Сейчас в теме
(20) Скажите, пожалуйста, а интервальные независимые регистры "ЗанятостьШтатныхПозиций", "ДанныеДляРасчетаОтпуска", "КадроваяИситорияСотрудников" и другие регистры заполняются при проведении регламентных документов? Если переносить данные из базы в базу, нужно ли отдельно перегружать записи этих регистров?
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 1362 25.02.22 22:50 Сейчас в теме
Хочу поделиться способом замены ОБЩИХ ЗАПРОСОВ ( ОбщиеЗапросы_ ).

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


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

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

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

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

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

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



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