7 — 11.08.21 — 12:50
запрет на редактирование в процедуре,
так что скорее через скидку
Процедура ТоварыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Если Поле = Элементы.ТоварыПроцентАвтоматическойСкидки
Или Поле = Элементы.ТоварыСуммаАвтоматическойСкидки Тогда
СтандартнаяОбработка = Ложь;
ТекущиеДанные = Элементы.Товары.ТекущиеДанные;
Если Не Объект.РеализацияПоЗаказам ИЛИ РеализацияСверхЗаказа И ТекущиеДанные.КодСтроки = 0 Тогда
Если Не Объект.СкидкиРассчитаны Тогда
Результат = Вопрос(НСтр(«ru=’Скидки (наценки) не рассчитаны, рассчитать?’;uk=’Знижки (націнки) не розраховані, розрахувати?'»), РежимДиалогаВопрос.ДаНет);
Если Результат = КодВозвратаДиалога.Нет Тогда
Возврат;
Иначе
СтруктураПараметры = Новый Структура;
СтруктураПараметры.Вставить(«ПрименятьКОбъекту», Истина);
СтруктураПараметры.Вставить(«ТолькоПредварительныйРасчет», Ложь);
СтруктураПараметры.Вставить(«ВосстанавливатьУправляемыеСкидки», Истина);
СтруктураПараметры.Вставить(«УправляемыеСкидки», УправляемыеСкидки);
СтруктураПараметры.Вставить(«РеализацияСверхЗаказа», РеализацияСверхЗаказа И Объект.РеализацияПоЗаказам);
СтруктураСообщений = РассчитатьСкидкиНаценкиНаСервере(СтруктураПараметры);
Если СтруктураСообщений.Сообщения.Количество() > 0 И СтруктураСообщений.АвтоматическиОткрывать Тогда
ОткрытьФорму(«ОбщаяФорма.СообщенияСкидокНаценок», СтруктураСообщений, ЭтаФорма, УникальныйИдентификатор);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(АдресПримененныхСкидокВоВременномХранилище) Тогда
РассчитатьСкидкиБезПримененияКОбъекту();
КонецЕсли;
ТекущиеДанные = Элементы.Товары.ТекущиеДанные;
СкидкиНаценкиКлиент.ОткрытьФормуПримененныеСкидки(ТекущиеДанные, Объект, ЭтаФорма);
КонецЕсли;
ИначеЕсли Поле = Элементы.ТоварыЗаказКлиента Тогда
Если ЗначениеЗаполнено(Элементы.Товары.ТекущиеДанные.ЗаказКлиента) Тогда
ОткрытьЗначение(Элементы.Товары.ТекущиеДанные.ЗаказКлиента);
ИначеЕсли ЗначениеЗаполнено(Объект.ЗаказКлиента) Тогда
ОткрытьЗначение(Объект.ЗаказКлиента);
КонецЕсли;
ИначеЕсли Поле = Элементы.ТоварыЦена Тогда
ТекущиеДанные = Элементы.Товары.ТекущиеДанные;
Если ПравоНаЧтениеВидаЦены Тогда
Если ЗначениеЗаполнено(ТекущиеДанные.ВидЦены) И НЕ Объект.Согласован Тогда
ОчиститьСообщения();
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
НСтр(«ru=’Для редактирования цены выберите вид цены «»<произвольная>»»‘;uk=’Для редагування ціни виберіть вид ціни «»<довільна>»»‘»),
Объект.Ссылка,
ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(«Объект.Товары», ТекущиеДанные.НомерСтроки, «ВидЦены»),);
КонецЕсли;
КонецЕсли;
ИначеЕсли НаборыКлиент.БлокируемыйЭлемент(Поле) Тогда
ТекущаяСтрока = Объект.Товары.НайтиПоИдентификатору(ВыбраннаяСтрока);
Если ЗначениеЗаполнено(ТекущаяСтрока.НоменклатураНабора) И ТекущаяСтрока.КодСтроки = 0 Тогда
ПараметрОповещения = Новый Структура;
ПараметрОповещения.Вставить(«НоменклатураНабора», ТекущаяСтрока.НоменклатураНабора);
ПараметрОповещения.Вставить(«ХарактеристикаНабора», ТекущаяСтрока.ХарактеристикаНабора);
ПараметрОповещения.Вставить(«ФормаВладелец», УникальныйИдентификатор);
ПараметрОповещения.Вставить(«СверхЗаказа», Истина);
Оповестить(«РедактироватьНабор», ПараметрОповещения, ЭтаФорма);
КонецЕсли;
ИначеЕсли Поле = Элементы.ТоварыНоменклатураНабора Тогда
ОткрытьЗначение(Элементы.Товары.ТекущиеДанные.НоменклатураНабора);
КонецЕсли;
КонецПроцедуры
13 — 11.08.21 — 14:49
ТекущиеДанные = Элементы.Товары.ТекущиеДанные;
Если ПравоНаЧтениеВидаЦены Тогда
Если ЗначениеЗаполнено(ТекущиеДанные.ВидЦены) И НЕ Объект.Согласован Тогда
ОчиститьСообщения();
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
НСтр(«ru=’Для редактирования цены выберите вид цены «»<произвольная>»»‘;uk=’Для редагування ціни виберіть вид ціни «»<довільна>»»‘»),
Объект.Ссылка,
ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(«Объект.Товары», ТекущиеДанные.НомерСтроки, «ВидЦены»),);
КонецЕсли;
КонецЕсли;
ИначеЕсли НаборыКлиент.БлокируемыйЭлемент(Поле) Тогда
ТекущаяСтрока = Объект.Товары.НайтиПоИдентификатору(ВыбраннаяСтрока);
Если ЗначениеЗаполнено(ТекущаяСтрока.НоменклатураНабора) И ТекущаяСтрока.КодСтроки = 0 Тогда
ПараметрОповещения = Новый Структура;
ПараметрОповещения.Вставить(«НоменклатураНабора», ТекущаяСтрока.НоменклатураНабора);
ПараметрОповещения.Вставить(«ХарактеристикаНабора», ТекущаяСтрока.ХарактеристикаНабора);
ПараметрОповещения.Вставить(«ФормаВладелец», УникальныйИдентификатор);
ПараметрОповещения.Вставить(«СверхЗаказа», Истина);
Оповестить(«РедактироватьНабор», ПараметрОповещения, ЭтаФорма);
КонецЕсли;
ИначеЕсли Поле = Элементы.ТоварыНоменклатураНабора Тогда
ОткрытьЗначение(Элементы.Товары.ТекущиеДанные.НоменклатураНабора);
КонецЕсли;
И снова мучаюсь с УП. Реализация на основании заказа клиента (цены в заказе не заполнены). Вид цены — «произвольная». Колонка с ценой недоступна для редактирования. В модуле формы проверила все свойства (Доступность, ТолькоПросмотр) и колонки, и всей таб.части — все ок. Но отредактировать цену в документе все равно не могу. В чем может быть причина?
Право на редактирование цен есть? в доп. правах
в 10-й нужно разрешить юзер менять цены и скидки подозреваю что в 11 также
Права полные Доп. права — это ред 10…
было такое, не помню, как справился..
Может в администрировании стоит галка на «согласовании»?
попробуй крестик нажать в поле вид цены в строке
Огромнейшее спасибо!!))) Ппц, ни за что бы не догадалась… %)
Просмотрите видеокурс по «Управление торговлей 11» на . Просмотрел, много интересного — весьма отличный материал. Очень советую взглянуть.
гыгы) зашел в одной теме по ссылке сразу закрыл из за поипического баннера в правом углу.
А че баннер. закрыл и все. Главное материал сайта.
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Получить бесплатную консультацию
Вопрос: Какие нужно выполнить настройки в УТ 11, чтобы пользователь с правами менеджера по продажам в «Заказе клиенту» не мог указывать произвольную цену и устанавливать ручную скидку?
Ответ: Для этого нужно выполнить ряд настроек
1) В соглашении с клиентом нужно указать вид цены:
2) Ограничения ручных скидок можно задать в соглашении с клиентом или указать для конкретного пользователя по кнопке «Правила продаж»:
3) Исключить для пользователя с правами «Менеджер по продажам» роль «Отклонение от условий продажи». Поскольку наличие роли дает право отклоняться от условий продажи, заданных в соглашении:
В результате настроек в документе «Заказ клиента» можно выбрать произвольный вид цены, установить ручную скидку больше, нежели по соглашению, но контроль над отклонением от условий продажи по соглашению срабатывает непосредственно при проведении документа в статусе «К выполнению»:
При проведении документа программа выдаст сообщение о том, что вид цены не должен отличаться от цены, установленной в соглашении, что ручная скидка превышает максимально допустимую и что недостаточно прав на отклонение от условий продаж:
Создали новый вид цены в программе 1с: Управление Торговлей 11.4. Теперь его нужно изменить, но поля неактивны и нельзя что-либо поменять.

Данное ограничение связано с Подсистемой «Запрет редактирования реквизитов объектов», которая запрещает изменять некоторые реквизиты объектов, которые являются ключевыми и оказывают влияние на поведение других объектов. Данная
Если Вы уверены, что изменение реквизитов не повлечет за собой негативных последствий и объект еще не используется, то можно разблокировать реквизиты для редактирования.
В данном случае Вид цены был только создан и нигде не используется.
Проверяем доступна ли команда “Разрешить редактирование реквизитов “:

|
Если Пользователи.РолиДоступны(«РедактированиеРеквизитовОбъектов») И ПравоДоступа(«Редактирование», Ссылка.Метаданные()) И НЕ ВсеРеквизитыБезПраваРедактирования Тогда // Добавление команды Команда = Форма.Команды.Добавить(«РазрешитьРедактированиеРеквизитовОбъекта»); |
Если нет, то добавляем роль “РедактированиеРеквизитовОбъектов” и возможность редактирования данного объекта.
Появляется предупреждение о разблокировании реквизитов и необходимости проверить использование объекта. Если объект используется, то не рекомендуется разблокировать реквизиты и нужно нажать кнопку “Закрыть”.

Если же нажата кнопка “Разрешить редактирование”, то реквизиты на форме станут доступны для изменения:
Внимание!!! Разблокирование реквизитов для редактирования Вы делаете на свой страх и риск.