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

13.07.20

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

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

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

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

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

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

 

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

 

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

 

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

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

 

См. также

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

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

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

10000 руб.

02.09.2020    124506    681    389    

732

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

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

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

11.04.2024    1929    andrey_sag    5    

25

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

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

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

13.02.2024    5961    KawaNoNeko    23    

25

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

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

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

1 стартмани

31.01.2024    2127    2    Yashazz    0    

30

Запрос 1С copilot

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

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

5 стартмани

15.01.2024    6583    31    mkalimulin    27    

51

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

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

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

14.12.2023    1870    vandalsvq    7    

29

Объектная модель запроса "Схема запроса" 2

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

Далеко уже не новый тип данных "Схема запроса". Статья о том, как использовать его "попроще". Примеры создания текста запроса с нуля и изменение имеющегося запроса.

06.12.2023    5591    user1923546    26    

46

Начните уже использовать хранилище запросов

HighLoad оптимизация Запросы

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

11.10.2023    16544    skovpin_sa    14    

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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



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