Запрос данных и запись в реквизит справочника

1. user1717894 01.08.22 17:50 Сейчас в теме
Доброго времени суток.
Подскажите пожалуйста что делаю не так.
Есть массив, хранящий: табельный номер и ключ.
Через расширение добавляю новый реквизит в справочник Штатное расписание. Необходимо найти по табельному номеру через сотрудника (использую регистр сведений "Занятость позиций штатного расписания") позицию штатного расписания и записать в нее ключ в реквизит "Ключ".

ШтатноеРасп = Справочники.ШтатноеРасписание;	
	Для Каждого М из ДанныеМ цикл
		Запрос = Новый Запрос;
	    Запрос.Текст = 
		
		"ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	ЗанятостьПозицийШтатногоРасписанияСрезПоследних.Сотрудник.Код КАК СотрудникКод,
		|	ЗанятостьПозицийШтатногоРасписанияСрезПоследних.ПозицияШтатногоРасписания.Ссылка КАК ПозШтатРаспСсылка,
		|	ШтатноеРасписание.Ссылка КАК Ссылка
		|ИЗ
		|	РегистрСведений.ЗанятостьПозицийШтатногоРасписания.СрезПоследних(&ТД, ) КАК ЗанятостьПозицийШтатногоРасписанияСрезПоследних
		|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ШтатноеРасписание КАК ШтатноеРасписание
		|		ПО ЗанятостьПозицийШтатногоРасписанияСрезПоследних.ПозицияШтатногоРасписания = ШтатноеРасписание.Ссылка
		|ГДЕ
		|	ЗанятостьПозицийШтатногоРасписанияСрезПоследних.Сотрудник.Код = &Код
		|	И ЗанятостьПозицийШтатногоРасписанияСрезПоследних.ВидЗанятостиПозиции <> &ВидЗанятости";
						
		Запрос.УстановитьПараметр("ТД", ТекущаяДата());
		Запрос.УстановитьПараметр("Код", М[0]);
		Запрос.УстановитьПараметр("ВидЗанятости", Перечисления.ВидыЗанятостиПозицийШтатногоРасписания.Свободна);
		
		РезультатЗапроса = Запрос.Выполнить();
		ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
		Если ВыборкаДетальныеЗаписи.Следующий() тогда
			ШтатРаспОбъект = ШтатноеРасп.ПолучитьОбъект();
			ШтатРаспОбъект.Ключ = М[1]; 
                        ШтатноеРасп.Записать();
		КонецЕсли;
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. FatPanzer 01.08.22 17:54 Сейчас в теме
Оформите ваш код нормально, и я вас разнесу по кочкам.
3. FatPanzer 01.08.22 17:56 Сейчас в теме
(1)
ШтатноеРасп = Справочники.ШтатноеРасписание;
ШтатРаспОбъект = ШтатноеРасп.ПолучитьОбъект();

Вот ты реально хочешь из метаданных получить какой-то объект???
ШтатноеРасп.Записать();
А потом еще и попытаться записать метаданные???
4. user1717894 01.08.22 17:58 Сейчас в теме
(3)мне нужно получить объект чтобы записать элемент. как это правильно сделать?
5. FatPanzer 01.08.22 17:59 Сейчас в теме
(4) Получить ссылку для начала.
6. user1717894 01.08.22 18:00 Сейчас в теме
(5) Ссылку, затем объект? Затем присваиваем элементу значение и записываем?
7. FatPanzer 01.08.22 18:01 Сейчас в теме
(6) Присвоить значение элементу - это прозвучало круто. Сохраню себе в мемориз.
8. FatPanzer 01.08.22 18:04 Сейчас в теме
Люблю такое
Прикрепленные файлы:
9. karamazoff 96 01.08.22 18:04 Сейчас в теме
Что же такое с форумом стало, хоть святых выноси... Вы спросите у Питерцев, они отлично пишут код, тока Москалей не любят....
10. FatPanzer 01.08.22 18:09 Сейчас в теме
(9) Да, помню, нормально три года ездил в спартаковской бейсболке в Питер (даже ночами в баре выпивал). А потом как-то не повезло один раз. Теперь езжу в Ямальской.
Оставьте свое сообщение

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