Запрос, установка параметра Вид Цены

1. user844451 20.08.19 08:09 Сейчас в теме
Всем Доброго времени суток! Подскажите пожалуйста!
Расскажу изначально, пытаюсь делать расширение (Номенклатура, с ценой и остатками) для 1С: Розница 8, ПРОФ версия, редакция 2.2.7.37, расширение почти готова, есть проблема с графой Цена, код запроса писал через Конструктор запроса, на данный момент есть ошибка, которую я не могу исправить, подскажите кто знает?

Пытаюсь сделать запрос, установка параметра для Вид Цены, часть кода:
Запрос.УстановитьПараметр("ВидЦены", <ВидЦены>); // Вид цен.

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

	ВыборкаДетальныеЗаписи = Результат.Выбрать();
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	// Вставить обработку выборки ВыборкаДетальныеЗаписи
	КонецЦикла;


Выдает синтаксическую ошибку!
{РасширениеНоменклатурыРозницаПрофВерсия Справочник.Номенклатура.Форма.ФормаСписка.Форма(58,38)}: Ожидается выражение
	Запрос.УстановитьПараметр("ВидЦены",<<?>> <ВидЦены>); // Вид цен. (Проверка: Сервер)
{РасширениеНоменклатурыРозницаПрофВерсия Справочник.Номенклатура.Форма.ФормаСписка.Форма(58,38)}: Ожидается выражение
	Запрос.УстановитьПараметр("ВидЦены",<<?>> <ВидЦены>); // Вид цен. (Проверка: Тонкий клиент)


Помогите исправить...
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Pavel Rodinchenko 20.08.19 08:17 Сейчас в теме
(1)Может вместо <ВидЦены> написать просто - ВидЦены без <>?
12. user844451 20.08.19 08:32 Сейчас в теме
(3)Может вместо <ВидЦены> написать просто - ВидЦены без <>?

Выдает ошибку:
{РасширениеНоменклатурыРозницаПрофВерсия Справочник.Номенклатура.Форма.ФормаСписка.Форма(58,39)}: Переменная не определена (ВидЦены)
	Запрос.УстановитьПараметр("ВидЦены", <<?>>ВидЦены); // Вид цен. (Проверка: Сервер)
{РасширениеНоменклатурыРозницаПрофВерсия Справочник.Номенклатура.Форма.ФормаСписка.Форма(62,27)}: Переменная не определена (Результат)
	ВыборкаДетальныеЗаписи = <<?>>Результат.Выбрать(); (Проверка: Сервер)
16. catena 110 20.08.19 08:34 Сейчас в теме
(12)Найти сперва надо элемент, который вы хотите поместить в параметр запроса. Какой ВидЦены? Базе нужно четко все объяснять: что достать, куда положить.
2. nomad_irk 72 20.08.19 08:14 Сейчас в теме
Что есть <ВидЦены>? Это у вас код прям так написан?
4. _Enot_ 10 20.08.19 08:20 Сейчас в теме
Больше меньше уберите в виде цен.
5. user844451 20.08.19 08:23 Сейчас в теме
Скачать консоль с формированием готового кода запроса от Чистакова, вставил изначальный код запроса который сформировал в Конструкторе запроса, мне обработка сформировала данный код, это часть кода, сейчас выложу полный код:

Полный код:
Запрос = Новый Запрос(
"ВЫБРАТЬ
|	СправочникНоменклатура.Ссылка КАК Ссылка,
|	СправочникНоменклатура.Код КАК Код,
|	СправочникНоменклатура.Наименование КАК Наименование,
|	СправочникНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
|	СправочникНоменклатура.ТоварнаяКатегория КАК ТоварнаяКатегория,
|	СправочникНоменклатура.Марка КАК Марка,
|	ВЫБОР
|		КОГДА СправочникНоменклатура.ЭтоГруппа
|			ТОГДА ВЫБОР
|					КОГДА СправочникНоменклатура.ПометкаУдаления
|						ТОГДА 7
|					ИНАЧЕ 6
|				КОНЕЦ
|		ИНАЧЕ ВЫБОР
|				КОГДА СправочникНоменклатура.ПометкаУдаления
|					ТОГДА 1
|				ИНАЧЕ 0
|			КОНЕЦ + ВЫБОР
|				КОГДА СправочникНоменклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.НеИспользовать)
|					ТОГДА 0
|				ИНАЧЕ 2
|			КОНЕЦ
|	КОНЕЦ КАК ИндексКартинки,
|	СправочникНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
|	СправочникНоменклатура.Артикул КАК Артикул,
|	СправочникНоменклатура.НаименованиеПолное КАК НаименованиеПолное,
|	СправочникНоменклатура.Вес КАК Вес,
|	СправочникНоменклатура.СтавкаНДС КАК СтавкаНДС,
|	СправочникНоменклатура.ТипНоменклатуры КАК ТипНоменклатуры,
|	ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток,
|	ЕСТЬNULL(ТоварыНаСкладахОстатки.РезервОстаток, 0) КАК Резерв,
|	ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыНаСкладахОстатки.РезервОстаток, 0) КАК СвободныйОстаток,
|	ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦеныРозничная,
|	ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаРозничная
|ИЗ
|	Справочник.Номенклатура КАК СправочникНоменклатура
|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
|		ПО (ТоварыНаСкладахОстатки.Номенклатура = СправочникНоменклатура.Ссылка)
|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
|		ПО (ЦеныНоменклатурыСрезПоследних.Цена = СправочникНоменклатура.Ссылка)");

Запрос.УстановитьПараметр("ВидЦены", <ВидЦены>); // Вид цен.

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

ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;
Показать


Код сформирован из обработки!
6. catena 110 20.08.19 08:24 Сейчас в теме
(5)Обработка вам показала, куда надо вставить параметр. 1С-синтаксису Чистаков не авторитет.
15. user844451 20.08.19 08:33 Сейчас в теме
(6)Обработка вам показала, куда надо вставить параметр. 1С-синтаксису Чистаков не авторитет.

Нет, не показала...
18. catena 110 20.08.19 08:34 Сейчас в теме
(15)Нет, показала. Вот такими скобочками "<>" которые синтаксис 1С не пройдут, чтобы вы точно-точно не пропустили этот момент.
9. nomad_irk 72 20.08.19 08:27 Сейчас в теме
(5) Хорошо. Что вы собираетесь использовать в качестве вида цены на форме списка номенклатуры?
Что вы вообще собрались выводить, и самое главное - куда, в форме списка номенклатуры?

Цены номенклатуры в список номенклатуры таким образом не выведутся, ну либо выведутся в отдельное табличное поле.
Вам нужно изменять запрос динамического списка, но вопрос с указанием вида цены в любом случае будет очень актуальным.
20. user844451 20.08.19 08:37 Сейчас в теме
(9)Хорошо. Что вы собираетесь использовать в качестве вида цены на форме списка номенклатуры?
Что вы вообще собрались выводить, и самое главное - куда, в форме списка номенклатуры?

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

В форму списка Номенклатуры нужно вывести цену Номенклатуры Розничная, их в программе две, еще есть Закупочная...

Код динамического списка Номенклатуры:
ВЫБРАТЬ
	СправочникНоменклатура.Ссылка КАК Ссылка,
	СправочникНоменклатура.Код КАК Код,
	СправочникНоменклатура.Наименование КАК Наименование,
	СправочникНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
	СправочникНоменклатура.ТоварнаяКатегория КАК ТоварнаяКатегория,
	СправочникНоменклатура.Марка КАК Марка,
	ВЫБОР
		КОГДА СправочникНоменклатура.ЭтоГруппа
			ТОГДА ВЫБОР
					КОГДА СправочникНоменклатура.ПометкаУдаления
						ТОГДА 7
					ИНАЧЕ 6
				КОНЕЦ
		ИНАЧЕ ВЫБОР
				КОГДА СправочникНоменклатура.ПометкаУдаления
					ТОГДА 1
				ИНАЧЕ 0
			КОНЕЦ + ВЫБОР
				КОГДА СправочникНоменклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.НеИспользовать)
					ТОГДА 0
				ИНАЧЕ 2
			КОНЕЦ
	КОНЕЦ КАК ИндексКартинки,
	СправочникНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	СправочникНоменклатура.Артикул КАК Артикул,
	СправочникНоменклатура.НаименованиеПолное КАК НаименованиеПолное,
	СправочникНоменклатура.Вес КАК Вес,
	СправочникНоменклатура.СтавкаНДС КАК СтавкаНДС,
	СправочникНоменклатура.ТипНоменклатуры КАК ТипНоменклатуры,
	ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток,
	ЕСТЬNULL(ТоварыНаСкладахОстатки.РезервОстаток, 0) КАК Резерв,
	ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыНаСкладахОстатки.РезервОстаток, 0) КАК СвободныйОстаток,
	ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦеныРозничная,
	ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаРозничная
ИЗ
	Справочник.Номенклатура КАК СправочникНоменклатура
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
		ПО (ТоварыНаСкладахОстатки.Номенклатура = СправочникНоменклатура.Ссылка)
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
		ПО (ЦеныНоменклатурыСрезПоследних.Цена = СправочникНоменклатура.Ссылка)
Показать
21. nomad_irk 72 20.08.19 08:39 Сейчас в теме
(20) вид цены на форме будет пользователь каждый раз указывать?
7. user844451 20.08.19 08:25 Сейчас в теме
Извините за ошибки в тексте...
8. user844451 20.08.19 08:27 Сейчас в теме
Буду отвечать всем по очереди, кто мне помогает, это будет честно...
10. ranis888 104 20.08.19 08:31 Сейчас в теме
Измени
Запрос.УстановитьПараметр("ВидЦены", <ВидЦены>);


На
запрос.УстановитьПараметр("ВидЦены", ВидЦены);
11. catena 110 20.08.19 08:32 Сейчас в теме
(10)Вангую следующий вопрос: "Ошибка переменная не определена"
user774630; Kovekh; nomad_irk; +3 Ответить
13. ranis888 104 20.08.19 08:32 Сейчас в теме
(11) Ну и ладно. С кем по началу не бывает
22. user844451 20.08.19 08:40 Сейчас в теме
(10) Изменил, снова ошибка!

Код:
запрос.УстановитьПараметр("ВидЦены", ВидЦены); // Вид цен.

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

	ВыборкаДетальныеЗаписи = Результат.Выбрать();
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	// Вставить обработку выборки ВыборкаДетальныеЗаписи
	КонецЦикла;


Ошибка:
{РасширениеНоменклатурыРозницаПрофВерсия Справочник.Номенклатура.Форма.ФормаСписка.Форма(58,39)}: Переменная не определена (ВидЦены)
	запрос.УстановитьПараметр("ВидЦены", <<?>>ВидЦены); // Вид цен. (Проверка: Сервер)
{РасширениеНоменклатурыРозницаПрофВерсия Справочник.Номенклатура.Форма.ФормаСписка.Форма(62,27)}: Переменная не определена (Результат)
	ВыборкаДетальныеЗаписи = <<?>>Результат.Выбрать(); (Проверка: Сервер)
23. ranis888 104 20.08.19 08:43 Сейчас в теме
(22) Раз переменная не определена, значит в форме у тебя нет такой переменной. Ну или она записана по другому. Пути решения:
1) если нету в форме такого реквизита, то добавить
2) если она есть, то переименуй ее в ВидЦены
14. catena 110 20.08.19 08:33 Сейчас в теме
17. ranis888 104 20.08.19 08:34 Сейчас в теме
(14) Авка крутая у тебя. Есть исходник ?
19. catena 110 20.08.19 08:37 Сейчас в теме
(17)Только в таком виде :)
Прикрепленные файлы:
25. ranis888 104 20.08.19 08:43 Сейчас в теме
74. user_2010 896 21.08.19 11:42 Сейчас в теме
(19) :) была такая настощая - не на картинке!
24. alalsl 11 20.08.19 08:43 Сейчас в теме
26. user844451 20.08.19 08:44 Сейчас в теме
Ребята, ну что поможите!?
29. ranis888 104 20.08.19 08:46 Сейчас в теме
32. user844451 20.08.19 08:50 Сейчас в теме
(29)Давай доступы

В смысле давай доступы!?
33. ranis888 104 20.08.19 08:52 Сейчас в теме
(32) Ну окей. Я хотел подключиться и написать за тебя код
37. Pavel Rodinchenko 20.08.19 08:58 Сейчас в теме
(32)Выложи полный код твоей процедуры/функции
41. user844451 20.08.19 09:02 Сейчас в теме
(37) Выложи полный код твоей процедуры/функции

Код:
&НаСервере
Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	
		Запрос = Новый Запрос(
	"ВЫБРАТЬ
	|	СправочникНоменклатура.Ссылка КАК Ссылка,
	|	СправочникНоменклатура.Код КАК Код,
	|	СправочникНоменклатура.Наименование КАК Наименование,
	|	СправочникНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
	|	СправочникНоменклатура.ТоварнаяКатегория КАК ТоварнаяКатегория,
	|	СправочникНоменклатура.Марка КАК Марка,
	|	ВЫБОР
	|		КОГДА СправочникНоменклатура.ЭтоГруппа
	|			ТОГДА ВЫБОР
	|					КОГДА СправочникНоменклатура.ПометкаУдаления
	|						ТОГДА 7
	|					ИНАЧЕ 6
	|				КОНЕЦ
	|		ИНАЧЕ ВЫБОР
	|				КОГДА СправочникНоменклатура.ПометкаУдаления
	|					ТОГДА 1
	|				ИНАЧЕ 0
	|			КОНЕЦ + ВЫБОР
	|				КОГДА СправочникНоменклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.НеИспользовать)
	|					ТОГДА 0
	|				ИНАЧЕ 2
	|			КОНЕЦ
	|	КОНЕЦ КАК ИндексКартинки,
	|	СправочникНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	|	СправочникНоменклатура.Артикул КАК Артикул,
	|	СправочникНоменклатура.НаименованиеПолное КАК НаименованиеПолное,
	|	СправочникНоменклатура.Вес КАК Вес,
	|	СправочникНоменклатура.СтавкаНДС КАК СтавкаНДС,
	|	СправочникНоменклатура.ТипНоменклатуры КАК ТипНоменклатуры,
	|	ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток,
	|	ЕСТЬNULL(ТоварыНаСкладахОстатки.РезервОстаток, 0) КАК Резерв,
	|	ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыНаСкладахОстатки.РезервОстаток, 0) КАК СвободныйОстаток,
	|	ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦеныРозничная,
	|	ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаРозничная
	|ИЗ
	|	Справочник.Номенклатура КАК СправочникНоменклатура
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
	|		ПО (ТоварыНаСкладахОстатки.Номенклатура = СправочникНоменклатура.Ссылка)
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
	|		ПО (ЦеныНоменклатурыСрезПоследних.Цена = СправочникНоменклатура.Ссылка)");
	
	запрос.УстановитьПараметр("ВидЦены", ВидЦены); // Вид цен.

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

	ВыборкаДетальныеЗаписи = Результат.Выбрать();
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	// Вставить обработку выборки ВыборкаДетальныеЗаписи
	КонецЦикла;

КонецПроцедуры
Показать
27. user844451 20.08.19 08:45 Сейчас в теме
28. alalsl 11 20.08.19 08:46 Сейчас в теме
30. alalsl 11 20.08.19 08:46 Сейчас в теме
(27) Вы откуда будете брать вид цены?
Или он по умолчанию должен быть?
31. user844451 20.08.19 08:49 Сейчас в теме
(30) Вы откуда будете брать вид цены?
Или он по умолчанию должен быть?

Должны быть по умолчанию, Розничная.
34. alalsl 11 20.08.19 08:52 Сейчас в теме
(31)
Так получите её:
ВидЦены=Справочники.ВидыЦен.НайтиПоНаименованию("Розничная");
хотя поиск лучше по коду
Справочник может называться типы цен)
35. ranis888 104 20.08.19 08:53 Сейчас в теме
(34)
ВидЦены=Справочники.ВидыЦен.НайтиПоНаименованию("Розничная");


Лучше по коду получить. Ибо наименование справочника они могут поменять в легкую
36. Pavel Rodinchenko 20.08.19 08:55 Сейчас в теме
(35)Код тоже менять никто не запрещает. Лучше явно указать необходимый вид цены
38. Pavel Rodinchenko 20.08.19 08:58 Сейчас в теме
(36)То, что ты выкладываешь код из консоли Чистова а-ля Чистаков еще не означает, что нам все станет ясно)
42. ranis888 104 20.08.19 09:02 Сейчас в теме
(38) А как же понятие
Программисты должны уже выявлять проблему, после того, как им только сказали "Программа не работает"
?
44. Pavel Rodinchenko 20.08.19 09:04 Сейчас в теме
(42)В данном случае это понятие, как ты можешь видеть, не работает)
39. user844451 20.08.19 08:59 Сейчас в теме
(34)Так получите её:
ВидЦены=Справочники.ВидыЦен.НайтиПоНаименованию("Розничная");
хотя поиск лучше по коду
Справочник может называться типы цен)

Извините меня пожалуйста, я так понимаю, данный код нужно вставить в динамический список, вот толко в какое конкретное место кода!?
40. ranis888 104 20.08.19 09:00 Сейчас в теме
(39)


ВидЦены=Справочники.ВидыЦен.НайтиПоНаименованию("Розничная"); //// До передачи этого параметра
запрос.УстановитьПараметр("ВидЦены", ВидЦены); // Вид цен.

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

    ВыборкаДетальныеЗаписи = Результат.Выбрать();
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    // Вставить обработку выборки ВыборкаДетальныеЗаписи
    КонецЦикла;


Показать
43. ranis888 104 20.08.19 09:03 Сейчас в теме
Код
&НаСервере
Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
  ВидЦены=Справочники.ВидыЦен.НайтиПоНаименованию("Розничная"); //// До передачи этого параметра  
        Запрос = Новый Запрос(
    "ВЫБРАТЬ
    |    СправочникНоменклатура.Ссылка КАК Ссылка,
    |    СправочникНоменклатура.Код КАК Код,
    |    СправочникНоменклатура.Наименование КАК Наименование,
    |    СправочникНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
    |    СправочникНоменклатура.ТоварнаяКатегория КАК ТоварнаяКатегория,
    |    СправочникНоменклатура.Марка КАК Марка,
    |    ВЫБОР
    |        КОГДА СправочникНоменклатура.ЭтоГруппа
    |            ТОГДА ВЫБОР
    |                    КОГДА СправочникНоменклатура.ПометкаУдаления
    |                        ТОГДА 7
    |                    ИНАЧЕ 6
    |                КОНЕЦ
    |        ИНАЧЕ ВЫБОР
    |                КОГДА СправочникНоменклатура.ПометкаУдаления
    |                    ТОГДА 1
    |                ИНАЧЕ 0
    |            КОНЕЦ + ВЫБОР
    |                КОГДА СправочникНоменклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.НеИспользовать)
    |                    ТОГДА 0
    |                ИНАЧЕ 2
    |            КОНЕЦ
    |    КОНЕЦ КАК ИндексКартинки,
    |    СправочникНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |    СправочникНоменклатура.Артикул КАК Артикул,
    |    СправочникНоменклатура.НаименованиеПолное КАК НаименованиеПолное,
    |    СправочникНоменклатура.Вес КАК Вес,
    |    СправочникНоменклатура.СтавкаНДС КАК СтавкаНДС,
    |    СправочникНоменклатура.ТипНоменклатуры КАК ТипНоменклатуры,
    |    ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток,
    |    ЕСТЬNULL(ТоварыНаСкладахОстатки.РезервОстаток, 0) КАК Резерв,
    |    ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыНаСкладахОстатки.РезервОстаток, 0) КАК СвободныйОстаток,
    |    ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦеныРозничная,
    |    ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаРозничная
    |ИЗ
    |    Справочник.Номенклатура КАК СправочникНоменклатура
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
    |        ПО (ТоварыНаСкладахОстатки.Номенклатура = СправочникНоменклатура.Ссылка)
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
    |        ПО (ЦеныНоменклатурыСрезПоследних.Цена = СправочникНоменклатура.Ссылка)");
    
    запрос.УстановитьПараметр("ВидЦены", ВидЦены); // Вид цен.

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

    ВыборкаДетальныеЗаписи = Результат.Выбрать();
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    // Вставить обработку выборки ВыборкаДетальныеЗаписи
    КонецЦикла;

КонецПроцедуры
Показать полностью
Pavel Rodinchenko; +1 Ответить
45. Pavel Rodinchenko 20.08.19 09:05 Сейчас в теме
(43)Ну вот уже и код готовый)) правда ответ был дан уже пару постов назад. Но мне кажется, что следующим вопросом будет то, что вида цены с наименованием "Розничная" не будет в справочнике и возвращена будет пустая ссылка. Но, надеюсь, что я ошибаюсь
48. nomad_irk 72 20.08.19 09:09 Сейчас в теме
(45) ща будет еще 100500 сообщений по исправлению ошибок запроса динамического списка.
расходимся, в общем.....
Pavel Rodinchenko; +1 Ответить
50. ranis888 104 20.08.19 09:11 Сейчас в теме
(45) Скорее всего типо "результат пустой"
46. user844451 20.08.19 09:06 Сейчас в теме
(43) Ошибка!
{РасширениеНоменклатурыРозницаПрофВерсия Справочник.Номенклатура.Форма.ФормаСписка.Форма(63,27)}: Переменная не определена (Результат)
	ВыборкаДетальныеЗаписи = <<?>>Результат.Выбрать(); (Проверка: Сервер)
47. Pavel Rodinchenko 20.08.19 09:08 Сейчас в теме
(46)Ну так ты хотя бы код читай, который копируешь. Не все же за тебя делать будут. У тебя результат запроса хранится в переменной РезультатЗапроса, а ты обращаешься к переменной Результат
49. ranis888 104 20.08.19 09:10 Сейчас в теме
(46)

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

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

    ВыборкаДетальныеЗаписи = РезультатЗапроса .Выбрать();
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    // Вставить обработку выборки ВыборкаДетальныеЗаписи
    КонецЦикла;

КонецПроцедуры
Показать
51. nomad_irk 72 20.08.19 09:13 Сейчас в теме
(49) У ТС форма списка, какой к черту результат запроса и выборка из него? :)

Про поиск нужного вида цены по коду/наименованию - отдельная пеСТня ожидается :)
53. ranis888 104 20.08.19 09:16 Сейчас в теме
(51) Легче ему выложить это расширение и все
54. nomad_irk 72 20.08.19 09:18 Сейчас в теме
(53) Если хочется работать за других - валяй :)
Только не факт, что он его сможет подключить и оно у него заработает корректно.
56. ranis888 104 20.08.19 09:21 Сейчас в теме
(54) Примерно год назад, я на этом форуме так же писал такие вопросы. Люди так же помогали, кто-то бомбил, мол дурачок. А были люди, которые подключались и помогали. Даже обучали. Так же обучали работать откладкой. Pavel Rodinchenko помогал помню. А https://infostart.ru/profile/95077 вообще полностью обучал
58. nomad_irk 72 20.08.19 09:22 Сейчас в теме
(56) Пойми: обучать того, кто понимает, что он делает - это одно, а обучать того, кто не понимает - совсем другое.
59. ranis888 104 20.08.19 09:23 Сейчас в теме
(58) Ну я не понимал что делаю. Я знал, что мне нужно, но не знал как это сформулировать
61. nomad_irk 72 20.08.19 09:26 Сейчас в теме
(59) Если бы ты не понимал, то точно так же делал бы как ребенок 2-х лет, что сказали, то и сделал без оглядки на реалии выполнения кода в твоей БД.
52. user844451 20.08.19 09:16 Сейчас в теме
(49) Синтаксических ошибок нет!!!

При открытии Номенклатуры в самой программе, ошибка:
Ошибка при выполнении запроса.
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанныхДинамическогоСписка"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(33, 79)}: Не задано значение параметра "ВидЦены"
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = <<?>>&ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
Показать
55. Pavel Rodinchenko 20.08.19 09:19 Сейчас в теме
(52)Ну так и правильно. Тебе указали вектор для размышлений в (51). Смотри в сторону ДинамическийСписок или Список, короче на ту вещь, которая у тебя выделена жирным на форме списка. и вот туда параметры устанавливай.
57. nomad_irk 72 20.08.19 09:21 Сейчас в теме
(55) Да это бесполезно. ТС - вообще не понимает, что делает и какой будет результат его действий.
60. ranis888 104 20.08.19 09:25 Сейчас в теме
Напиши пожалуйста подробнее, что должно делать расширение
62. Pavel Rodinchenko 20.08.19 09:27 Сейчас в теме
(60)Расширение, как видно из попыток сделать рабочий вариант, должно открыть форму списка номенклатуры с ценами и отбором по виду цены
63. user844451 20.08.19 09:30 Сейчас в теме
(60) Расширение, должна открываться Номенклатура в программе, все по умолчанию + Цена (Розничная) + Остатки, все водной графе по Наименованию.
64. ranis888 104 20.08.19 09:33 Сейчас в теме
(63) Вид цен можно передать в отбор вроде
67. nomad_irk 72 20.08.19 09:38 Сейчас в теме
(64) ссылку вида цены еще каким-то образом получить нужно
70. user844451 20.08.19 09:44 Сейчас в теме
(64) Что мне делать с этой ошибкой!?

Ошибка:
Ошибка при выполнении запроса.
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанныхДинамическогоСписка"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(33, 79)}: Не задано значение параметра "ВидЦены"
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = <<?>>&ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
Показать
71. ranis888 104 20.08.19 09:47 Сейчас в теме
(70) может все таки сможешь дать доступы к компу?
72. user844451 20.08.19 09:52 Сейчас в теме
(71)AnyDesk - такая программа есть?
65. user844451 20.08.19 09:36 Сейчас в теме
66. пользователь 20.08.19 09:37
Сообщение было скрыто модератором.
...
68. user844451 20.08.19 09:38 Сейчас в теме
Скриншот не прошел на Форуме, после модерации!

69. user844451 20.08.19 09:39 Сейчас в теме
Скриншот не проход на публикацию!
73. user596430_gleb21 3 20.08.19 11:54 Сейчас в теме
А это не смущает?
ЦеныНоменклатурыСрезПоследних.Цена = СправочникНоменклатура.Ссылка
user774630; +1 Ответить
Оставьте свое сообщение

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