Решили на сайте организации сделать возможность для каждого сотрудника узнавать по какой причине он получил ту или иную зарплату. И решил воспользоваться веб сервисом. Создал xdto пакет и веб сервис. В модуле прописал:
Функция GetAnswer(DateB, DateE, ID)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| КадроваяИсторияСотрудниковСрезПоследних.Сотрудник,
| КадроваяИсторияСотрудниковСрезПоследних.Подразделение
|ИЗ
| РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, ) КАК КадроваяИсторияСотрудниковСрезПоследних
|ГДЕ
| КадроваяИсторияСотрудниковСрезПоследних.ВидСобытия <> &Увал
| И КадроваяИсторияСотрудниковСрезПоследних.Сотрудник.Код = &Айди";
Запрос.УстановитьПараметр("ДатаНачала", DateB);
Запрос.УстановитьПараметр("Дата", КонецДня(DateE));
Запрос.УстановитьПараметр("Айди", ID);
Запрос.УстановитьПараметр("Увал", Перечисления.ВидыКадровыхСобытий.Увольнение);
ТаблицаРезультат = Запрос.Выполнить().Выгрузить();
EmployeeТип = ФабрикаXDTO.Тип("http://localhost/wsreport", "Employee");
DepartmentТип = ФабрикаXDTO.Тип("http://localhost/wsreport", "Department");
PositionТип = ФабрикаXDTO.Тип("http://localhost/wsreport", "Position");
TableReportТип = ФабрикаXDTO.Тип("http://localhost/wsreport", "TableReport");
TableStringТип = ФабрикаXDTO.Тип("http://localhost/wsreport", "TableString");
TableReport = ФабрикаXDTO.Создать(TableReportТип);
Для Каждого СтрокаИзТаблицы Из ТаблицаРезультат Цикл
СтрокаТаблицыОтчета = ФабрикаXDTO.Создать(TableStringТип);
Сотрудник = ФабрикаXDTO.Создать(EmployeeТип);
Должность = ФабрикаXDTO.Создать(PositionТип);
Подразделение = ФабрикаXDTO.Создать(DepartmentТип);
Если ТипЗнч(СтрокаИзТаблицы.Сотрудник) = Тип("СправочникСсылка.Сотрудники") Тогда
Сотрудник.Name = СтрокаИзТаблицы.Сотрудник.Наименование;
Иначе
Сотрудник.Name = "";
КонецЕсли;
Если ТипЗнч(СтрокаИзТаблицы.ПодразделениеОрганизации) = Тип("СправочникСсылка.ПодразделенияОрганизаций") Тогда
Подразделение.Name = СтрокаИзТаблицы.Подразделение.Наименование;
Иначе
Подразделение.Name = "";
КонецЕсли;
СтрокаТаблицыОтчета.ID = СтрокаИзТаблицы.Сотрудник.Код;
СтрокаТаблицыОтчета.Employee = Сотрудник;
СтрокаТаблицыОтчета.Department = Подразделение;
TableReport.Content.Добавить(СтрокаТаблицыОтчета);
КонецЦикла;
Возврат TableReport;
КонецФункции