Имя: Пароль:
1C
 
ошибка с валютой в Ут11
0 program345
 
09.10.25
09:12
доброго!
1. Оператор создает новую номеклатуру
2. Заводит док Установка цен номенклатуры
3. при утверждении ввода строки выходит сообщение

"Не установлен курс валюты:"


4. Нашел запрос, который получает эту валюту типа null

Запрос = Новый Запрос("ВЫБРАТЬ
	|	ВременнаяТаблицаТовары.Номенклатура КАК Номенклатура,
	|	ВременнаяТаблицаТовары.Характеристика КАК Характеристика,
	|	ВременнаяТаблицаТовары.ВидЦены КАК ВидЦены,
	|	ВременнаяТаблицаТовары.Цена КАК Цена,
	|	ВременнаяТаблицаТовары.Упаковка КАК Упаковка,
	|	ВременнаяТаблицаТовары.Валюта КАК ВалютаИзменения
	|ПОМЕСТИТЬ ВременнаяТаблицаТовары
	|ИЗ
	|	&Товары КАК ВременнаяТаблицаТовары
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	Номенклатура,
	|	Характеристика,
	|	ВидЦены
	|;
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВременнаяТаблицаТоварыЗапрещенныеКРедактированию.Номенклатура КАК Номенклатура,
	|	ВременнаяТаблицаТоварыЗапрещенныеКРедактированию.Характеристика КАК Характеристика,
	|	ВременнаяТаблицаТоварыЗапрещенныеКРедактированию.ВидЦены КАК ВидЦены,
	|	ИСТИНА КАК ЗапретРедактирования
	|ПОМЕСТИТЬ ВременнаяТаблицаТоварыЗапрещенныеКРедактированию
	|ИЗ
	|	&ТоварыЗапрещенныеКРедактированию КАК ВременнаяТаблицаТоварыЗапрещенныеКРедактированию
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	Номенклатура,
	|	Характеристика,
	|	ВидЦены
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВременнаяТаблицаТовары.Номенклатура КАК Номенклатура,
	|	ВременнаяТаблицаТовары.Характеристика КАК Характеристика,
	|	ВременнаяТаблицаТовары.ВидЦены КАК ВидЦены,
	|	ВременнаяТаблицаТовары.Цена КАК Цена,
	|	ВЫБОР
	|		КОГДА ЦеныНоменклатуры.Упаковка = ВременнаяТаблицаТовары.Упаковка
	|			ТОГДА ЦеныНоменклатуры.Цена
	|		ИНАЧЕ ЦеныНоменклатуры.Цена / ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, 1) *
	|			ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки2, 1)
	|	КОНЕЦ КАК ДействующаяЦена,
	|	ВЫРАЗИТЬ(ВЫБОР
	|		КОГДА ЦеныНоменклатуры.Цена <> 0
	|			ТОГДА 100 * (ВременнаяТаблицаТовары.Цена - ВЫБОР
	|				КОГДА ЦеныНоменклатуры.Упаковка = ВременнаяТаблицаТовары.Упаковка
	|					ТОГДА ЦеныНоменклатуры.Цена
	|				ИНАЧЕ ЦеныНоменклатуры.Цена / ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, 1) *
	|					ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки2, 1)
	|			КОНЕЦ) / ВЫБОР
	|				КОГДА ЦеныНоменклатуры.Упаковка = ВременнаяТаблицаТовары.Упаковка
	|					ТОГДА ЦеныНоменклатуры.Цена
	|				ИНАЧЕ ЦеныНоменклатуры.Цена / ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, 1) *
	|					ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки2, 1)
	|			КОНЕЦ
	|		ИНАЧЕ 0.00
	|	КОНЕЦ КАК Число(25, 2)) КАК Процент,
	|	ВременнаяТаблицаТовары.Упаковка КАК Упаковка,
	|	ВременнаяТаблицаТовары.ВалютаИзменения КАК ВалютаИзменения,
	|	ЦеныНоменклатуры.Валюта КАК ДействующаяВалюта,
	|	ЕСТЬNULL(ВременнаяТаблицаТоварыЗапрещенныеКРедактированию.ЗапретРедактирования, ЛОЖЬ) КАК ЗапретРедактирования
	|ИЗ
	|	ВременнаяТаблицаТовары КАК ВременнаяТаблицаТовары
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаДокумента, (Номенклатура, Характеристика,
	|			ВидЦены) В
	|			(Выбрать
	|				Т.Номенклатура,
	|				Т.Характеристика,
	|				Т.ВидЦены
	|			ИЗ
	|				ВременнаяТаблицаТовары КАК Т)) КАК ЦеныНоменклатуры
	|		ПО ЦеныНоменклатуры.Номенклатура = ВременнаяТаблицаТовары.Номенклатура
	|		И ЦеныНоменклатуры.Характеристика = ВременнаяТаблицаТовары.Характеристика
	|		И ЦеныНоменклатуры.ВидЦены = ВременнаяТаблицаТовары.ВидЦены
	|		ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаТоварыЗапрещенныеКРедактированию КАК
	|			ВременнаяТаблицаТоварыЗапрещенныеКРедактированию
	|		ПО ВременнаяТаблицаТоварыЗапрещенныеКРедактированию.Номенклатура = ВременнаяТаблицаТовары.Номенклатура
	|		И ВременнаяТаблицаТоварыЗапрещенныеКРедактированию.Характеристика = ВременнаяТаблицаТовары.Характеристика
	|		И ВременнаяТаблицаТоварыЗапрещенныеКРедактированию.ВидЦены = ВременнаяТаблицаТовары.ВидЦены
	|ИТОГИ
	|ПО
	|	Номенклатура,
	|	Характеристика");
	
	Запрос.Текст = СтрЗаменить(Запрос.Текст,
		"&ТекстЗапросаКоэффициентУпаковки1",
		Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
		"ЦеныНоменклатуры.Упаковка",
		"ЦеныНоменклатуры.Номенклатура"));
		
	Запрос.Текст = СтрЗаменить(Запрос.Текст,
		"&ТекстЗапросаКоэффициентУпаковки2",
		Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
		"ВременнаяТаблицаТовары.Упаковка",
		"ВременнаяТаблицаТовары.Номенклатура"));
		
	Запрос.УстановитьПараметр("Товары",        ТаблицаНоменклатуры);

	Если ТаблицаНоменклатурыЗапрещеннойКРедактированию = Неопределено Тогда
		ТаблицаНоменклатурыЗапрещеннойКРедактированию = Новый ТаблицаЗначений();
		ТаблицаНоменклатурыЗапрещеннойКРедактированию.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
		ТаблицаНоменклатурыЗапрещеннойКРедактированию.Колонки.Добавить("Характеристика", Новый ОписаниеТипов("СправочникСсылка.ХарактеристикиНоменклатуры"));
		ТаблицаНоменклатурыЗапрещеннойКРедактированию.Колонки.Добавить("ВидЦены", Новый ОписаниеТипов("СправочникСсылка.ВидыЦен"));		
	КонецЕсли;	
	Запрос.УстановитьПараметр("ТоварыЗапрещенныеКРедактированию", ТаблицаНоменклатурыЗапрещеннойКРедактированию);
	
	Если ПодборТоваровКлиентСервер.ЭтоФормаПрайсЛиста(Форма) Тогда
		Запрос.УстановитьПараметр("ДатаДокумента", НачалоДня(Форма.Дата) - 1);
	Иначе
		Запрос.УстановитьПараметр("ДатаДокумента", ДатаДляЗапросаЦенНоменклатуры(Форма));
	КонецЕсли;
	
	РезультатЗапроса = Запрос.Выполнить();


ДействующаяВалюта в запросе имеет тип null. Есть мысли что это такое?
1 Ненавижу 1С
 
гуру
09.10.25
09:19
1. У вида цены не установлена валюта
2. Валюта установлена, но не установлен ее курс
3. Что-то еще
2 paramedic
 
09.10.25
09:19
Не в ту степь лезете. Нет никаких проблем с документом установки цен. Не надо выбирать валюту, отличную от основной валюты учета. Или устанавливайте курсы для всех валют. В том числе и самопридуманных.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.