Имя: Пароль:
1C
1C 7.7
v7: Выгрузка документа при его записи
0 Alex2411
 
03.12.19
14:30
Добрый день, подскажите пожалуйста есть ли возможность при записи документа выгружать его в файл?

Идея была такая, в модуле объекта при его записи создавать определенный файл, но как оказалась в 7.7 нет процедуры ПриЗаписи() - в модуле объекта, тока в форме

может у кого есть еще какие идеи?
1 Kigo_Kigo
 
03.12.19
15:03
а в чем вопрос то?
2 palpetrovich
 
03.12.19
15:18
если пользуетесь FormEx, там есть

ПослеЗакрытия / OnClosed

    Синтаксис: ПослеЗакрытия(Контекст)

    Параметры:

            Контекст - контекст закрытой формы

    Описание: Предопределенная процедура вызывается после физического разрушения окна формы. Предотвратить закрытие окна в этой процедуре невозможно.

    Пример:

Процедура ПослеЗакрытия(Конт)
        глЗаписатьСтрокуЛога(Конт);
КонецПроцедуры
3 ДенисЧ
 
03.12.19
15:21
@при записи документа выгружать его в файл@
Плохая. Очень плохая идея.
4 GreyK
 
03.12.19
15:38
(0) А зачем при записи, а не при проведении?
5 Alex2411
 
03.12.19
17:52
в базе оч большое количество документов, они просто создаются без проведения, 7-ка уже даже не способна создавать весь объем, появляются накладки блокировок в момент записи новых и изменении старых, хотели при изменении старых выгружать в файл не записывать сразу, а утром пока не кто не работает загружать
6 Карст
 
03.12.19
17:59
используйте транзакции
7 Злопчинский
 
03.12.19
22:00
(5) минимизируйте работу задним числом. 77 вполне тянет, если конечно вы в проведения не понатыкали всякого нехорошего.
8 HawkEye
 
03.12.19
22:55
(5) смешались в кучу....
если надо записать файл но не записывать в базу, зачем вообще приЗаписи...
если изменения в базу записываются, зачем тогда файл...
если есть изменения, значит открыта форма, значит есть ПриЗаписи, если изменения не через форму, тогда зачем ПриЗаписи

ну и делать в ПриЗаписи и/или ПриПроведении какие-то телодвижения с файлами, как раз и проводит к ситуациям, когда "7-ка уже даже не способна создавать весь объем"
9 ikea
 
03.12.19
23:03
(0) Модуля объекта нет в 1С 7.7.
Есть модуль документа - там процедура есть ОбработкаПроведения(), она же и записывает данные в документ.
Так что в конце процедуры пишешь свою процедуру:
ВыгрузитьЧтоНадо();
10 HawkEye
 
03.12.19
23:27
(9) нормальный такой подход, в транзакциях при захваченных таблицах в файл писать....
11 Смотрящий
 
03.12.19
23:29
(5) В конце процедуры ОбработкаПроведения проверяй провелся ли документ, и если да - пиши на него ссылку в специальный справочник.
Повесь проведуру на ОбработкаОжидания, и в ней сканируй специальный справочник на предмет записей, если есть то выгружайся.
12 ikea
 
03.12.19
23:31
(10) Я же написал где сделать, но не написал что делать).
в (11) все написано!
13 Злопчинский
 
04.12.19
00:58
(11) "В конце процедуры ОбработкаПроведения проверяй провелся ли документ,"
- как это проверить?
14 Злопчинский
 
04.12.19
01:00
по (11) можно обработкой ожидания не дергать, а в конце процедуры проведения сгенерить асинхронное событие(есть вохзможность передать в него  что надо), которое отработает после окончания успешного проведения. и в ОбработкаВнешнегоСобытия() - пили что хочешь
15 Kigo_Kigo
 
04.12.19
07:41
УРБД не предлагать?
16 ДенисЧ
 
04.12.19
08:27
(9) " процедура есть ОбработкаПроведения(), она же и записывает данные в документ"
Воблин... А если документ не проводится, то и в базу не записывается?? О_о
17 Trimax
 
04.12.19
15:27
(0) А в чем "тайный смысл" дублировать документ в файл?
18 Злопчинский
 
04.12.19
15:46
(0) сделать тупо.
При записи документа "занулять" в документе служебный реквизит-флажок.
Роботом в фоновом задании делать выгрузку по флажку.
19 Lazy Stranger
 
04.12.19
15:53
(18) там и выгрузка не нужна - достаточно роботом ночью перепровести эти злополучные документы
20 Cthulhu
 
04.12.19
16:19
ОбработкаОжижания(..) + лобальная переменная в принципе могут спасти отца русской интеллигенции, мне так кажется...
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn