Имя: Пароль:
1C
1С v8
Запись данных типа "хранилище значения" в ресурс РС из формы записи.
,
0 K1RSAN
 
17.11.20
12:41
В общем, сабж в следующем: в РС хранятся данные номенклатуры, согласно которым создаются колонки в документе. Необходимо настроить возможность изменить цвет фона колонки.

Решил попробовать хранить цвет для каждой номенклатуры в самом регистре. Но на форме ресурс РС с типом "Хранилище значений" недоступно. В теории можно было хранить просто строку, но тогда проблема с использованием диалога выбора цвета (при выборе из списка не заполняет значения RGB). Вот и думаю, либо просто набирать RGB - либо понять, как работать с хранилищем значений из формы записей (или куда можно залезть, чтобы сделать запись)
1 Михаил Козлов
 
17.11.20
13:02
Если не ошибаюсь, цвет можно хранить как строку - 16-ричное представление. На форме (ОФ) отображал этот цвет.
2 K1RSAN
 
17.11.20
13:07
(1) Хранить как строку - да, с этим проблем нет. Но я хочу попробовать задействовать форму выбора цвета. А она имеет "особенность". Если выбрать цвет типа "стиль" или "веб цвет" - то в параметрах RGB записывается значение "-1". А значит, что в строку не записать
3 K1RSAN
 
17.11.20
13:08
(2)+ Если не получится - то просто накидаю 3 поля и рядом буду выводить поле, которое будет показывать цвет, и так играясь с параметрами RGB можно будет подобрать цвет и записать. Реализовать такое - 5 минут. Но это "некрасиво" с точки зрения интерфейса пользователя. Хоть и не подразумевается, что этот регистр будут часто дергать
4 arsik
 
гуру
17.11.20
13:20
5 K1RSAN
 
17.11.20
13:50
(4) Если только через макет преобразования - то ну нафиг на красоту. Сделаю на форме три ползунка и пусть подбирают
6 mistеr
 
17.11.20
14:06
(0) Не стоит хранить в реестре. Это предпочтения пользователя, у каждого свои должны быть. Лучше сохнаняй в настройках формы.

Я как-то делал табель с раскраской. У меня была ТЗ с двумя колонками типа СправочникСсылка и Цвет. Я ее сохранял и восстанавливал через СохранитьЗначение/ВосстановитьЗначение.
7 mistеr
 
17.11.20
14:07
(6) "в реестре" -> "в регистре"
8 mistеr
 
17.11.20
14:08
(2) Я использовал стандартный диалог выбора цвета. Получаешь Цвет и используешь, а что там внутри, какая разница?
9 arsik
 
гуру
17.11.20
14:23
(8) А хранить как?
10 mistеr
 
17.11.20
14:27
(9) См. (6)
11 K1RSAN
 
17.11.20
14:32
(8) А в чем хранить? Я получаю на форме - да. Но мне надо это значение положить в реквизит - какой тип у реквизита ставить?
12 mistеr
 
17.11.20
14:37
(11) Просто в переменную не устраивает?
13 K1RSAN
 
17.11.20
14:45
(12) ТЗ у тебя где находится? макет?
14 mistеr
 
17.11.20
14:48
(13) Сейчас уже не помню точно, или реквизит формы, или переменная в модуле формы.
15 K1RSAN
 
17.11.20
14:54
(14) Если реквизит - у него должен быть тип. Переменную в модуле формы надо рассчитывать или получать откуда-то. В обоих случаях это означает, что данные надо хранить в чем-то и где-то. Вопрос - в чем и где? Хранить в настройках - тогда надо сделать всем пользователям эту настройку, чтобы у них было одинаково на экране. И в случае чего - так же всем синхронно менять настройку.
16 mistеr
 
17.11.20
15:15
(15) В (6) все описано.

Если задача сделать всем пользователям одинаково, то это другое дело. Можно сделать настройку в ПВХ НастройкиПользователей. Можно использовать справочник, где хранятся настройки отчетов, СохраненныеНастройки кажется.

Но готов поспорить, что пользователи очень быстро захотят разные цвета для себя.
17 Kassern
 
17.11.20
15:20
(6) Это ж вроде только для толстого клиента "СохранитьЗначение". Вообще первым делом ТСу нужно было написать какая конфа у него.
18 Вафель
 
17.11.20
15:21
нужно хранить во временном хранилище и перед записью на сервере класть назад
19 Kassern
 
17.11.20
15:32
(0)Сохранить настройки в хранилище. В структуру можно пихнуть и цвет и нужные колонки.
ХранилищеОбщихНастроек.Cохранить(КлючОбъекта,  КлючНастроек, Настройки, , ИмяПользователя);

Где нужно изменить цвет получаем настройки
СтруктураНастроек = ХранилищеОбщихНастроек.Загрузить(КлючОбъекта,КлючНастроек,,ВладелецНастроек);
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой