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

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 89 01.08.22 18:04 Сейчас в теме
Что же такое с форумом стало, хоть святых выноси... Вы спросите у Питерцев, они отлично пишут код, тока Москалей не любят....
10. FatPanzer 01.08.22 18:09 Сейчас в теме
(9) Да, помню, нормально три года ездил в спартаковской бейсболке в Питер (даже ночами в баре выпивал). А потом как-то не повезло один раз. Теперь езжу в Ямальской.
Оставьте свое сообщение
Вакансии
Главный специалист (Программист 1с)
Подольск
зарплата от 100 000 руб. до 110 000 руб.
Полный день

Программист
Москва
зарплата от 200 000 руб. до 230 000 руб.
Полный день

Программист 1С
Подольск
зарплата от 150 000 руб. до 200 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 180 000 руб.
Полный день

Ведущий программист 1C
Санкт-Петербург
зарплата от 220 000 руб.
Полный день