Имя: Пароль:
1C
1С v8
Количество одновременно редактируемых документов.
,
0 024410
 
06.12.11
17:53
Коллеги добрый вечер!
Подскажите не сталкивался ли кто с такой задачей: Необходимо определить кол-во открытых окон одного документа. Т.е. в данном случае речь идет о чеке ККМ – кассиру разрешено иметь одновременно открытых не более 5 чеков. При этом документы еще не записаны в базу. Вносить изменения в конфигурацию не желательно (типа при открытии добавлять запись в служебный регистр, а при закрытии удалять), но можно.
Спасибо за ранее.
1 024410
 
07.12.11
13:01
Неужели никто никогда?
2 Rie
 
07.12.11
13:06
(1) Ты же сам предложил решение. Чем оно тебя не устраивает?
3 Rie
 
07.12.11
13:07
+(2) Более того - даже регистр не нужен. В рамках одного сеанса можно обойтись и без него.
4 024410
 
07.12.11
13:11
Ну я думал может есть еще какие варианты более прикольные.
5 Kashemir
 
07.12.11
13:12
Тут можно придумать что-нить с внешним событием. Типа при открытии посылаешь внешнее событием о возможности открытии - а дальше несколько вариантов реализации обратной связи.
6 Rie
 
07.12.11
13:12
(4) 5 открытых чеков у одного кассира - это само по себе прикольно.
Почему бы не ограничиться одним?
7 Rie
 
07.12.11
13:13
(5) Тогда уж оповещать при закрытии - и открывать новый чек.
8 Zubek
 
07.12.11
13:14
(7) присоединяюсь к вопросу )
9 Zubek
 
07.12.11
13:14
(7) *(6)
10 Kashemir
 
07.12.11
13:15
(7) Не, так не спортивно. Информация нужна в момент открытия нового окна, зачем ее хранить если запроса на открытие не было ?
11 Rie
 
07.12.11
13:17
(10) Чтобы было совсем спортивно (в том числе и без изменения конфигурации) - внешняя обработка. Которая собирает в себе информацию - а затем по нажатию хитрой кнопки формирует документ в базе.
12 024410
 
07.12.11
13:18
(6) Это магазин мыла и другой элитной косметики ручной работы. Обычно туда ходят гламурные тети. Начинает одна выбирать чего то несет на кассу ей уже начинают пробивать чек. Тут она вспоминает, что еще чего то хочет и уходит брать то что ей нужно. А в это время к кассе подходит еще одна тетя и тоже хочет отовариться... и такая дребедень целый день, но все для клиента. В типовой рознице можно оставлять чек открытым и переходить к другому, но тут УТП...
13 Rie
 
07.12.11
13:20
(12) А кто заставляет ей сразу пробивать чек?
Возможен, к примеру, вариант (11).

Ну и откуда взялось ограничение _5_? 6-ю гламурную тётю в магазин уже не пустят?
14 Kashemir
 
07.12.11
13:21
(11) А в чем проблема к примеру обнулить некий клиентский счетчик, запустить внешнее событие, при этом отзыв каждой формы изменит значение этого счетчика и останется лишь проверить его значение и позволить открыться форме либо уйти в отказ.
15 Rie
 
07.12.11
13:27
(14) Не проблема. Но:
а) потребует внесения изменений в конфигурацию;
б) уже предлагалось (самим ТС).
16 024410
 
07.12.11
13:27
(11) да это интересно
17 024410
 
07.12.11
13:29
(13) заказчик хочет так а будут они там кого то пускать или нет...
склоняю к тому что бы завести параметр сеанса (кол-во открытых чеков) новый +1 закрываем -1 и проверять.
18 Kashemir
 
07.12.11
13:31
(15)
а) Таки да, изменения понадобятся
б) Есть большая разница между внесением информации в регистр, как предлагал автор и инициализацией глобальной переменной
19 Rie
 
07.12.11
13:33
(18) "Глобальная переменная" тоже предлагалась - (3) :-)
20 024410
 
07.12.11
13:34
(18) мне кажется регистр будет лишним, а вот параметр сеанса думаю самое то - при то что 90% в базе работают именно кассиры
21 Kashemir
 
07.12.11
13:38
(20) Т.е. требуется разрешить всего 5 документов на всех кассиров ? Или 5 документов каждому кассиру ? Слегка запутался
22 Rie
 
07.12.11
13:38
(20) Если пойдёшь по пути написания внешней обработки - то можно вообще нигде ничего не хранить (разнести чеки по разным табличным частям и вместо отдельных окон - закладки).
Хотя, конечно, фиксированное число табличных частей - не есть хорошо, а даже наоборот. Но в качестве теоретической идеи - возможно.
23 024410
 
07.12.11
13:39
(21) по  5 на каждого - в одном магазитн один кассир, но магазинов много.
24 Rie
 
07.12.11
13:39
+(22) А внешнюю обработку можно стартовать в начале сеанса. И если потребуется счётчик - хранить его в её переменной модуля объекта.
25 Rie
 
07.12.11
13:40
(23) "Хоббит один - а гномов много" (c) Р.Толкиен, "Хоббит, или Туда и обратно" :-)
26 024410
 
07.12.11
13:41
(20) я согласен - это самое кашерное решение, но по и самое трудозатратное, озвучу варианты руководству - будем решать как оно лучше.
27 Kreont
 
07.12.11
13:43
(0) Запретить все :) Разрешить модально только один, и показать как запускать сбоку еще парочку 1С
28 Rie
 
07.12.11
13:44
(27) Рано или поздно - но кассир догадается, что где "парочка 1С" - там и "пяток 1С", и даже "пара десятков 1С". И тогда наступит праздник :-)
29 Escander
 
07.12.11
13:45
(19)это про параметры сеанса?
Ну хз, но наверное это лучше чем лопатить ТЖ.
30 Escander
 
07.12.11
13:46
(24)а почему тогда уж не в хранилище?
31 Rie
 
07.12.11
13:47
(29) Не обязательно. Можно переменную модуля обработки (подвесить обработку при запуске, без создания окна - и пусть себе кукует).
32 Rie
 
07.12.11
13:47
(30) Да где угодно. Я клоню к тому, что кассиру надо дать одну-единственную управляющую обработку и отобрать права на всё остальное.
33 Escander
 
07.12.11
13:52
(32)ну в целом конечно пофиг, вот только где кошернее?
34 sergeev-ag-1977
 
07.12.11
14:01
ИМХО: Внешняя обработка. По итогу делает документ стандартный. Количество 5 или 15 зависит от гламурности женщин. ;-)