Имя: Пароль:
1C
1C 7.7
v7: Регламентный пользователь для 7.7
0 extrim-style
 
14.05.13
10:34
Нужен регламентный пользователь со следующей схемой работы: зашел с первым пользователем, вышел с последним. Как сие реализовать?
1 Ёпрст
 
14.05.13
10:37
Зачем ему выходить ?
2 mikecool
 
14.05.13
10:37
(0) им еще третьего надо для комплекта
3 Злопчинский
 
14.05.13
10:38
штано и при этом красиво - никак имхо.
только мониторингом списка текущих пользователй.
а так как одновременность в такой задача "вышел с последним" принципиально недостижима - в (0) поставлена задача не имеющая решения, м.б. предложено толь ко квазирешение типа "вышел не позже 5 минут от последнего пользователя".
.
вариантов несколько навскидку можно предложить...
4 Ёпрст
 
14.05.13
10:39
да и цель то какая ?
5 Ёпрст
 
14.05.13
10:39
(3) штатно - как раз то запросто
6 Злопчинский
 
14.05.13
10:39
(1) боятся одного оставить...?
7 Злопчинский
 
14.05.13
10:40
(5) ну все равно - каждый зашедший авторегится в списке активных, при выходе разрегивается. робот - мониторит список. штатно...
8 Злопчинский
 
14.05.13
10:41
можно еще всякими оповещалками через всякие стеки тспип и прочее хитроизвращенную лабуду - тогда выход робота будет макимально приближен по времени к выходу последнего..
9 Злопчинский
 
14.05.13
10:42
правда нихрена непонятно, что делать если пользователя вышибло из сеанса по аварийке... 3-5 строчками кода тут не отделаешься...
10 Ёпрст
 
14.05.13
10:42
(9) см (5)
11 extrim-style
 
14.05.13
10:43
(10) а как это сделать?
12 Злопчинский
 
14.05.13
10:44
(10) ну, я знаю что ты знатный извращальщик и знаешь в этом толк... ;-0)
13 Ёпрст
 
14.05.13
10:45
(11) ОбработкаОжидания + Блокировка на элемент справочника, всё собственно ну и проверку в ПриНачалеРаботыСистемы для запуска робота и в ПриЗавершенииРаботыСистемы для его останова. + в ОбработкеОжидания проверять, есть ли кто живой, если нет - выход робота.
14 Ёпрст
 
14.05.13
10:46
ОбработкуОжидания запускаешь только у робота.
15 extrim-style
 
14.05.13
10:47
(13) Блокировка на элемент справочника?
16 mikecool
 
14.05.13
10:47
это для того наверное, чтобы никто монопольно не заходил
17 Ёпрст
 
14.05.13
10:48
(15) да.
Это штатный способ отлова активных юзверей в базе.
18 DEVIce
 
14.05.13
10:51
(7) Если и так есть робот, который мониторит список, на фиг еще одного регламентного делать? Пусть тогда робот сам и выполняет нужные процедуры при входе первого и выходе последнего, но сам при этом висит постоянно.
19 Ёпрст
 
14.05.13
10:53
(18) аутору нужен просто чорт для эммуляции работы.. типа всё время был в 1с-ине..
:)
20 extrim-style
 
14.05.13
10:54
(18)(19) нужно для целей ежеминутной синхронизации. ОбработчикОжидания не очень подошел.
21 Ёпрст
 
14.05.13
10:58
(20) кого с кем синхронизировать ?
И чем не подошел ?
22 extrim-style
 
14.05.13
11:06
Синхронизация справочника посредством SQL.
Начать с того, что не имеет смысла инициировать синхронизацию для каждого из овер 150 пользователей.
23 extrim-style
 
14.05.13
11:06
(22) -> (21)
24 Mikeware
 
14.05.13
11:14
(22) вам "надо что-то в консерватории подправить"©
25 extrim-style
 
14.05.13
11:14
(17) есть об этом почитать?
26 extrim-style
 
14.05.13
11:15
(24) что хотел сказать? говори прямо, я не обижусь)
27 Mikeware
 
14.05.13
11:23
(26) то, что ты придумал какое-то кривое решение непрямой задачи, и спрашиваешь, как сделать еще один угол...
Начинать надо с задачи, а не с решения..
28 extrim-style
 
14.05.13
11:26
(27) задача - ежеминутная синхронизация справочника с таблицей SQL. Вроде бы выше об этом сказал. Подскажи прямое решение.
29 vladko
 
14.05.13
11:33
(26) ты так и не ответил, нафига это надо тебе? т.е. для каких целей? "целей ежеминутной синхронизации" не понятно кого с кем ты хочешь синхронизировать и для чего
30 vladko
 
14.05.13
11:34
(28) как только нормально расскажешь о своей задаче - получишь нормальный ответ
31 extrim-style
 
14.05.13
11:50
(30) Синхронизация справочника 8->7 посредством SQL.
32 Ёпрст
 
14.05.13
12:02
(31) и нахрена там для этого какой то пользователь ?
Тупо триггер на табличку в скуле и привет.
33 extrim-style
 
14.05.13
12:05
(32) триггеры не юзал никогда. Можно чуть подробнее?
34 Ёпрст
 
14.05.13
12:05
(25) чего там читать ?
тупо справочник пользователей, при заходе, каждый юзверь ставит блокировку на элемент справочника.
Всё собственно.
Ежели надо проверить, кто есть в базе - пробег по справочнику и попытка установки блокировки, удача - юзверь не в базе, неудача - юзверь там.
Если юзверь аварийно отваливается, блокировка автоматом сама снимается.
35 extrim-style
 
14.05.13
12:06
+(32) 8ка файловая.
Я так понимаю в (32) речь о синхронизации таблиц непосредственно в SQL?
36 Ёпрст
 
14.05.13
12:06
37 Ёпрст
 
14.05.13
12:07
(35) да.
ты же сам написал, что у тя скуль в (28)
38 extrim-style
 
14.05.13
12:09
(37) я написал, что мне нужно брать из SQL.
39 extrim-style
 
14.05.13
12:12
(36) ну понятно, т.е. о триггерах речь шла в случае осуществления синхронизации непосредственно в SQL?
40 Ёпрст
 
14.05.13
12:16
(39) да
41 extrim-style
 
14.05.13
12:17
(40) ну я так и понял. (33) в этом контексте спрашивал.
Тут это не подойдет.
42 Ganiev
 
14.05.13
12:22
Прямым запросом выхватить табличку из скуля и по ИД Через условия найти в справочнике если не нашел то создать новый!
43 extrim-style
 
14.05.13
12:27
(42) спасибо, кэп
44 Mikeware
 
14.05.13
12:40
Навскидку варианты:
1)Триггер, в нем отправка msmq ида заявки...
в снеговике - принимать сообщения из очереди, и тянуть из sql реквизиты документа.
2) складывать в папке обмена измененные документы (можно серилизованнные, можно просто иды)
45 extrim-style
 
14.05.13
12:44
(44) 8->7, а не 7->8
что-то даже звучит непонятно)
46 Mikeware
 
14.05.13
13:10
Кто из них кна сиквеле?
47 extrim-style
 
14.05.13
17:02
(46) 8 файл -> SQL -> 7
7 на SQL, но писать синхронизацию средствами SQL нереально, т.к. слишком много проверок и условий.
48 Злой Бобр
 
15.05.13
00:29
Автор мутный тип ... Подождем пока его попустит и он четко сможет сформулировать задачу. А то сплошной поток. Причем бессвязный.
49 extrim-style
 
15.05.13
09:00
(48) Да вроде всё сказал.
Задача - синхронизировать справочник. База-исходник - 8ка файловая. База-приемник - 7ка SQLная. Синхронизация через SQL. На стороне 7-ки в процессе синхронизации требуется доп. обработка синхронизируемых данных.

Написал обработку синхронизации. Повесил обработку на обработчик ожидания. Проверил работу. Скорость работы устраивает. Но вот во время работы обработки курсор меняется и понятно, что что-то отрабатывает, даже может быть легкий залипон. Может поможет вынос кода из обработки непосредственно в глобальный модуль, но на период тестирования нужно в обработке, код которой во внешнем файле, чтобы можно было поправить, если что.

Далее, можно было бы просто повесить обработчик, но т.к. пользователей овер 150, то как бы незачем у каждого инициировать. Поэтому думаю над регламентным пользователем.
50 Злой Бобр
 
15.05.13
12:09
(49) Ну вот, так бы сразу и выложил. А то я уже паяльник приготовил ...
Если исходник снеговик, то тогда логично в снеговике при записи элемента справочника проверять его в клюшке и делать то что нужно. Ну а в клюшках проверить реквизит, если элемент выгружен из снеговика то запретить его изменение. Вроде как ничего сложного и нет.
51 Ёпрст
 
15.05.13
12:11
(50) скорее клюшки у него первичные, снеговик - вторичный.. тестят для перехода или типа того.
52 extrim-style
 
15.05.13
12:18
(50) я ниче не понял
53 extrim-style
 
15.05.13
12:21
(51) наоборот. в (49) же написано.
54 Ёпрст
 
15.05.13
12:27
(53) а зачем такой изврат нужен ?
А в 7-ке работает кто при этом ?
55 Mikeware
 
15.05.13
12:28
Так и что с чем синхронизируется-то?
При создании чего-то в снеговике - выгрузить в клюшки, чтоль?
56 extrim-style
 
15.05.13
12:31
(55) да
57 Mikeware
 
15.05.13
12:41
И нафига тут регламентный пользователь?
58 Mikeware
 
15.05.13
12:41
опять же, какой временной лаг допустим и нужен?
59 Mikeware
 
15.05.13
12:42
Нужны ли события "случился экспорт".
60 extrim-style
 
15.05.13
12:47
(59) не нужно. нужна ежеминутная синхронизация.
61 extrim-style
 
15.05.13
12:49
(58) нужно, чтобы это было незаметно для пользователя
62 Mikeware
 
15.05.13
12:56
(61) что "незаметно"?
63 extrim-style
 
15.05.13
13:08
(62) синхронизация
64 Злой Бобр
 
15.05.13
15:00
(52) Ну в семерке тебе в справочник добавить реквизит например:
Номенклатура.снеговик (1-заведен из базы 8, 0-создан в базе 7).
Дальше в ПриОткрытии() ставишь:
Форма.ТолькоПросмотр(снеговик);
Это для того что б в семерке немогли покоцать синхронизированный элемент пришедший из 8-ки. И все. И никаких роботов и прочей хрени.
В восьмерке при создании и редактировании элемента справочника добавь код синхронизации с семеркой.
Все должно быть "незаметно", как ты выразился.
65 Mikeware
 
15.05.13
15:09
(63) плятттьььь
синхронизация чего с чем?
что рассинхронизируется, и как. что ты называешь "синхронизацией"?
66 extrim-style
 
15.05.13
15:44
(64) спасибо, кэп. А в (48) ногой дверь открывал...
67 extrim-style
 
15.05.13
15:45
прочти (49)
Ошибка? Это не ошибка, это системная функция.