Ошибка в заполнение табличной части документа через внешнюю обработку

1. akirys 19.08.24 11:40 Сейчас в теме
Здравствуйте, Данный код в отладке работал нормально , но при подключении не срабатывает. Можете подсказать в чем ошибка?


&НаКлиенте 
Процедура ВыполнитьКоманду(ИдентификаторКоманды,ОбъектыНазначения) Экспорт		
	    ДанныеФормы = ВладелецФормы.Объект;
		ЗаполнитьНачисленияНаСервере(ДанныеФормы);
КонецПроцедуры   



&НаСервере
Функция ПолучитьТекущуюДолжность(Сотрудник)	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	КадроваяИсторияСотрудниковСрезПоследних.Сотрудник КАК Сотрудник,
		|	КадроваяИсторияСотрудниковСрезПоследних.Должность КАК Должность
		|ИЗ
		|	РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних КАК КадроваяИсторияСотрудниковСрезПоследних
		|ГДЕ
		|	КадроваяИсторияСотрудниковСрезПоследних.Сотрудник = &Сотрудник";
	
	Запрос.УстановитьПараметр("Сотрудник", Сотрудник);
	
	Выборка = Запрос.Выполнить().Выбрать();
	
	Пока Выборка.Следующий() Цикл
		  Возврат Выборка.Должность;
	КонецЦикла;
	
	
КонецФункции


 
 Функция ПолучитьСуточныеПоШтатномуРасписанию(Должность, Подразделение)
	    	
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ШтатноеРасписаниеДополнительныеРеквизиты.Значение КАК Значение
		|ИЗ
		|	Справочник.ШтатноеРасписание КАК ШтатноеРасписание
		|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ШтатноеРасписание.ДополнительныеРеквизиты КАК ШтатноеРасписаниеДополнительныеРеквизиты
		|		ПО (ШтатноеРасписание.Ссылка = ШтатноеРасписаниеДополнительныеРеквизиты.Ссылка)
		|ГДЕ
		|	ШтатноеРасписание.Должность = &Должность
		|	И ШтатноеРасписание.Подразделение = &Подразделение"; 
	
	Запрос.УстановитьПараметр("Должность", Должность); 
	Запрос.УстановитьПараметр("Подразделение", Подразделение);
	
	Выборка  = Запрос.Выполнить().Выбрать();
	
	Пока Выборка.Следующий() Цикл 
		 Возврат Выборка.Значение;
	КонецЦикла;
КонецФункции


Процедура ЗаполнитьНачисленияНаСервере(ДанныеФормы)
	
	ПорядокПоказателей = ПорядокПоказателейВидаРасчета(ДанныеФормы.Начисление);
	
	Для Каждого СтрокаТЧ Из ДанныеФормы.Начисления Цикл
		ТекущаяДолжность = ПолучитьТекущуюДолжность(СтрокаТЧ.Сотрудник);
		СуточныеЗначение = ПолучитьСуточныеПоШтатномуРасписанию(ТекущаяДолжность, ДанныеФормы.Подразделение);
		СтрокаТЧ["Значение" + ПорядокПоказателей.Получить("СуточныеВДень")] = Число(Строка(СуточныеЗначение));
		СтрокаТЧ.ФиксЗаполнение = Истина;
	КонецЦикла;
		
КонецПроцедуры

Функция ПорядокПоказателейВидаРасчета(Начисление)
	
	Результат = Новый Соответствие;
	Для Каждого СтрокаТЧ Из Начисление.Показатели Цикл
		Результат.Вставить(СтрокаТЧ.Показатель.Идентификатор, СтрокаТЧ.НомерСтроки);
	КонецЦикла;
	
	Возврат Результат;
	
КонецФункции 

Показать
По теме из базы знаний
Найденные решения
3. SlavaKron 19.08.24 11:44 Сейчас в теме
(1) После ЗаполнитьНачисленияНаСервере(ДанныеФормы) добавьте КопироватьДанныеФормы(ДанныеФормы, ВладелецФормы.Объект). Ваши данные формы после передачи на сервер уже живут своей жизнью.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. SlavaKron 19.08.24 11:44 Сейчас в теме
(1) После ЗаполнитьНачисленияНаСервере(ДанныеФормы) добавьте КопироватьДанныеФормы(ДанныеФормы, ВладелецФормы.Объект). Ваши данные формы после передачи на сервер уже живут своей жизнью.
4. akirys 19.08.24 11:50 Сейчас в теме
2. user2033930 19.08.24 11:43 Сейчас в теме
Дык у тебя код не тем цветом написан!!! Конечно не будет работать...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот