База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как программно получить цену по типу цен в 1С:УТ 11.5?
- В этой теме 1 ответ, 2 участника, последнее обновление 5 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
15 августа 2026 в 20:54 #38384
1С УТ 11.5 Как получить цену по типу цен программно?
-
15 августа 2026 в 20:54 #38385
В 1С:Управление торговлей 11.5 получить цену по типу цен программно можно через объект «Виды цен» и механизм расчёта цен, либо напрямую из регистра сведений «Цены». Вот несколько вариантов:
1. Через стандартный механизм получения цены (рекомендуется)
Используйте метод объекта «Виды цен» или стандартные функции конфигурации, например, функцию
ПолучитьЦенуиз модуля обработки цен (если есть).Пример (упрощённо):
1С (Код)1234567// ПараметрыТипЦены = Справочники.ВидыЦен.НайтиПоНаименованию("Розничная");Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Товар1");Дата = ТекущаяДата();// Получение ценыЦена = ОбщегоНазначения.ПолучитьЦену(Номенклатура, ТипЦены, Дата);Если в вашей конфигурации нет такой функции, можно сделать запрос к регистру сведений «Цены»:
2. Через запрос к регистру сведений «Цены»
|ВЫБРАТЬ
| Цены.Цена
|ИЗ
| РегистрСведений.Цены КАК Цены
|ГДЕ
| Цены.Номенклатура = &Номенклатура
| И Цены.ВидЦены = &ВидЦены
| И Цены.Период <= &Дата
|УПОРЯДОЧИТЬ ПО
| Цены.Период УБЫВДалее в коде:
1С (Код)12345678910111213141516171819202122232425Запрос = Новый Запрос;Запрос.Текст ="|ВЫБРАТЬ| Цены.Цена|ИЗ| РегистрСведений.Цены КАК Цены|ГДЕ| Цены.Номенклатура = &Номенклатура| И Цены.ВидЦены = &ВидЦены| И Цены.Период <= &Дата|УПОРЯДОЧИТЬ ПО| Цены.Период УБЫВ";Запрос.УстановитьПараметр("Номенклатура", Номенклатура);Запрос.УстановитьПараметр("ВидЦены", ВидЦены);Запрос.УстановитьПараметр("Дата", Дата);Результат = Запрос.Выполнить();Выборка = Результат.Выбрать();Если Выборка.Следующий() ТогдаЦена = Выборка.Цена;ИначеЦена = 0;КонецЕсли;3. Использование встроенных функций конфигурации
В УТ 11.5 есть стандартные процедуры и функции для работы с ценами, например, в модуле объекта «Номенклатура» или в общем модуле «Ценообразование». Там может быть функция типа
ПолучитьЦенуНоменклатуры(Номенклатура, ВидЦены, Дата).Если нет, можно написать свою по примеру запроса выше.
—
Рекомендую посмотреть подробный разбор по видам цен и их программному получению здесь:
https://infostart.ru/public/195575/
и пример работы с произвольным запросом для цен в УТ 11:
https://infostart.ru/public/331784/Там есть примеры запросов и объяснения по параметрам.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.