Убрать скидку строки, если есть скидка докумнента

Декоративное изображение

Для получения доступа к форуму необходимо авторизоваться
или зарегистрироваться на сайте.

Партнер
RSS
Здравствуйте.

АА5, релиз 09.

Есть ли возможность отменять скидку одной из строк, если в документе стоит скидка на документ?
Знаю, что есть вытесняющие скидки. Но нам необходимо чтобы была возможность убирать скидку вообще. А документ назначения скидок не дает сохранить нулевую скидку, требует указать процент скидки.
Какие есть варианты кроме установки строчных скидок на каждую строчку? Хотелось бы установить процент скидки на весь документ, а у нужных строчек эту скидку удалить.
Декоративное изображение 124
Сотрудник 1С-Рарус
Добрый день, Артем, в типовой конфигурации отменить скидку одной из строк при применении скидки на документ не получится. Возможно Вам подойдет вытесняющая строчная скидка на 0.01% или 1-у копейку.
Пользователь ПП
Я отключил проверку, что скидка должна быть больше нуля (в документе публикации скидок) - теперь можем публиковать нулевые вытесняющие строчные скидки.
Все работает корректно - на определенные товары/работы скидка документа не распространяется.
Партнер
Цитата
Константин Никитюк пишет:
Я отключил проверку, что скидка должна быть больше нуля (в документе публикации скидок) - теперь можем публиковать нулевые вытесняющие строчные скидки.
Все работает корректно - на определенные товары/работы скидка документа не распространяется.
В каком смысле отключили? В коде? Или есть право какое-то в типовой конфигурации?
Пользователь ПП
Права такого нет, поэтому отключил (закомментировал) проверку на заполненность поля ЗначениеСкидки в модуле документа НазначениеСкидокСтроки в процедуре ПроверитьКорректность:

Код
Функция ПроверитьКорректность(Ошибки="", ДопРеквизиты=Неопределено, Заполнение=Истина, Уникальность=Истина) Экспорт
   НетОшибок = ИСТИНА;
   
   // Здесь могут быть определены дополнительные к стандартным обязательным реквизитам условия проверки
   Для Каждого ТекСтрока Из Скидки Цикл
      Если обЗначениеНеЗаполнено(ТекСтрока.Номенклатура) И ТекСтрока.ТипНоменклатуры.Пустая() Тогда
         Ошибки = "Таблица <Скидки> значение одной из двух колонок <Номенклатура> или <Тип номенклатуры> не заполнено ! Строка номер "+ТекСтрока.НомерСтроки;
         НетОшибок = ЛОЖЬ;
      //{{ 2015-01-28 - чтобы можно было назначить скидку 0%, т.е. "без скидки"
      //ИначеЕсли (НЕ ТекСтрока.Скидка.ЭтоПодарок) И ТекСтрока.ЗначениеСкидки = 0 Тогда
      //   Ошибки = "Таблица <Скидки> значение колонки <Значение скидки> не заполнено ! Строка номер "+ТекСтрока.НомерСтроки;
      //   НетОшибок = ЛОЖЬ;
      //}} 2015-01-28
      ИначеЕсли ТекСтрока.Скидка.ЭтоПодарок И ТекСтрока.ЗначениеСкидки <> 0 Тогда
         Ошибки = "Таблица <Скидки> значение колонки <Значение скидки> для подарка должно быть не заполнено ! Строка номер "+ТекСтрока.НомерСтроки;
         НетОшибок = ЛОЖЬ;
      КонецЕсли;
   КонецЦикла;
   
   // отработаем стандартно
   Возврат дкПроверитьКорректность(ЭтотОбъект, Ошибки, ДопРеквизиты, Заполнение, Уникальность, Истина) И НетОшибок;
КонецФункции

Как видно из комментария, изменения внесены в январе месяце - никаких проблем пока не выявлено.
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С