Почему не выбирает значение при повторном подборе

1. RALik_Minsk 09.10.18 17:06 Сейчас в теме
Если документ создан новым или путем копирования то данная процедура работает как надо.
При выборе номенклатуры он подставляет ЦенаИзготовителя в поле СтоимостьОбеда
Если же надо пере добрать номенклатуру из-за изменившийся ЦенаИзготовителя и пересчитать для всех в списке она не работает(

Процедура НоменкОбедПриИзменении(Элемент)
	// Вставить содержимое обработчика.
	Запрос = Новый Запрос;
	Запрос.Текст =
	 "ВЫБРАТЬ
	 |	ПартииТМЦРегламентныеОстатки.Номенклатура,
	 |	ПартииТМЦРегламентныеОстатки.Организация,
	 |	ПартииТМЦРегламентныеОстатки.МестоХранения,
	 |	ПартииТМЦРегламентныеОстатки.МОЛ,
	 |	ПартииТМЦРегламентныеОстатки.ВидНоменклатуры,
	 |	ПартииТМЦРегламентныеОстатки.ДокументПоступления,
	 |	ПартииТМЦРегламентныеОстатки.Серия,
	 |	ПартииТМЦРегламентныеОстатки.ЦенаИзготовителя,
	 |	ПартииТМЦРегламентныеОстатки.ХарактеристикаНоменклатуры,
	 |	ПартииТМЦРегламентныеОстатки.КоличествоОстаток,
	 |	ПартииТМЦРегламентныеОстатки.СуммаОстаток
	 |ИЗ
	 |	РегистрНакопления.ПартииТМЦРегламентные.Остатки КАК ПартииТМЦРегламентныеОстатки
	 |ГДЕ
	 |	ПартииТМЦРегламентныеОстатки.МестоХранения = &МестоХранения
	 |	И ПартииТМЦРегламентныеОстатки.Номенклатура = &Номенклатура
	 |	И НАЧАЛОПЕРИОДА(ПартииТМЦРегламентныеОстатки.ДокументПоступления.Дата, ДЕНЬ) = &Дата"  ;
	 Запрос.УстановитьПараметр("Дата", Дата);
	 Запрос.УстановитьПараметр("МестоХранения", МестоХранения);
	 Запрос.УстановитьПараметр("Номенклатура", НоменкОбед);
	 Итог = Запрос.Выполнить().Выбрать ();
	 Пока Итог.Следующий() Цикл
		 СтоимостьОбеда = Итог.ЦенаИзготовителя;
	 КонецЦикла;
	 
	 СтоимостьОбедаПриИзменении();
КонецПроцедуры
Показать
По теме из базы знаний
Найденные решения
13. RALik_Minsk 24.10.18 09:39 Сейчас в теме
Спасибо за подсказку со временем надо приводить обе даты к одному знаменателю или дату самого документа на конец дня. И еще вопрос в запросе есть данные которые по сути не нужны увеличивают они время обработки запроса или не критично?
// Вставить содержимое обработчика.
	Запрос = Новый Запрос;
	Запрос.Текст =
	 "ВЫБРАТЬ
     |    ПартииТМЦРегламентныеОстатки.Номенклатура,
     |    ПартииТМЦРегламентныеОстатки.МестоХранения,
     |    ПартииТМЦРегламентныеОстатки.МОЛ,
     |    ПартииТМЦРегламентныеОстатки.ВидНоменклатуры,
     |    ПартииТМЦРегламентныеОстатки.ДокументПоступления,
     |    ПартииТМЦРегламентныеОстатки.Серия,
     |    ПартииТМЦРегламентныеОстатки.ЦенаИзготовителя,
     |    ПартииТМЦРегламентныеОстатки.ХарактеристикаНоменклатуры,
     |    ПартииТМЦРегламентныеОстатки.КоличествоОстаток,
     |    ПартииТМЦРегламентныеОстатки.СуммаОстаток
     |ИЗ
     |    РегистрНакопления.ПартииТМЦРегламентные.Остатки КАК ПартииТМЦРегламентныеОстатки
     |ГДЕ
     |    ПартииТМЦРегламентныеОстатки.МестоХранения = &МестоХранения
     |    И ПартииТМЦРегламентныеОстатки.Номенклатура = &Номенклатура
     |    И КонецПЕРИОДА(ПартииТМЦРегламентныеОстатки.ДокументПоступления.Дата, ДЕНЬ) = &Дата"  ;
	 Запрос.УстановитьПараметр("Дата",КонецДня(Дата));
	 Запрос.УстановитьПараметр("МестоХранения", МестоХранения);
	 Запрос.УстановитьПараметр("Номенклатура", НоменкОбед);
	 Итог = Запрос.Выполнить().Выбрать();
	 Пока Итог.Следующий() Цикл
		 СтоимостьОбеда = Итог.ЦенаИзготовителя;
	 КонецЦикла;
	 СтоимостьОбедаПриИзменении();
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
9. spacecraft 23.10.18 15:02 Сейчас в теме
(1)
| И НАЧАЛОПЕРИОДА(ПартииТМЦРегламентныеОстатки.ДокументПоступления.Дата, ДЕНЬ) = &Дата" ;

Вот тут точно неправильно. Записанный документ будет иметь дату отличную от начало дня. Созданный но еще не записанный как раз дата начала дня.
10. RALik_Minsk 23.10.18 15:05 Сейчас в теме
(9) Я и конецдня использовал один черт не работает Даже делал время ДокументПоступления и Ведомости одинаковое ни фурычыт (((
11. spacecraft 23.10.18 15:06 Сейчас в теме
(10) Запрос.УстановитьПараметр("Дата",НачалоДня(Дата));
12. RALik_Minsk 23.10.18 15:10 Сейчас в теме
(9) Хотя вру использовал эту строку И ПартииТМЦРегламентныеОстатки.ДокументПоступления.Дата = &Дата" ; записал оба документа на 12:00:00 и сработало!!!
Буду бодаться с датами
Прикрепленные файлы:
2. DarkUser 09.10.18 17:08 Сейчас в теме
Проведенный документ делает движения, которые так же учитываются запросом. Поэтому, необходимо брать остатки в регистре на момент до совершения документом движений. Смотрите в сторону использования не даты в параметре, а МоментаВремени и Границы. Например: Новый Граница(ДокументСсылка.МоментВремени(),ВидГраницы.Исключая)
3. RALik_Minsk 23.10.18 14:14 Сейчас в теме
(2)Документ не проведен! только записан да и какая разница Сам запрос в консоле запроса все находит
4. Boneman 298 23.10.18 14:20 Сейчас в теме
(3) поставь точку останова да проверь, что у тебя там в запрос засылается...
думаю параметры, не те какие нужно.
Тут в самом коде нет никаких подвохов или ошибок, как говорится, ломаться нечему.
5. RALik_Minsk 23.10.18 14:34 Сейчас в теме
(4) Вот что выводит Итог в итоге он пролетает и все но почему это все работает при создании или копировании как только документ записан все не выбирает(
Итог
МестоХранения Ошибка чтения значения
Номенклатура Ошибка чтения значения
ЦенаИзготовителя Ошибка чтения значения
Прикрепленные файлы:
6. RALik_Minsk 23.10.18 14:48 Сейчас в теме
(4)А вот как при создании нового Что касается сомого запроса то я уже и так и сяк его ломал все ни как
Прикрепленные файлы:
7. Boneman 298 23.10.18 14:51 Сейчас в теме
(6) ты параметры запроса смотри, а не то, что запрос выдает в конце.
8. RALik_Minsk 23.10.18 15:02 Сейчас в теме
(7) Параметры он все нормально берет.
Прикрепленные файлы:
13. RALik_Minsk 24.10.18 09:39 Сейчас в теме
Спасибо за подсказку со временем надо приводить обе даты к одному знаменателю или дату самого документа на конец дня. И еще вопрос в запросе есть данные которые по сути не нужны увеличивают они время обработки запроса или не критично?
// Вставить содержимое обработчика.
	Запрос = Новый Запрос;
	Запрос.Текст =
	 "ВЫБРАТЬ
     |    ПартииТМЦРегламентныеОстатки.Номенклатура,
     |    ПартииТМЦРегламентныеОстатки.МестоХранения,
     |    ПартииТМЦРегламентныеОстатки.МОЛ,
     |    ПартииТМЦРегламентныеОстатки.ВидНоменклатуры,
     |    ПартииТМЦРегламентныеОстатки.ДокументПоступления,
     |    ПартииТМЦРегламентныеОстатки.Серия,
     |    ПартииТМЦРегламентныеОстатки.ЦенаИзготовителя,
     |    ПартииТМЦРегламентныеОстатки.ХарактеристикаНоменклатуры,
     |    ПартииТМЦРегламентныеОстатки.КоличествоОстаток,
     |    ПартииТМЦРегламентныеОстатки.СуммаОстаток
     |ИЗ
     |    РегистрНакопления.ПартииТМЦРегламентные.Остатки КАК ПартииТМЦРегламентныеОстатки
     |ГДЕ
     |    ПартииТМЦРегламентныеОстатки.МестоХранения = &МестоХранения
     |    И ПартииТМЦРегламентныеОстатки.Номенклатура = &Номенклатура
     |    И КонецПЕРИОДА(ПартииТМЦРегламентныеОстатки.ДокументПоступления.Дата, ДЕНЬ) = &Дата"  ;
	 Запрос.УстановитьПараметр("Дата",КонецДня(Дата));
	 Запрос.УстановитьПараметр("МестоХранения", МестоХранения);
	 Запрос.УстановитьПараметр("Номенклатура", НоменкОбед);
	 Итог = Запрос.Выполнить().Выбрать();
	 Пока Итог.Следующий() Цикл
		 СтоимостьОбеда = Итог.ЦенаИзготовителя;
	 КонецЦикла;
	 СтоимостьОбедаПриИзменении();
Показать
Оставьте свое сообщение

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