Во внешней обработке нужно сделать отбор справочников сотрудники по реквизиту формы, бьюсь пол дня, в интернете на эту тему в основном стеб, подскажите пожалуйста.
В синтаксис помощнике у справочника нет методов получающих данные формы или открывающие форму.
Экспериментировал с методом ПолучитьФорму(), результат ноль
5.
SedovSU@mail.ru
29810.01.19 09:13 Сейчас в теме
Ну как вариант на обычных формах, если я конечно правильно вопрос понимаю
Например, есть обработка в ней есть реквизит "вид номенклатуры". Нужно открыть формы выбора справочника номенклатуры с отбором по данному реквизиту то можно написать так:
Зарплата и кадры государственного учреждения, редакция 3.1 (3.1.8.185)
Отбор по реквизиту управляемой формы ТекущийВидЗанятости ФормыЭлемента Справочника Сотрудники
Зарплата и кадры государственного учреждения, редакция 3.1 (3.1.8.185)
Отбор по реквизиту управляемой формы ТекущийВидЗанятости ФормыЭлемента Справочника Сотрудники
Реквизит на форме, никакой информации в себе не хранит. Даже если ты получишь форму - то эти реквизиты будут пустые.
А заполняются они, при открытии формы - данными из базы, на момент открытия этой самой формы.
Более конкретно.
Текущий вид занятости, меняется разными документами, прием на работу, кадровый перевод - соответственно в момент приема текущий вид занятости один, спустя какое то время другой...т.е. данные по текущему виду занятости не могут хранится на форме, они хранятся в периоде.
Данные по виду занятости хранятся в регистре сведений "ТекущиеКадровыеДанныеСотрудников", вот именно оттуда и нужно брать информацию.
делаешь срез, с отбором по организации, и текущему виду занятости,
и просто берешь сотрудника оттуда
(11)Сделал запрос в консоли к регистру сведений "ТекущиеКадровыеДанныеСотрудников", колонка ТекущийВидЗанятости пустая, хотя у сотрудника вид занятости заполнен
На клиента функция возвращает ссылку на один справочник, а РезультатЗапроса или выборку не возвращает, выдает ошибку:
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'
&НаСервере
Функция СписокСотрудниковНаСервере(Необходимы параметры)
МассивСотрудников = Новый Массив;
Запрос= Новый Запрос();
Запрос.Текст =
"ВЫБРАТЬ
| Сотрудники.Ссылка КАК Ссылка
|ИЗ
| Справочник.Сотрудники КАК Сотрудники";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
СтруктураДанных = Новый Структура("Ссылка");
ЗаполнитьЗначенияСвойств(СтруктураДанных, Выборка);
МассивСотрудников.Добавить(СтруктураДанных);
КонецЦикла;
Возврат МассивСотрудников;
КонецФункции
(15)Я имею в виду через запрос получать необходимый список сотрудников. Я так понимаю, на форме внешней обработки есть реквизит например ТекущееСостояниеСотрудника, выбираешь из перечисления, нажимаешь ОК, и выводятся все сотрудники соответствующие этому реквизиту?
(16)Мне нужна обработка только для получения данных одноразово и только с одним значением реквизита, его я установлю в коде.
Передать параметром в запрос реквизит формы из перечисления не получится, так я понимаю, поясните пожалуйста, если я не прав
В массиве на клиента передает, спасибо, на данный момент задачу решил, позже думаю попробовать вариант с регистром сведений "ТекущиеКадровыеДанныеСотрудников" и напишу развернутый ответ на свой вопрос, всем огромное спасибо