|   |   | 
| 
 | Хранение данных сеанса в справочнике | ☑ | ||
|---|---|---|---|---|
| 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) Про остатки и цены в справочнике - что-то вряд ли. Ну то есть понятно что кто-то хранит, но что это считается нормально - все же вряд ли.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |