Имя: Пароль:
1C
 
Хранение данных сеанса в справочнике
0 ASimonova
 
11.09.23
16:22
Меня попросили написать хранение данных сеанса в справочнике пользователей. То есть каждый раз пользователь входит в программу, из регистра берутся некие данные согласно параметрам его входа (меняются от случая к случаю), и прописываются в справочник пользователей. Я говорю, что это кошмар и нельзя так писать, но моего "нельзя" работадателю не хватает. Может кто-то кинуть какую-то умно написанную статью, почему делать так нельзя?

Если условия недостаточно ужасны, я еще добавлю деталей.
1 Garykom
 
гуру
11.09.23
16:23
В типовых уже есть этот механизм
Используется РС а не справочник
2 ASimonova
 
11.09.23
16:24
(1) Ну да и я об чем. А работадатель хочет справочник и не какой то а справочник пользователей.
3 Garykom
 
гуру
11.09.23
16:25
Т.е. не нужен никакой справочник
РС + параметры сеанса
Для удобства просмотра/удаления/правки настроек предусмотреть кнопочку/ссылочку в справочнике Пользователи
4 ASimonova
 
11.09.23
16:25
(3) Я понимаю... Вопрос в том, как объяснить это работадателю...
5 Builder
 
11.09.23
16:33
(0) А почему нельзя так писать? Кто сказал? А может и можно.
Чем РС принципиально отличается от справочника?
6 Волшебник
 
11.09.23
16:35
(5) наличием ссылки
7 unenu
 
11.09.23
16:38
(0) создай форму списка где мастер-таблицей будет справочник "пользователи", а деталь-таблицей данные из РС.
В форме элемента "пользователи" сделай закладку с данными из РС.

Думаю, именно это и хочет заказчик и в его картине мира - это "справочник".
8 ASimonova
 
11.09.23
16:40
(5) Ну как минимум тем что в справочнике >пользователей< хранятся важные и нужные данные напостоянку. А если мы будем шуровать там в куче таблицах и реквизитах (а их правда куча), то важные и нужные данные в важном и нужном справочнике как-то не защищены что ли получается... Слабовато у меня звучит, поэтому я и обращаюсь
9 ASimonova
 
11.09.23
16:41
(7) Да нет, там без вариантов... Заказчик хочет чтобы весь старый код обращения к >реквизитам< пользователя остался прежним, а значит для этого надо перезаписывать именно реквизиты.
И ТЧ.
10 unenu
 
11.09.23
16:42
(0) Кстати, слова "кошмар", "ужас", "катастрофа"... следует выбрасывать из бытового и делового обращения - никакой пользы для жизни и дела они не несут.

Оставим эти термины полит-ток-шоу.
11 Garykom
 
гуру
11.09.23
16:42
(9) Напиши функции/процедуры в модуле менеджера справочника Пользователи
А что там внутри уже пофиг
12 ASimonova
 
11.09.23
16:42
Короче исходя из всеобщего затруднения выходит что никто не видит проблемы в хранении временных данных сеанса в самом важном справочнике базы?
13 Волшебник
 
11.09.23
16:43
(12) Уважайте любой каприз работодателя за его деньги.
14 ASimonova
 
11.09.23
16:43
(11) Да нет, там не пофиг. Вот я ответила в сообщении 9. Реквизиты обязаны быть перезаписаны по идее заказчика, чтобы код обращения к ним остался тем же.
15 unenu
 
11.09.23
16:44
(9) я описал решение в (7). Заказчик может не понимать БД и говорить парой понятных ему слов. Бывает некоторые думают, что в 1С есть только справочники и документы. Просто нарисуйте формы.
16 Garykom
 
гуру
11.09.23
16:45
(10) Ага и заменим термины говнокод на темная архитектура
Костыль на workaround
17 Garykom
 
гуру
11.09.23
16:46
Прикольно будет когда оно начнет на блокировки попадать и грязное чтение
18 ASimonova
 
11.09.23
16:47
(15) По-моему сообщенное в (9) сводит на нет ваше решение. Заказчик требует не трогать код в некоем документе. Допустим код "Пользователь.Склад" должен остаться тем же. При этом склада у пользователя должно быть два и меняться они будут в зависимости от параметров входа
19 unenu
 
11.09.23
16:48
(18) в (9) нет четкого понимания кто чего хочет.
20 Franchiser
 
гуру
11.09.23
16:50
запросы к регистрам работают быстрее, чем к справочникам и документам, поэтому должно храниться в регистре. Если тормоза заказчика не смущают сделай в справочнике.
21 ASimonova
 
11.09.23
16:50
(19) Вам задачу полностью расписать? Выложить ТЗ?
На самом деле не очень понимаю зачем, вопрос заключался в том, какие аргументы есть для объяснения почему нельзя сделать описанное в (0)
22 ASimonova
 
11.09.23
16:50
(17) А это возможно в данном случае разве?
23 unenu
 
11.09.23
16:51
(18) Слишком много гипотез в одном предложении.
Разбейте задачу на составляющие и решайте последовательно.
24 Garykom
 
гуру
11.09.23
16:51
(18) Это изврат
1. Почему Пользователь.Склад вместо ПараметрыСеанса.Склад?

И вот параметры сеанса можно было бы заполнять как надо при входе
25 ASimonova
 
11.09.23
16:51
(24) Потому что "Пользователь.Склад" уже написано в документе, а документ трогать нельзя. Ну то есть можно, но заказчик запрещает. Я должна его уговорить. Для этого мне нужны аргументы почему ИМЕННО это изврат
26 Ногаминебить
 
11.09.23
16:56
Ну то есть кто-то ранее написал кучу всякого разного и заказчик опасается, что оно перестанет работать? Вполне возможно это самое сидит уже чуть более чем везде и переписать будет долго и дорого.
27 ASimonova
 
11.09.23
16:56
Уговорила! Ура!
Но вообще то все равно было бы интересно понять какая реальная аргументация есть. Я удивилась, что по сути все более или менее согласны, что так нельзя, но никто не может привести железных аргументов.
28 ASimonova
 
11.09.23
16:56
(26) Дада, это именно наш случай
29 Garykom
 
гуру
11.09.23
16:56
(25) Создай общий модуль клиентский "Пользователь"
И там
ПЕРЕМ Склад Экспорт

:)
30 ASimonova
 
11.09.23
16:57
(29) Хаха, а табличную часть в модуле получится создать?)))
31 Franchiser
 
гуру
11.09.23
16:58
32 Garykom
 
гуру
11.09.23
16:58
(30) ТЗ почему нет?
33 ASimonova
 
11.09.23
17:00
(32) Кстати действительно... Спасибо за вариант!
34 Garykom
 
гуру
11.09.23
17:00
Самый самый костыль было бы ничего не трогать
А перед обращением менять (перезаписью) реквизит Склад у справочника Пользователи программно
35 ASimonova
 
11.09.23
17:01
(34) Ну да, именно это и требуется. Только не перед обращением, а в момент входа
36 ASimonova
 
11.09.23
17:03
(34) Просто в момент постановки задачи, я была уверена, что это неприемлемая постановка. Но после обсуждения поняла, что реальных аргументов против не существует. Присутствует просто нарушение логики порядка хранения данных, но реальных проблем нет.
37 Garykom
 
гуру
11.09.23
17:29
(36) дада
а потом второй сеанс с тем же пользователем запустят и привет
38 Волшебник
 
11.09.23
17:31
(27) Да можно...
39 Aleksey
 
11.09.23
17:34
(36) ну храняьт же остатки и цены в српавочнике номенклатуры, почему нельзя склад хранить я так и не понял
40 ASimonova
 
11.09.23
18:32
(39) Про остатки и цены в справочнике - что-то вряд ли. Ну то есть понятно что кто-то хранит, но что это считается нормально - все же вряд ли.