|
Вычисляемое поле в скд | ☑ | ||
---|---|---|---|---|
0
13spartak13
18.07.17
✎
09:36
|
Здравствуйте! В СКД в вычисляемое поле нужно вставить функцию
Функция ПолучитьСписокСотрудниковИОФ(Дата, ДолжностьПодразделения) Экспорт Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ФИОФизЛицСрезПоследних.Фамилия + "" "" + (ВЫРАЗИТЬ(ФИОФизЛицСрезПоследних.Имя КАК СТРОКА(1))) + ""."" + (ВЫРАЗИТЬ(ФИОФизЛицСрезПоследних.Отчество КАК СТРОКА(1))) + ""."" КАК Сотрудник |ИЗ | РегистрСведений.СотрудникиШтатногоРасписаниеОрганизаций.СрезПоследних(&Дата, ) КАК СотрудникиШтатногоРасписаниеОрганизацийСрезПоследних, | РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(&Дата, ) КАК ФИОФизЛицСрезПоследних | ПО РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо = ФИОФизЛицСрезПоследних.ФизЛицо |ГДЕ | РаботникиОрганизацийСрезПоследних.ДолжностьПодразделения = &ДолжностьПодразделения | И (РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаУвольнения > &Дата | ИЛИ РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаУвольнения = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))"; Запрос.УстановитьПараметр("Дата", Дата); Запрос.УстановитьПараметр("ДолжностьПодразделения", ДолжностьПодразделения); Результат = Запрос.Выполнить().Выбрать(); Сотрудник = ""; Пока Результат.Следующий() Цикл Сотрудник = Сотрудник + Результат.Сотрудник + ", "; КонецЦикла; Возврат ?(Сотрудник = "", "", Лев(Сотрудник, СтрДлина(Сотрудник) - 2)); КонецФункции Но дело в том что я не могу залазить в конфигурацию и хранить ее в общем модуле, это внешняя обработка, как можно впихнуть данную функцию в вычисляемое поле и возможно ли вообще |
|||
1
Лефмихалыч
18.07.17
✎
10:03
|
не возможно вообще
|
|||
4
dnab
18.07.17
✎
10:27
|
(2) не нужен тебе общий модуль. Сделай все в запросе, ничего тут сложного.
Вывод списка сотрудников с разделителями тоже можно в вычисляемом поле, читай язык выражений СКД |
|||
6
DexterMorgan
18.07.17
✎
10:53
|
(0) Переделай основной запрос в скд, добавив эту часть из (0), тут и не нужны никакие вычисляемые поля, только производительность пострадает
|
|||
7
DexterMorgan
18.07.17
✎
10:57
|
(0) А чтобы вывести сотрудников через запятую есть например соединитьстроки или массив
|
|||
8
13spartak13
18.07.17
✎
11:01
|
(7) Подскажите запросом выбираю нужных сотрудников, но выводить их могу только ресурсом, как в поле вывести всех а не только МАКСИМУМ или МИНИМУМ
|
|||
9
DexterMorgan
18.07.17
✎
11:04
|
(8) Пиши вместо максимум - СоединитьСтроки("ТвоеПоле", ",")
|
|||
10
DexterMorgan
18.07.17
✎
11:05
|
Или Массив(твое поле)
|
|||
11
13spartak13
18.07.17
✎
11:11
|
(10) Это нужно сначала вычисляемое поле создать?
|
|||
12
DexterMorgan
18.07.17
✎
11:15
|
(11) Не нужно, ты выбираешь сотрудников запросом, делаешь ресурсом и пишешь как (9)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |