Имя: Пароль:
1C
1C 7.7
v7: Странно ведет себя "журнал регистрации"
,
0 vova1122
 
03.09.12
16:07
Как-то странно себя ведёт журнал регистрации.

  ЖРКомент="Чек на "+Сумма+ " грн. НАДРУКОВАНО";
  ЗаписьЖурналаРегистрации(ЖРКомент, , "Чек для:  "+Контрагент,Текущийдокумент() , 3);

Суть самой проблемы. в 1С одновременно работают два пользователя.
Первый пользователь создаёт документ и во время печати делается эта запись в реестр (документ ещё не сохранен). Потом этот же первый пользователь смотрит в журнал регистрации и у него поля "Событие" и "Комментарий" заполнены.
Потом второй пользователь тоже хочет посмотреть журнал регистрации из своего рабочего места (имеется в виду посмотреть на ту запись что только что сделал первый пользователь). Открывает тот же журнал регистрации и видит что поле "Событие" постое, а "Комментарий" заполнен так как и у первого пользователя.
Как только второй пользователь сделает любое действие (которое приведёт к записи в журнал регистрации), то только после этого сможет увидеть заполненную графу "событие" что сделал первый пользователь.
Так собственно вопрос: это глюк 1С или я что-то недопонимаю...
1 andrewks
 
03.09.12
16:10
за событие "Чек для:  "+Контрагент" я бы не только поле "Событие" очищал, я бы ещё и dbf-ки портил
2 vova1122
 
03.09.12
16:12
(1) объяснитесь пожалуйста...
3 andrewks
 
03.09.12
16:17
(2) объясняюсь.

тебе задают вопрос: "Есть ли у вас дети" с вариантами ответов "Да"/"Нет", а ты пишешь: "Не уверен, может, есть, а может, нет, короче, хз"
4 andrewks
 
03.09.12
16:21
ЗаписьЖурналаРегистрации(ЖРКомент, , "Создание чека",ТекущийДокумент() , 3);
5 vova1122
 
03.09.12
16:23
(4) что это изменит? Всего лишь текст "события". Но всеравно у второго пользователя пока он ничего незапишет в базу это поле в жернале регистрации будет пустым...
6 andrewks
 
03.09.12
16:26
(5) видишь ли, "Событие" - это нечто более глобальное, чем "создание чека для дяди Васи" или "создание чека для дяди Коли", и пишется в отдельный файл 1cv7evt.txt, откуда и читается. не успел записать - другой сеанс не догадается, что за тип у этого события
7 Злопчинский
 
03.09.12
16:31
1cv7evt.txt - только пользовательсие собятия.... ???
8 vova1122
 
03.09.12
16:32
(6) 1cv7evt.txt

Об этом я незнал. я думал что все события записываются только в 1cv7.mlg.
9 BigHarry
 
03.09.12
16:32
Кмк, дело в Текущийдокумент(), ведь он еще не сохранен, если конечно я правильно понял об чем речь...
10 andrewks
 
03.09.12
16:32
(7) угу
11 andrewks
 
03.09.12
16:32
(9) мимо
12 vova1122
 
03.09.12
16:35
(9) графы "Объект" и "Представление объекта" пустые, как и должно быть.
13 vova1122
 
03.09.12
16:48
кстати 1cv7evt.txt когда он разрастётся можно чистить простым удалением верхних строк?
14 andrewks
 
03.09.12
16:53
(13) его можно вообще удалить. но помни про (0)
15 vova1122
 
03.09.12
17:06
(14) понятно. При обрезании журнала регистрации незабывать чистить и тот текстовый файл....
16 vova1122
 
28.09.12
12:59
Прошёл почти месяц работы. Файл 1cv7evt.txt вырос всего до 120 Кб. Но при печати документа уже заметны тормоза (при печати делается ЗаписьЖурналаРегистрации). В отладчике видно что именно ЗаписьЖурналаРегистрации занимает 95% времени (1,5-2 сек). При пустом файле 1cv7evt.txt  это время намного меньше.

Но еще заметил странность. Если текст переменных этой функции (Коммент>,,<Событие>,) недлинный (точную цыфру еще не определил) то запись <Событие> идёт не в 1cv7evt.txt а в 1cv7.mlg.
Может так и должно быть?
17 Скользящий
 
28.09.12
13:11
если тебе так важно логирование, заведи справочники под него, и пиши все в справочники из журнала регистрации (решений подобных, логирования на основе справочников, до фига) а журнал регистрации очищай.
18 dk
 
28.09.12
13:11
в 1cv7evt.txt хранятся пользовательские виды событий, если я не путаю ничего
если коряво пользоваться записьюжурналарегистрации
например в виде события хранить номер документа или дату время (т.е. уникальное значение), то файл пухнет 1cv7evt.txt и скорость записижурналарегистрации падает, а может и в целом 1с тормозить, если такие записи делать в модуле проведения например
19 vova1122
 
28.09.12
13:19
В Журнал регистрации пишу:
1. Из документа при печати на какую сумму и для какого контрагента он напечатан
2. Из отчета что формировалось и с какими параметрами.

Так вот проверял в отчете, если текст сообщения короткий то запись пишется в  1cv7.mlg. а если текс длинный то пищется в 1cv7evt.txt.
Может ктото обяснить эту ситуацию?
20 dk
 
28.09.12
13:21
(19) скинь что у тебя в записьжурналарегистрации пишется, а так читать (18) до полного просветления )
21 vova1122
 
28.09.12
13:30
ЖРКомент=  выбНомен.КоличествоСтрок();
     ЖРКомент="Звірили з сайтом  "+ЖРКомент+ "  рядків.";
      ЗаписьЖурналаРегистрации(ЖРКомент, , "Звіти => Перевірка на НАШЕМ САЙТЕ (звірка)", , 3);



     ЖРКомент=  ПерииодСтр; //дата
     ЖРКомент="Статистична інформація за  "+ЖРКомент+ " виконана.";
     ЗаписьЖурналаРегистрации(ЖРКомент, , "Звіти => Перевірка на НАШЕМ САЙТЕ (статистична інф.)", , 3);

Выдержка из отчета
Первый вариант пишется в 1cv7.mlg
Второй вариант пишется в 1cv7evt.txt
22 dk
 
28.09.12
13:38
вроде нормально все, для обеих вариантов должно быть по 1 записи
Звіти => Перевірка на НАШЕМ САЙТЕ (звірка)
и
Звіти => Перевірка на НАШЕМ САЙТЕ (статистична інф.)
в файле 1cv7evt.txt
---
т.е. если такого события нет в файле 1cv7evt.txt, то 1с туда пишет, если уже есть, то не пишет
Это для фильтра в режиме предприятия в журнале регистрации
23 vova1122
 
28.09.12
13:43
(22) А, наконец то дошло. новая запись создается, если точно такой еще нет в 1cv7evt.txt.....
Тогда все понятно