При работе в 1С:Управление торговлей 11.5 многие пользователи сталкиваются с жесткими ограничениями механизмов ценообразования. Одно из таких ограничений — невозможность выбора произвольного вида цены в уточнении соглашения, если этот вид цены не соответствует признаку Цена включает НДС, установленному в самом соглашении. Разберемся, как можно обойти данное ограничение, используя возможности расширений конфигурации.
Система 1С накладывает строгие связи параметров выбора на реквизиты справочников, чтобы исключить логические ошибки при расчете налогов. Если в соглашении установлен флаг Цена включает НДС, система автоматически ограничивает список доступных видов цен только теми, где также активен этот признак. Это сделано для того, чтобы алгоритмы расчета суммы в заказе или реализации работали корректно и предсказуемо. Попытка принудительно изменить этот выбор через штатный интерфейс невозможна, так как отбор заложен в свойствах объекта конфигурации.
Если бизнес-процессы вашей компании требуют отхода от типовой логики, мы можем вмешаться в процесс формирования списка выбора. Рассмотрим пошаговый алгоритм решения этой задачи.
Расширение конфигурации, если оно еще не создано.Соглашения с клиентами или регистр сведений).Для реализации этого метода необходимо в коде расширения при открытии формы или при изменении контекста обратиться к элементу управления. Рассмотрим пример программного вмешательства:
// Пример кода для программной очистки связей параметров выбора
&НаСервере
Процедура ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
// Очищаем существующие связи параметров выбора для элемента формы
// Получаем элемент, отвечающий за выбор вида цены
Элемент = ЭтаФорма.Элементы.ВидЦены;
// Создаем пустой массив связей
НовыеСвязи = Новый Массив;
// Устанавливаем пустой массив связей, тем самым отключая отбор
Элемент.СвязиПараметровВыбора = Новый ФиксированныйМассив(НовыеСвязи);
КонецПроцедуры
Рассмотренный выше метод является эффективным «обходом» системы, но он несет в себе определенные риски, которые необходимо учитывать при внедрении:
1С:Управление торговлей ожидает единообразия в расчетах. Если вы разрешите выбор цены без НДС в документе, где «голова» документа (соглашение) требует работу с НДС, алгоритмы проведения документа могут выдать ошибку или посчитать сумму неверно. Это приведет к расхождениям в бухгалтерских регистрах.Мы проанализировали ситуацию и выяснили, что программная очистка связей через СвязиПараметровВыбора позволяет пользователю выбрать любой вид цены. Однако перед запуском этого функционала в промышленную эксплуатацию крайне рекомендуется провести тестирование проведения документов с использованием различных комбинаций видов цен и признаков НДС, чтобы убедиться в корректности формирования проводок и движений по регистрам накопления.