Имя: Пароль:
1C
1С v8
УТ11. Документ КоммерческоеПредложениеКлиенту - недоступно поле Цена
,
0 Garry1010
 
04.10.21
14:34
В УТ 11 есть документ КоммерческоеПредложениеКлиенту, у него есть форма. По умолчанию там указывается вид цены <произвольная> и тогда можно указывать цену (в соответствующей колонке). При попытке же выбрать какой-то вид цены типовая конфа ругается. Слегка подправили форму, чтобы не ругалась - выбрать вид цены можно, но при этом недоступно поле Цена. Куда не тыкаюсь в Отладчике, везде это поле видимо, доступно, не только просмотр и редактирование разрешено - то есть ДОЛЖНО быть доступно к редактированию... Но оно - НЕДОСТУПНО. :(( Никто не разбирался как 1С так сделали? И в каком месте?..
1 pechkin
 
04.10.21
14:35
условное оформление
2 Kassern
 
04.10.21
14:38
(0) по идее вид цены должен из соглашения тянуться. Смысл вам указывать вид цены, если вы собираетесь вручную править? Для этого и есть произвольная цена. Сразу понятно, что вручную редактировалась, если же указан вид цены для строчки документа, то цена уже не редактируется и тянется из регистра сведений цен на дату документа, что логично
3 Garry1010
 
04.10.21
14:56
Интересует ТОЛЬКО как 1С оформили такой хитрый запрет!? И где они это закрутили?

(1) Это догадка или факт?
4 Kassern
 
04.10.21
15:08
(3) вам этот кусок кода ни о чем не говорит?
    Элемент = УсловноеОформление.Элементы.Добавить();

    ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
    ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ТоварыЦена.Имя);

    ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.ВидЦены");
    ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Заполнено;
    Элемент.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Истина);
5 Kassern
 
04.10.21
15:10
но прежде чем ковырять, лучше бы под логику подстроились. Там все нормально в плане цен организованно.
6 kobzon2
 
04.10.21
15:14
Не понятно как ты отладчиком смотрел.

<1с>
ОбщегоНазначенияКлиент.СообщитьПользователю(
                        НСтр("ru = 'Для редактирования цены выберите вид цены ""<произвольная>""'"),
                        Объект.Ссылка,
                        ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти("Объект.Товары", ТекущиеДанные.НомерСтроки, "ВидЦены"),);
</1с>
Далее если идти, последний параметр, который тут упущен:
//  Отказ - Булево - выходной параметр, всегда устанавливается в значение Истина.

Указывается поле тип цен, по типу он у тебя не заполнен. Он заполнен, но намек что не произвольным типом цен.
7 Garry1010
 
04.10.21
15:30
(4) Я и спрашивал - ГДЕ. Ну, хоть кусок кода привели - спасибо.

(5) Нет, невозможно. В УТ первичным идёт Установка цен, а потом КП по нему - а в нашем процессе всё наоборот.

(6) Не так так злобно тыкать! Это я как раз видел и убрал. А причина в (4)... и где-то ещё. Сейчас поищу.
8 Kassern
 
04.10.21
15:36
(7) это процедура УстановитьУсловноеОформление там все что вам нужно.
9 Garry1010
 
04.10.21
15:37
(8) Да-да, спасибо большое! Дальше я уже разберусь. :)
10 pechkin
 
04.10.21
17:17
Это же ролями регулируется
11 Garry1010
 
04.10.21
17:32
(11) Ничего подобного! Много где там просто и ТУПО прописано: что-то сделать напрямую без учета функциональных опций и прочих констант.
12 pechkin
 
04.10.21
22:39
А в заказе могут цены менять. Вот там точно правами