Запрос к Справочнику Склад

1. Stony101 08.06.24 14:12 Сейчас в теме
Добрый день.

Мне надо из документа - РасходТовара заполнить по остаткам в Справочнике - Склад, Табличная Часть.
В форме я создал команду "Заполнить по остаткам" чтобы она вычитала из склада количество, делаю запрос и выдает - Метод Объекта не обнаружен (получить объект).

&НаСервере
Процедура ЗаполнитьПоОстаткамНаСервере()
           	
	Для Каждого СтрокаТЧ Из Объект.ТаблицаНомеклатура Цикл

	    СтрокаТЧНоменклатура = СтрокаТЧ.Номенклатура; 
	    СтрокаТЧКоличество = СтрокаТЧ.Количество;
		
		Запрос = Новый Запрос;
		Запрос.Текст =
			"ВЫБРАТЬ
			|	СкладТабличнаяЧастьСклада.Номенклатура КАК Номенклатура,
			|	СкладТабличнаяЧастьСклада.Количество КАК Количество
			|ИЗ
			|	Справочник.Склад.ТабличнаяЧастьСклада КАК СкладТабличнаяЧастьСклада";
		
		РезультатЗапроса = Запрос.Выполнить();

	   	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

			Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
			
				// Получаем объект строки ТЧ
	    			ТЧСклад = ВыборкаДетальныеЗаписи.ПолучитьОбъект(); 
			
				// Изменяем количество
	    			ТЧСклад.Количество = СтрокаТЧКоличество;
			
	    	    		// Записываем изменения
	    			ТЧСклад.Записать();      
			КонецЦикла;

	    	КонецЦикла;
	
КонецПроцедуры
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 76 08.06.24 14:48 Сейчас в теме
(1)
ТЧСклад = ВыборкаДетальныеЗаписи.ПолучитьОбъект();

Это где вы такую конструкцию научились делать?
3. Stony101 08.06.24 14:50 Сейчас в теме
Я в 1С не программировал, поэтому и спрашиваю как сделать, буду признателен.
4. пользователь 08.06.24 16:13
Сообщение было скрыто модератором.
...
5. Nadushka74 5 17.06.24 13:27 Сейчас в теме
у вас в справочнике склад есть табличная часть?

вы хотите ее заполнить остатками товара по складу? или вы выбираете данные из табличной части?
6. electr1chka 17.06.24 14:30 Сейчас в теме
Нужно в запросе выбрать Ссылку на сам справочник. После чего строку "ТЧСклад = ВыборкаДетальныеЗаписи.ПолучитьОбъект(); " заменить на "ТЧСклад = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();"

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

           ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

            Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            
                // Получаем объект строки ТЧ
                    ТЧСклад = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект(); 
            
                // Изменяем количество
                    ТЧСклад.Количество = СтрокаТЧ.Количество;
            
                // Записываем изменения
                        ТЧСклад.Записать(); 
     
            КонецЦикла;

        КонецЦикла;
    
КонецПроцедуры
Показать
Оставьте свое сообщение

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