Регистрация Правила Главная форума Поиск |
0
- 25.05.2015 - 08:29
|
Поставили задачу - получить дату и время создания документов. Те, что сделаны вручную - есть в журнале регистрации. А те, что созданы обработками загрузки - там нет. У меня есть пока что 2 варианта, как это сделать: 1. Найти каждую обработку и прописать в них запись в журнал регистрации. 2. Создать в базе таблицы из двух колонок(или трёх, не знаю, можно ли время отдельно вытащить. Id документа датавремя. Повесить на журнал триггер на insert, и писать в таблицу данные. Потом, где надо, вытаскивать время и дату. По ночам грузятся по несколько тысяч документов, добавлять их в журнал регистрации не хотелось-бы, а триггер не сильно притормозит? Есть-ли другие варианты? | | |
1
- 25.05.2015 - 09:52
|
1. можно через http://www.1cpp.ru/docum/icpp/html/Hooker.html 2. можно и так, по ночам тормозить не должно... | | |
2
- 25.05.2015 - 10:34
|
Спасибо. Посмотрим.. | | |
3
- 25.05.2015 - 12:31
| Есть-ли другие варианты? объявить [общий] реквизит[ы] для самих документов | | |
4
- 25.05.2015 - 14:59
|
Да, общие реквизиты, дата и время. Тоже думал про них. А можно добавить строку, общий реквизит, и заполнять её в самой базе SQL? Тоже триггер нужен? Или может уже есть там хранимая процедура, в которой можно прописать заполнение этого реквизита? Вроде находил роцедуру выдачи номера документа... | | |
5
- 27.05.2015 - 13:36
|
Пробую создать простейший триггер create trigger dbo.TestTrigger01 on Test_Trigger.dbo._1SJOURN for insert as if @@nestlevel > 1 return Select 1 При добавлении документа ничего не происходит, да и не должно. Но если убрать проверку if @@nestlevel > 1 return то 1С вылетает. Выяснилось, что @@nestlevel=3 Документ в базе не создаётся. Пробовал вставку в отдельную таблицу - результат тот же. Получается, но могу и ошибаться, триггер срабатывает в момент транзакции самой 1С. Поэтому вылетает.. | | |
6
- 27.05.2015 - 13:50
|
(5) похожая тема... | | |
7
- 27.05.2015 - 14:27
|
6 спасибо! SET NOCOUNT ON помог. Инсерт в другую таблицу работает и заполнение реквизита журнала тоже. Буду дальше копать, как заполнить именно нужную строку, а то непонятно, что сравниватьпри апдейте. create trigger dbo.TestTrigger01 on Test_Trigger.dbo._1SJOURN for insert as set nocount on Update _1SJOURN Set SP14='123' Where IdDoc=??? | | |
8
- 27.05.2015 - 14:34
|
Нашёл. Работает. Спасибо. | | |
9
- 27.05.2015 - 14:45
|
Когда же уже народ начнет читать книжки, прежде чем спрашивать на форуме? Из документации по скулю: Цитата:
| | |
10
- 27.05.2015 - 14:46
| 8-который не честный >Молодец! | |
| Интернет-форум Краснодарского края и Краснодара |