Помогите вытащить последнюю цену номенклатуры

1. Evgen13 20.08.21 08:27 Сейчас в теме
Смотрите. Нужно вытащить последнюю цену номенклатуры для расчета процента наценки

Написал функцию

&НаСервере
Функция ЦенаПоступления(Номенклатура)
	
	//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
	// Данный фрагмент построен конструктором.
	// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	МАКСИМУМ(ЦеныНоменклатурыСрезПоследних.Период) КАК Период,
		|	ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
		|ИЗ
		|	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ВидЦены =&ВидЦены 
		| И Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних
		|ГДЕ
		|	ЦеныНоменклатурыСрезПоследних.Цена > 0
		|
		|СГРУППИРОВАТЬ ПО
		|	ЦеныНоменклатурыСрезПоследних.Цена";
	
	Запрос.УстановитьПараметр("ВидЦены", справочники.ВидыЦен.НайтиПоНаименованию("Цена приобретения"));
	Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
	Запрос.УстановитьПараметр("Дата", объект.Дата);

	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		возврат ВыборкаДетальныеЗаписи.Цена;
	КонецЦикла;
	   возврат 0 ;
	//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА


	
КонецФункции
Показать


Потом при изменении цены процедура

&НаСервере
Процедура Расш7_ТоварыЦенаПриИзмененииПослеНаСервере()
	Для Каждого СтрокаТаблицыТовары Из Объект.Товары Цикл
		ЦенаПоступления = ЦенаПоступления(СтрокаТаблицыТовары.Номенклатура);
		СтрокаТаблицыТовары.Процент = ((СтрокаТаблицыТовары.Цена - (ЦенаПоступления *РасчетСтавки(СтрокаТаблицыТовары.СтавкаНДС))) / (ЦенаПоступления *РасчетСтавки(СтрокаТаблицыТовары.СтавкаНДС))) *100 +1;

	СтрокаТаблицыТовары.ЦенаСНДС  = СтрокаТаблицыТовары.Цена+СтрокаТаблицыТовары.Цена*РасчетСтавки(СтрокаТаблицыТовары.СтавкаНДС)/100;
КонецЦикла;

КонецПроцедуры
Показать



в отладчике пишет, что цена поступления 0. И естественно идет деление на Ноль, помогите разобраться.
УТ11.4
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user995537 38 20.08.21 08:42 Сейчас в теме
(1)По моему мнению проще получить таблицу значений цен всей номенклатуры примерно таким запросом
ВЫБРАТЬ
	ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
	ЦеныНоменклатурыСрезПоследних.Номенклатура
ИЗ
	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
			&Период,
			ВидЦены = &ВидЦены
				И Номенклатура В (&Номенклатура)) КАК ЦеныНоменклатурыСрезПоследних

А в процедуру обработки обязательно добавить условие проверки значения на равенство 0 - ведь у номенклатуры на определенную дату может быть действительно не назначена цена.
3. Evgen13 20.08.21 08:45 Сейчас в теме
(2)
а что еще за условие? можно подробнее?
5. Ivanov_OM 38 20.08.21 09:10 Сейчас в теме
(3)Попробуй так:
&НаСервере
Функция ЦенаПоступления(МассивНоменклатуры)
    
    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
        |    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена,0) КАК Цена
        |ИЗ
        |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ВидЦены =&ВидЦены 
        | И Номенклатура В (&МассивНоменклатуры)) КАК ЦеныНоменклатурыСрезПоследних
        |ГДЕ
        |    ЦеныНоменклатурыСрезПоследних.Цена > 0
        |
        |СГРУППИРОВАТЬ ПО
        |    ЦеныНоменклатурыСрезПоследних.Цена";
    
    Запрос.УстановитьПараметр("ВидЦены", справочники.ВидыЦен.НайтиПоНаименованию("Цена приобретения"));
    Запрос.УстановитьПараметр("МассивНоменклатуры", МассивНоменклатуры);
    Запрос.УстановитьПараметр("Дата", объект.Дата);

    
    ТаблицаЦен = Запрос.Выполнить().Выгрузить();
    Возврат     ТаблицаЦен;

    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА


    
КонецФункции

&НаСервере

Процедура Расш7_ТоварыЦенаПриИзмененииПослеНаСервере()
   МассивНоменклатуры = Объект.Товары.ВыгрузитьКолонку("Номенклатура");
   ТаблицаЦен = ЦенаПоступления(МассивНоменклатуры);
    Для Каждого СтрокаТаблицыТовары Из Объект.Товары Цикл
        СтрокаТаблицыЦен =    ТаблицаЦен.Найти(СтрокаТаблицыТовары.Номенклатура,"Номенклатура");
        Если НЕ СтрокаТаблицыЦен = Неопределено Тогда
             ЦенаПоступления =         СтрокаТаблицыЦен.Цена;
            СтрокаТаблицыТовары.Процент = ((СтрокаТаблицыТовары.Цена - (ЦенаПоступления 
*РасчетСтавки(СтрокаТаблицыТовары.СтавкаНДС))) / (ЦенаПоступления *РасчетСтавки(СтрокаТаблицыТовары.СтавкаНДС))) *100 +1;

    СтрокаТаблицыТовары.ЦенаСНДС  = СтрокаТаблицыТовары.Цена+СтрокаТаблицыТовары.Цена*РасчетСтавки(СтрокаТаблицыТовары.СтавкаНДС)/100;
КонецЕсли;
КонецЦикла;

КонецПроцедуры
Показать
6. Evgen13 20.08.21 09:15 Сейчас в теме
(5)
Метод объекта не обнаружен (ВыгрузитьКолонку)
{Наша Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента.Форма(135)}: МассивНоменклатуры = Объект.Товары.ВыгрузитьКолонку("Номенклатура");
{Наша Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента.Форма(152)}: Расш7_ТоварыЦенаПриИзмененииПослеНаСервере();
8. SlavaKron 20.08.21 09:20 Сейчас в теме
(2) (5) Интересно, а с какой целью ЕСТЬNULL используете?
гаврюша; nomad_irk; +2 Ответить
10. Ivanov_OM 38 20.08.21 09:28 Сейчас в теме
(8) Если в регистре вообще нет ни одной записи по этой номенклатуре с этим видом цен, то будет значение NULL.
А сравнивать число с NULL - будет ошибка.
12. Evgen13 20.08.21 09:29 Сейчас в теме
(10)
все равно ошибка(((


помогите, пожалуйста
18. SlavaKron 20.08.21 09:50 Сейчас в теме
(10) Если в результате запроса нет ни одной записи, то NULL взяться неоткуда. ЕстьNULL имеет смысл при левом соединении.
DJ_Codebase; nomad_irk; гаврюша; +3 Ответить
19. laperuz 46 20.08.21 10:14 Сейчас в теме
(18) Если есть агрегатная функция на поле, при этом не выбирается других полей, то NULL будет даже если нет ни одной записи.
Например попробуйте на пустом регистре в УТ выполнить запрос

ВЫБРАТЬ
	МАКСИМУМ(ЦеныНоменклатурыСрезПоследних.Цена) КАК Цена
ИЗ
	РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних


P.S. Но ЕстьNULL конечно, в такой ситуации не поможет)
63. =Kollega= 4 25.09.21 15:50 Сейчас в теме
(10) Если в регистре нет записей по определённым измерениям срез их и не вернёт
4. Evgen13 20.08.21 09:09 Сейчас в теме
Вытащил цены, запрос работает.

но в СТроку табличной части подставляется ноль. Почему так?
7. Ivanov_OM 38 20.08.21 09:19 Сейчас в теме
(4) Нужно так:


&НаСервере

Процедура Расш7_ТоварыЦенаПриИзмененииПослеНаСервере()
  ТекОбъект = РеквизитФормыВЗначение("Объект");	 
  МассивНоменклатуры = ТекОбъект.Товары.ВыгрузитьКолонку("Номенклатура");
   ТаблицаЦен = ЦенаПоступления(МассивНоменклатуры);
    Для Каждого СтрокаТаблицыТовары Из ТекОбъект.Товары Цикл
        СтрокаТаблицыЦен =    ТаблицаЦен.Найти(СтрокаТаблицыТовары.Номенклатура,"Номенклатура");
        Если НЕ СтрокаТаблицыЦен = Неопределено Тогда
             ЦенаПоступления =         СтрокаТаблицыЦен.Цена;
            СтрокаТаблицыТовары.Процент = ((СтрокаТаблицыТовары.Цена - (ЦенаПоступления 
*РасчетСтавки(СтрокаТаблицыТовары.СтавкаНДС))) / (ЦенаПоступления *РасчетСтавки(СтрокаТаблицыТовары.СтавкаНДС))) *100 +1;

    СтрокаТаблицыТовары.ЦенаСНДС  = СтрокаТаблицыТовары.Цена+СтрокаТаблицыТовары.Цена*РасчетСтавки(СтрокаТаблицыТовары.СтавкаНДС)/100;
КонецЕсли;
КонецЦикла;
ЗначениеВРеквизитФормы(ТекОбъект,"Объект");
КонецПроцедуры
Показать
9. Evgen13 20.08.21 09:25 Сейчас в теме
(7)
{(2, 5)}: Поле не входит в группу "ЦеныНоменклатурыСрезПоследних.Номенклатура"
<<?>>ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
{Наша Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента.Форма(64)}: ТаблицаЦен = Запрос.Выполнить().Выгрузить();
{Наша Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента.Форма(137)}:ТаблицаЦен = ЦенаПоступления(МассивНоменклатуры);
{Наша Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента.Форма(155)}: Расш7_ТоварыЦенаПриИзмененииПослеНаСервере();

по причине:
{(2, 5)}: Поле не входит в группу "ЦеныНоменклатурыСрезПоследних.Номенклатура"
<<?>>ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
11. Ivanov_OM 38 20.08.21 09:29 Сейчас в теме
(9) Наверное у вас поле в таблице Товары называется не Номенклатура, а "Товары" или еще как-то, поставьте правильное название колонки.
13. Evgen13 20.08.21 09:32 Сейчас в теме
14. Evgen13 20.08.21 09:35 Сейчас в теме
(11)
Недопустимое значение параметра (параметр номер '1') (Колонка не принадлежит коллекции)
{Наша Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента.Форма(136)}:МассивНоменклатуры = ТекОбъект.Товары.ВыгрузитьКолонку("Товары");
{Наша Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента.Форма(155)}: Расш7_ТоварыЦенаПриИзмененииПослеНаСервере();

по причине:
Недопустимое значение параметра (параметр номер '1') (Колонка не принадлежит коллекции)
15. spacecraft 20.08.21 09:39 Сейчас в теме
(14)
ТекОбъект.Товары.ВыгрузитьКолонку("Товары");

Не Товары, а Номенклатура
16. Evgen13 20.08.21 09:40 Сейчас в теме
(15)
{(2, 5)}: Поле не входит в группу "ЦеныНоменклатурыСрезПоследних.Номенклатура"
<<?>>ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
{Наша Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента.Форма(64)}: ТаблицаЦен = Запрос.Выполнить().Выгрузить();
{Наша Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента.Форма(137)}:ТаблицаЦен = ЦенаПоступления(МассивНоменклатуры);
{Наша Документ.КоммерческоеПредложениеКлиенту.Форма.ФормаДокумента.Форма(155)}: Расш7_ТоварыЦенаПриИзмененииПослеНаСервере();

по причине:
{(2, 5)}: Поле не входит в группу "ЦеныНоменклатурыСрезПоследних.Номенклатура"
<<?>>ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
17. spacecraft 20.08.21 09:42 Сейчас в теме
(16) в запросе группировку поправить
        |СГРУППИРОВАТЬ ПО
|    ЦеныНоменклатурыСрезПоследних.Номенклатура,
        |    ЦеныНоменклатурыСрезПоследних.Цена";
20. Evgen13 20.08.21 10:22 Сейчас в теме
(17)
ошибок нет, но и не рассчитывает
21. Evgen13 20.08.21 10:25 Сейчас в теме
(17)
Процедура Расш7_ТоварыЦенаПриИзмененииПослеНаСервере()
ТекОбъект = РеквизитФормыВЗначение("Объект");
МассивНоменклатуры = ТекОбъект.Товары.ВыгрузитьКолонку("Номенклатура");
ТаблицаЦен = ЦенаПоступления(МассивНоменклатуры);
Для Каждого СтрокаТаблицыТовары Из ТекОбъект.Товары Цикл
СтрокаТаблицыЦен = ТаблицаЦен.Найти(СтрокаТаблицыТовары.Номенклатура,"Номенклатура");
Если НЕ СтрокаТаблицыЦен = Неопределено Тогда
ЦенаПоступления = СтрокаТаблицыЦен.Цена;
СтрокаТаблицыТовары.Процент = ((СтрокаТаблицыТовары.Цена - (ЦенаПоступления
*РасчетСтавки(СтрокаТаблицыТовары.СтавкаНДС))) / (ЦенаПоступления *РасчетСтавки(СтрокаТаблицыТовары.СтавкаНДС))) *100 +1;

СтрокаТаблицыТовары.ЦенаСНДС = СтрокаТаблицыТовары.Цена+СтрокаТаблицыТовары.Цена*РасчетСтавки(СтрокаТаблицыТовары.СтавкаНДС)/100;
КонецЕсли;
КонецЦикла;
ЗначениеВРеквизитФормы(ТекОбъект,"Объект");
Показать


я так понимаю, сейчас ошибка где то в формуле
23. spacecraft 20.08.21 10:47 Сейчас в теме
(21) цена не устанавливается. Добавить установку цены
ЦенаПоступления = СтрокаТаблицыЦен.Цена;
СтрокаТаблицыТовары.Цена = ЦенаПоступления;
22. Evgen13 20.08.21 10:27 Сейчас в теме
массивНоменклатуры пишет что не определенно в отладчике
24. Evgen13 23.09.21 14:47 Сейчас в теме
Друзья, снова вопрос с ценами. Смотрите, у нас идет серийный учет номенклатуры.

"ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
| ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена,0) КАК Цена
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ВидЦены =&ВидЦены
| И Номенклатура В (&МассивНоменклатуры)) КАК ЦеныНоменклатурыСрезПоследних
|ГДЕ
| ЦеныНоменклатурыСрезПоследних.Цена > 0
|
|СГРУППИРОВАТЬ ПО
| ЦеныНоменклатурыСрезПоследних.Номенклатура,
| ЦеныНоменклатурыСрезПоследних.Цена";


Этим запросом вытаскивается цена из серии, то есть последняя установленная. а нужно, чтобы вытаскивалась цена из номенклатуры самой.


помогите
25. FatPanzer 23.09.21 14:50 Сейчас в теме
(24)
цена из серии, то есть последняя установленная. а нужно, чтобы вытаскивалась цена из номенклатуры самой.
А в чем разница?
26. Evgen13 23.09.21 14:51 Сейчас в теме
(25)
установка цен устанавливается цена номенклатуры, но не серии.

а цены по сериям могут быть разными
27. FatPanzer 23.09.21 14:53 Сейчас в теме
(26) Ну и как вы устанавливаете цены на серии?
28. Evgen13 23.09.21 14:55 Сейчас в теме
(27)
документом прихода. на основании него создаем документ установка цен
29. FatPanzer 23.09.21 14:56 Сейчас в теме
(28) И там есть серия, в документе установки цен?
30. Evgen13 23.09.21 14:59 Сейчас в теме
Да. только если ставить на номенклатуру, то устанавливается на все
Прикрепленные файлы:
31. FatPanzer 23.09.21 15:05 Сейчас в теме
(30) Ааа, так это Ценообразование 2.5. Посмотри движения документа - куда он пишет эти цены. Там другой регистр, а не ЦеныНоменклатуры.
32. Evgen13 23.09.21 15:09 Сейчас в теме
(31)
это один регистр
Прикрепленные файлы:
33. FatPanzer 23.09.21 15:20 Сейчас в теме
(32) Да ладно!?!?!? А структура этого отчета совпадает со структурой регистра "Цены номенклатуры" в конфигураторе?
34. Evgen13 23.09.21 15:23 Сейчас в теме
35. FatPanzer 23.09.21 15:25 Сейчас в теме
(34) То есть в регистре "ЦеныНоменклатуры" есть измерение "Серия"???
36. Evgen13 23.09.21 15:35 Сейчас в теме
37. FatPanzer 23.09.21 15:43 Сейчас в теме
(36) Круто. И где он в твоем запросе?
39. Evgen13 23.09.21 15:43 Сейчас в теме
(37)
так мне как раз таки серия и нафиг не нужна. мне нужна цена номенклатуры
41. FatPanzer 23.09.21 15:48 Сейчас в теме
(39) Ну а в чем разница-то? Вот у тебя регистр с ценами. В нем цены. Как ты отличишь цену номенклатуры от цены серии?
42. Evgen13 23.09.21 15:53 Сейчас в теме
(41) цена номенклатуры устанавливается для коммерческих предложений.
а цена серии устанавливается документом прихода.
и цены могут быть разными
44. FatPanzer 23.09.21 15:55 Сейчас в теме
(42) Документом прихода НИЧЕГО не устанавливается. Как и коммерческим предложением. Они НЕ являются регистраторами для регистра цен. Они только служат источником товаров и цен для документа установки цен.
45. FatPanzer 23.09.21 15:56 Сейчас в теме
(42) Я. Тебя. Спрашиваю. Про регистр. Открой форму списка регистра и посмотри - ЧЕМ отличается цена номенклатуры от цены серии? Что в них РАЗНОГО?
46. Evgen13 23.09.21 15:58 Сейчас в теме
(45)/
Прикрепленные файлы:
48. FatPanzer 23.09.21 16:01 Сейчас в теме
(46) Это другой документ. Ты мне покажи 3931, который в (32) , что ты мне все время разные подсовываешь??? Обижусь и уйду, сам трахаться будешь.
47. Evgen13 23.09.21 15:59 Сейчас в теме
(45)/
Прикрепленные файлы:
49. FatPanzer 23.09.21 16:02 Сейчас в теме
(47) И? Видишь чем отличаются цены серий от цен номенклатуры в этом списке?
50. Evgen13 23.09.21 16:05 Сейчас в теме
(49) вижу, так я про это и говорю, что они отличаются
51. FatPanzer 23.09.21 16:07 Сейчас в теме
(50) Я как бы тоже вижу. А чем они отличаются? Посмотри еще раз внимательнее, и попробуй еще раз ответить на мой вопрос:
Круто. И где он в твоем запросе?
53. Evgen13 23.09.21 16:12 Сейчас в теме
(51)|ГДЕ
| ЦеныНоменклатурыСрезПоследних.Цена > 0
//| И ЦеныНоменклатурыСрезПоследних.УТР_Серия = &УТР_Серия
54. Evgen13 23.09.21 16:16 Сейчас в теме
(51)

а как добавить в запрос эту серию?
да и доавить так, чтобы серия была пустой и выбирал он пустую серию, то есть как раз цену номенклатуры
55. FatPanzer 23.09.21 16:37 Сейчас в теме
(54) Точно так же как и все остальные параметры запроса (тот же вид цены или массив номенклатуры) - установить ссылку серии в параметр запроса.
56. Evgen13 24.09.21 07:57 Сейчас в теме
(55)
ну мне же нужна пустая ссылка. То есть , чтобы отбор был по номенклатуре без серии
57. nomad_irk 76 24.09.21 08:08 Сейчас в теме
(56)

И ЦеныНоменклатурыСрезПоследних.УТР_Серия = ЗНАЧЕНИЕ(Справочник.<ИмяСпрвочника>.ПустаяСсылка)
58. Evgen13 24.09.21 08:21 Сейчас в теме
(57)
 Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |	ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
        |	ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
        |	ЦеныНоменклатурыСрезПоследних.УТР_Серия КАК УТР_Серия
        |ИЗ
        |	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
        |			&Дата,
        |			ВидЦены = &ВидЦены,
        |				Номенклатура В (&МассивНоменклатуры)) КАК ЦеныНоменклатурыСрезПоследних
        | И ЦеныНоменклатурыСрезПоследних.УТР_Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
        |ГДЕ
        |	ЦеныНоменклатурыСрезПоследних.Цена > 0
        |
        |СГРУППИРОВАТЬ ПО
        |	ЦеныНоменклатурыСрезПоследних.Номенклатура,
        |	ЦеныНоменклатурыСрезПоследних.Цена,
        |	ЦеныНоменклатурыСрезПоследних.УТР_Серия";
    
    Запрос.УстановитьПараметр("ВидЦены", справочники.ВидыЦен.НайтиПоНаименованию(" цена приобретения"));
    Запрос.УстановитьПараметр("МассивНоменклатуры", МассивНоменклатуры);
    Запрос.УстановитьПараметр("Дата", объект.Дата);
Показать


Синтаксическая ошибка
59. Evgen13 24.09.21 08:28 Сейчас в теме
(57)

 ИЗ
        	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
        			&Дата,
        			ВидЦены = &ВидЦены,
        				 Номенклатура В (&МассивНоменклатуры) 
        				  И  ЦеныНоменклатурыСрезПоследних.УТР_Серия = ЗНАЧЕНИЕ(Справочники.СерииНоменклатуры.ПустаяСсылка)) КАК ЦеныНоменклатурыСрезПоследних



Затупил. Но теперь пишет, что неверные параметры
60. nomad_irk 76 24.09.21 08:35 Сейчас в теме
(59)вы вообще не понимаете, что пишите и что хотите получить в итоге?

ЦеныНоменклатурыСрезПоследних.УТР_Серия = ЗНАЧЕНИЕ(Справочники.СерииНоменклатуры.ПустаяСсылка)


необходимо указывать в секции ГДЕ

Группировка в запросе для каких целей?

ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) для какой цели? Значение в регистре никогда не будет NULL, если оно будет NULL - это ошибка целостности данных.
61. Evgen13 24.09.21 09:04 Сейчас в теме
(60)

ну я говорю же затупил)
спасибо Вам. Работает!
62. FatPanzer 24.09.21 09:29 Сейчас в теме
(56) Боже, какая проблема получить пустую ссылку... Базовые навыки работы с прикладными объектами отсутствуют напрочь...
52. Evgen13 23.09.21 16:08 Сейчас в теме
43. FatPanzer 23.09.21 15:54 Сейчас в теме
(30) Ну-ка, сдвинь-ка отчет вправо. Там же цена у серии и у номенклатуры одинаковая, правда?
38. Evgen13 23.09.21 15:43 Сейчас в теме
&Вместо("ТекстЗапросаТаблицаЦеныНоменклатуры")
Функция Расш1_ТекстЗапросаТаблицаЦеныНоменклатуры(Запрос, ТекстыЗапроса, Регистры)
	ИмяРегистра = "ЦеныНоменклатуры";
	
	Если Не ПроведениеСерверУТ.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
		Возврат "";
	КонецЕсли; 
	
	ТекстЗапроса =
	"ВЫБРАТЬ
	// УТР - начало
	//|	ТаблицаТовары.УТР_Серия КАК УТР_Серия,
	// УТР - конец
	|	ТаблицаТовары.Номенклатура          КАК Номенклатура,
	|	ТаблицаТовары.Характеристика        КАК Характеристика,
	|	ТаблицаТовары.Упаковка              КАК Упаковка,
	|	ТаблицаТовары.ВидЦены               КАК ВидЦены,
	|	ТаблицаТовары.Цена                  КАК Цена,
	|	ТаблицаТовары.ВидЦены.ВалютаЦены    КАК Валюта,
	|	ТаблицаТовары.Ссылка.Дата           КАК ПЕРИОД
	|ИЗ
	|	Документ.УстановкаЦенНоменклатуры.Товары КАК ТаблицаТовары
	|ГДЕ
	|	ТаблицаТовары.Ссылка.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыУстановокЦенНоменклатуры.Согласован)
	|	И ТаблицаТовары.Ссылка = &Ссылка
	//// УТР - начало
	//|	И (ТаблицаТовары.Номенклатура.ВидНоменклатуры.НастройкаИспользованияСерий <> ЗНАЧЕНИЕ(Перечисление.НастройкиИспользованияСерийНоменклатуры.УТР_УчетПартий)
	//|		ИЛИ (ТаблицаТовары.Номенклатура.ВидНоменклатуры.НастройкаИспользованияСерий = ЗНАЧЕНИЕ(Перечисление.НастройкиИспользованияСерийНоменклатуры.УТР_УчетПартий)
	//|		))
	//// УТР - конец
	|	И (ТаблицаТовары.Номенклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
	|		ИЛИ (ТаблицаТовары.Номенклатура.ИспользованиеХарактеристик <> ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
	|		И ТаблицаТовары.Характеристика <> ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)))
	|";
	
	ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
	
	Возврат ТекстЗапроса;

КонецФункции
Показать



в установке цен в расширении написан такой код. закоментил область УТР, где как раз в регистр добавляются цены серий, но теперь пишет, ошибка при вызове метода записать
40. FatPanzer 23.09.21 15:47 Сейчас в теме
(38) 1. Здесь нет установки цен на серию.
2. Какое интересное условие -"А=1 ИЛИ А<>1"
64. user1860210 26.02.24 08:35 Сейчас в теме
Добрый день подскажите пожалуйста как сделать так чтобы при выборе номенклатур автоматический выбрался цена сумма и количество
Прикрепленные файлы:
Оставьте свое сообщение

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