Программное создание колонки и заполнение данными из регистра накопления

1. mishwey 27.09.23 12:01 Сейчас в теме
Необходимо в документе "Расходная накладная" написать команду, которая через нажатие на кнопку добавит колонку с указанием значения остатков по товару из регистра накопления.

При попытке заполнения колонки через запрос выводится ошибка:



Поле объекта не обнаружено (Остаток)
{Документ.РасходнаяНакладная.Форма.ФормаДокумента.Форма(54)}: Объект.Товары.Остаток.Загрузить(РезультатЗапроса);
{Документ.РасходнаяНакладная.Форма.ФормаДокумента.Форма(61)}: КомандаПересчитатьНаСервере();




&НаСервере
Процедура КомандаПересчитатьНаСервере()
		
	МассивРеквизитов = Новый Массив;
	МассивРеквизитов.Добавить(Новый РеквизитФормы("Остаток", Новый ОписаниеТипов("Число"),"Объект.Товары","Остаток",Ложь));
	ИзменитьРеквизиты(МассивРеквизитов );
	
	Эл = Элементы.Добавить("Колонка1", Тип("ПолеФормы"), Элементы.Товары);
	Эл.Вид = ВидПоляФормы.ПолеВвода;
	Эл.ПутьКДанным = "Объект.Товары.Остаток";

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

КонецПроцедуры


&НаКлиенте
Процедура КомандаПересчитать(Команда)
	КомандаПересчитатьНаСервере();
КонецПроцедуры


Показать
Прикрепленные файлы:
1Cv8.dt
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 34 27.09.23 12:37 Сейчас в теме
(1) 1.
Объект.Товары.Остаток.Загрузить(РезультатЗапроса);

Так делать нельзя.
2. По какой номенклатуре остаток-не важно. К черту уточнения, загружаем все что есть. *сарказм*
3. Кнопка у вас одноразовая получится - при повторном нажатии будет ошибка. Перед созданием реквизита и колонки надо проверять, не создана ли она ранее.
3. mishwey 27.09.23 13:23 Сейчас в теме
(2)
Я только начал изучать 1С понимаю, что возможно сделал полную ахинею. Поэтому и хочу узнать как будет лучше сделать. Может необходимо совершенно другой подход применить.
4. Sashares 34 27.09.23 13:25 Сейчас в теме
(3)Подход +- такой.
1 - перед созданием колонки/поля надо добавить проверку на наличие такого поля. Если уже есть, не создавать.
2 - в запрос добавить отбор по номенклатуре, которая есть в тч, и в выборку добавить номенклатуру.
3 - обойти выборку в цикле и заполнить в ТЧ колонку.
Оставьте свое сообщение
Вакансии
1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 100 000 руб.
Временный (на проект)

Разработчик 1С
Москва
зарплата от 150 000 руб.
Полный день

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

Разработчик 1С
Москва
зарплата от 150 000 руб. до 250 000 руб.
Полный день