Пытаюсь поделить товары по СНО из РТУ

1. user2101303 17.12.24 19:17 Сейчас в теме
В чём суть кода: есть ТЧ в РТУ и регистр СНО, в котором номенклатура и сно. Пытаюсь сделать, чтобы в РТУ можно было нажать кнопку и товары поделились по СНО и на каждый СНО создался отдельный документ РТУ.
Но по нажатию ничего не происходит. Точку остановки ставил, даже на ней не останавливается, уже кнопку на саму форму пробовал добавить.

Процедура РазделитьСно ()		 

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

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

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

	Для Каждого СНО Из ТаблицыПоСНО Цикл
		НовыйДокумент = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
		Для Каждого Товар Из ТаблицыПоСНО[СНО] Цикл
			НоваяСтрока = НовыйДокумент.Товары.Добавить();
			НоваяСтрока.Номенклатура = Товар.Номенклатура;
			НоваяСтрока.Количество = Товар.Количество;
			НоваяСтрока.Цена = Товар.Цена;
		КонецЦикла;
		НовыйДокумент.СНО = СНО;
		НовыйДокумент.Записать();
	КонецЦикла;	 
	
КонецПроцедуры
Показать
По теме из базы знаний
Найденные решения
8. starjevschik 17.12.24 21:05 Сейчас в теме
А если этих СНО несколько на один товар? А если ни одного? А если в документе несколько строк с одним товаром? А почему мы вообще все реализации загоняем в этот запрос? Код выглядит наброском для начала размышлений о необходимости учебы...
И не в порядке поучений, но рассмотри такой объект как дерево значений. Очень удобная штука для деления всяких списков по одному из реквизитов.

(1)
Но по нажатию ничего не происходит

это да, вопрос. Тут надо с самого начала, в кнопке какой код, какая процедура, там ставим остановку отладчика, дальше по шагам. Может проблема и не в этом коде, а где-то раньше.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user2107191 17.12.24 19:25 Сейчас в теме
(1)
Но по нажатию ничего не происходит.
Может не на то нажимаешь?
3. user2101303 17.12.24 19:26 Сейчас в теме
(2) та вроде на то, а код сам по себе верный более менее?
4. user2107191 17.12.24 19:28 Сейчас в теме
(3)
та вроде на то
то есть уверенности нет?
6. user2101303 17.12.24 19:32 Сейчас в теме
(4) 100% на то нажимаю, можете пожалуйста подсказать, хотя бы в какую сторону копать?
7. user2107191 17.12.24 19:37 Сейчас в теме
(6)
Точку остановки ставил, даже на ней не останавливается
Вот с этим разберись сначала. Ибо не на то жмешь. Или не туда вставляешь.
И не того ожидаешь.

А уже потом будешь разбираться с ошибками, когда этот код начнет исполняться. Сам увидишь ошибки.
5. user2107191 17.12.24 19:29 Сейчас в теме
8. starjevschik 17.12.24 21:05 Сейчас в теме
А если этих СНО несколько на один товар? А если ни одного? А если в документе несколько строк с одним товаром? А почему мы вообще все реализации загоняем в этот запрос? Код выглядит наброском для начала размышлений о необходимости учебы...
И не в порядке поучений, но рассмотри такой объект как дерево значений. Очень удобная штука для деления всяких списков по одному из реквизитов.

(1)
Но по нажатию ничего не происходит

это да, вопрос. Тут надо с самого начала, в кнопке какой код, какая процедура, там ставим остановку отладчика, дальше по шагам. Может проблема и не в этом коде, а где-то раньше.
9. user2101303 18.12.24 12:46 Сейчас в теме
Оставьте свое сообщение

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