Имя: Пароль:
1C
 
Проблемы прописи автора документа
0 Ricco
 
16.04.07
10:37
Проблема выглядит нехитрой, но уже давно не могу красиво решить. Нужно записывать при проведении автора документа. В интерактиве - элементарно. Но есть две обработки, которые при массовом проведении документов не должны менять автора: одна системная Операции -> Проведение документов, другая в конфигураторе Сервис -> Обработка документов. ГрупповаяОбработка()возвращает 1 только в первом случае, во втором - 0. Пробовал завести в документах реквизит типа ЗаписыватьАвтора, который делал равным 1 в ПриОткрытии()и 0 ПриЗакрытии() и в ОбработкеПроведения() записывать автора только при 1. Вышла не работа, а наказание: в интерактиве ни из одного документа нельзя выйти просто на ESC, даже если ничего не менял, спрашивает: "Сохранить Документ?". Ничего не естественного не хочу, кто-то знает как это сделать?
1 Обдолбанный Вася
 
16.04.07
10:39
ВводНового()
Автор=ИмяПользователя();

ВСЕ
2 Ricco
 
16.04.07
10:43
(1) Не все. Если документ меняли, перепроводили должен сохраниться последний редактировавший
3 Обдолбанный Вася
 
16.04.07
10:46
АвторПоследний() - доп реквизит = смотри типовую комплексную, ТиС...
4 КантЪ
 
16.04.07
10:46
ПриЗаписи()
5 DrZombi
 
гуру
16.04.07
10:46
(2)Тогда добавь в при Записи или при Проведении (1)
Если это обработка, то допиши в обработке при проведении :)
6 almar
 
16.04.07
10:46
(2) Последний редактировавший - не автор. Посмотри как это сделано в бюджетке.
7 Chum
 
16.04.07
10:47
(0) Общие реквизиты: Автор, Редактор.
8 dend
 
16.04.07
10:47
(0)ГрупповаяОбработка()
Синтаксис:
ГрупповаяОбработка()
Назначение:
Возвращает флаг групповой обработки: 1 - групповое обработка, 0 - иначе.
Замечание:
Метод доступен только в Модуле документа в предопределенной процедуре ОбработкаПроведения.
Подробнее см. в документации, глава 'Работа с Документами'
9 Обдолбанный Вася
 
16.04.07
10:48
+(3)(6) и в проведение лезть не придется, интерактивно проводится только после записи...
10 Ricco
 
16.04.07
10:52
(5) Добавить при записи или при проведении документа - так ведь при массовом проведении все документы будут за авторством пользователя, запустившего обработку.
11 Ricco
 
16.04.07
10:54
(8) В сабже уже написал что не катит эта групповая обработка: обычные обработки возвращают 0!
12 Обдолбанный Вася
 
16.04.07
10:56
(10) Зачем тебе в проведении???

Два общих реквизита
Автор (ВводНового)
АвторПоследний (ПриЗаписи)=Строка
13 Ricco
 
16.04.07
10:57
(7) Последний редактировавший будет потерян! В Авторе - создатель, в Редакторе - массово проводивший.
14 Обдолбанный Вася
 
16.04.07
11:00
убери етить из проведения запись этих реквизитов!!!
15 YF
 
16.04.07
11:02
(0) Если "кто последний, тот и папа", то кто мешает в обработке проведения написать
"Автор = НужныйПользователь;"?
16 Ricco
 
16.04.07
11:04
(14) Как в изречениях этого форума - когда не достигают желаемого выдают достигнутое за желаемое... Задача будет изменена: бухгалтеров интересует последний проводивший.
17 Ricco
 
16.04.07
11:06
(15) Никто. Кто вот только нужный...
18 Обдолбанный Вася
 
16.04.07
11:11
(16) у бухов только кнопочки на форме, в которые перед непосредственным проведением можно записать что угодно, не касаясь самого модуля проведения...
рассмотрим простейший вариант в документе кнопки = "Провести", "Записать"
В первой <Редатор=БлаБлаБла; Записать(); Провести()> , а Записать() соответственно ничего никуда не присваивает = ПоследнийПроводивший

типа того не устраивает?
19 Ricco
 
16.04.07
11:29
(18) Есть гении в русских селеньях... Спасибо, самое то! Не такой уж ты обдолбанный, Вася!
Закон Брукера: Даже маленькая практика стоит большой теории.