ПоступлениеТоваров добавляет запись в подчиненный регистр сведений ЦеныКниг, только если изменилась цена

1. G_112554145174050569990 03.06.26 14:58 Сейчас в теме
Сделала движения из документа ПоступлениеТоваров (регистратор) в регистр сведений ЦеныКниг (подчиненный), стандартным способом в модуле документа процедурой ОбработкаПроведения:
Процедура ОбработкаПроведения(Отказ, Режим)
	Движения.ТоварыНаСкладах.Записывать = Истина;
	Движения.ЦеныКниг.Записывать = Истина; 	
		
	Запрос = Новый Запрос; 	
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ПоступлениеТоваровТовары.Книга КАК Книга,
		|	ПоступлениеТоваровТовары.Количество КАК КоличествоВДокументе,
		|	ПоступлениеТоваровТовары.Сумма КАК СуммаВДокументе,
		|	ПоступлениеТоваровТовары.Цена КАК ЦенаВДокументе,
		|	ЦеныКнигСрезПоследних.Цена КАК ЦенаВРегистре
		|ИЗ
		|	Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары,
		|	РегистрСведений.ЦеныКниг.СрезПоследних КАК ЦеныКнигСрезПоследних
		|ГДЕ
		|	ПоступлениеТоваровТовары.Ссылка = &Ссылка";
	
	Запрос.УстановитьПараметр("Ссылка", Ссылка);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		// регистр ТоварыНаСкладах Приход
		Движение = Движения.ТоварыНаСкладах.Добавить();
		Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
		Движение.Период = Дата;
		Движение.Склад = Склад;
		Движение.Книга = ВыборкаДетальныеЗаписи.Книга;
		Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе;
		Движение.Сумма = ВыборкаДетальныеЗаписи.СуммаВДокументе;
		
	  Если ВыборкаДетальныеЗаписи.ЦенаВДокументе <> ВыборкаДетальныеЗаписи.ЦенаВРегистре Тогда
	    // регистр ЦеныКниг
	    Движение = Движения.ЦеныКниг.Добавить();
	    Движение.Период = Дата;
	    Движение.Книга = ВыборкаДетальныеЗаписи.Книга;
	    Движение.Цена = ВыборкаДетальныеЗаписи.ЦенаВДокументе;
	  КонецЕсли;
	
	КонецЦикла;
КонецПроцедуры

Показать


Записей с одной ценой нет в списке, но только если указан одинаковый склад, если же склад различается, то и запись с той же ценой появляется..(скрины)
Также в ТЗ у регистра ЦеныКниг есть реквизит ИсточникИзменения (строка), не поняла зачем он нужен
Думала добавить условие со складом, но не знаю как это вообще прописать. Или же надо как-то через модуль набора записей это делать?
Прикрепленные файлы:
Найденные решения
3. homer_ 79 03.06.26 15:27 Сейчас в теме
(1) открыть в конфигураторе запрос, перейти на вкладку "связи" и подумать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. homer_ 79 03.06.26 15:27 Сейчас в теме
(1) открыть в конфигураторе запрос, перейти на вкладку "связи" и подумать
2. KirillHome 5 03.06.26 15:11 Сейчас в теме
(1) Серьёзно - такой запрос???

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


То есть две несвязанные между собой таблицы, и для РС ЦеныКниг - нет никакого отбора???
4. G_112554145174050569990 03.06.26 15:54 Сейчас в теме
(2) ххахах да, я уже нашла ошибку.. :///
5. RoyFincher 4 03.06.26 16:03 Сейчас в теме
(4)
ххахах да, я уже нашла ошибку.. :///

Какую?
Для отправки сообщения требуется регистрация/авторизация

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