Имя: Пароль:
1C
 
После проведения документа
,
0 Мафусаил
 
25.10.19
15:48
Привет, есть такая задача, скажем если документ проведен с определенным набором данных, тогда нужно поменять значение реквизита в документе основания.
Как вы реализуете такой функционал? Как правильнее это делать?  

1. После записи в форме - не годиться, формирование документа может быть программным, да и групповая обработка не запустит функцию
2. В момент проведения, тоже не нравиться, т.к. проведение в проведение может вызывать конфликты
3. Перед запись - нету 100% уверенности, что документ был сформирован правильно и провелся
4. Добавить план обмена, регать изменения документа и потом их обходить циклом.

Как бы вариант №4 мне нравиться больше всех, но не нравиться, то что это надо постоянно запускать, чуть ли не ежесекундно, что бы моментально менялся реквизит у документа основания.

Может быть у вас есть свой вариант? более оптимальный и правильный?
1 ДенисЧ
 
25.10.19
15:52
Вынести реквизиты из документов в РС.
2 shuhard
 
25.10.19
15:52
(0)[тогда нужно поменять значение реквизита в документе основания.]
я использую оба варианта:
- модуль перед записью набора данных регистра, в который пишется при проведении
- фоновое задание раз в 1 час, которое добивает конфликты

но правильно выносить такие реквизиты в Рг сведений
3 Мафусаил
 
25.10.19
16:00
Согласен, на счет регистра сведений, действительно хороший и правильный вариант. А если это всё же реквизит документа и желания переделывать нету?
4 ДенисЧ
 
25.10.19
16:01
(3) Надо сделать так, чтобы желание появилось...
5 Мафусаил
 
25.10.19
16:08
Но тогда не удобно взаимодействовать с данным реквизитом, делать отбор в списке и т.д.
6 Deon
 
25.10.19
16:10
(5) В каком таком списке отбор неудобный?
7 Мафусаил
 
25.10.19
16:11
(6) да банально в списке документов, активировать ячейку и отбор по текущей колонке
8 hhhh
 
25.10.19
16:11
(5) но с другой стороны, если этот документ в закрытом периоде остался, а его нужно перепровести получается, вас бухгалтерия съест за это, да и медленнее это всё, перепроводить документы из-за одного реквизита.
9 Михаил Козлов
 
25.10.19
16:27
(7) Судя по всему ОФ?
10 Мафусаил
 
25.10.19
16:35
(9) обычные формы? да, они самые
11 shuhard
 
25.10.19
16:44
(8) смена реквизита с загрузка=истина в режиме записи не требует открытия периода и не даёт проведения

использование реквизит неизбежное следстие использования типового журнала
12 Мафусаил
 
25.10.19
16:48
(11) вот и я об этом
13 trooba
 
25.10.19
16:51
(0) Подписка
14 shuhard
 
25.10.19
16:52
(12) иди пилить, чё время тратить
15 Мафусаил
 
25.10.19
16:58
(13) там нету после проведения/записи
16 trooba
 
25.10.19
16:59
(15) ПриПроведении, но она сработает после проведения в модуле объекта
17 VladZ
 
25.10.19
17:01
(0) "если документ проведен с определенным набором данных, тогда нужно поменять значение реквизита в документе основания." - не нужно так делать.
18 lodger
 
25.10.19
17:03
более оптимальный и правильный в (1).
19 ptiz
 
25.10.19
17:04
(0) В обработке проведения. И отрабатывать удаление проведения.
20 Мафусаил
 
25.10.19
17:09
(18) тогда для пользователя взаимодействие с этим реквизитом становиться адским
21 Мафусаил
 
25.10.19
17:13
нету сортировки, нету отбора, просто информативное поле
22 Жан Пердежон
 
25.10.19
17:18
п.2 - не раскрыт, зачем проведение (а не запись) при проведении и какие конфликты?
23 Мафусаил
 
25.10.19
17:24
(22) по какой нибудь причине, при записи документа основания может сработать отказ = истина, и это распространяется на текущее проведение и не даёт провести текущий документ.
24 Жан Пердежон
 
25.10.19
17:32
(23) не убедительно
25 Мафусаил
 
25.10.19
17:35
(24) а ты попробуй, провести документ который не проводиться, в проведение другого документа
26 asady
 
25.10.19
18:17
(0) архитектора на мыло.
(1)+1
27 Мафусаил
 
25.10.19
18:29
(26) Объясни тогда пожалуйста, с точки зрения пользователя, который хочет делать отборы, сортировки по реквизиту, как он это будет делать?
28 Cyberhawk
 
25.10.19
18:48
(23) Тогда никак в одной транзакции делать это нельзя.
Максимум что делать в транзакции проведения - добавлять кандидата для пост-обработки в очередь (регистр).
Далее уже РЗ обрабатывает кандидатов.
29 shuhard
 
25.10.19
19:20
(27) зевая
тебе уже сто раз ответили - не умеешь делать свои журналы со своими сортировками - меняй реквизит
30 unregistered
 
25.10.19
19:46
(5) Открой для себя характеристики. Кнопочка такая на вкладке "Данные" окна свойств документа. В типовых там заполнена только одна строчка - для связи с регистром допреквизитов. Никто не запрещает запилить свой регистр и определить его как характеристику для твоего документа. Поля из него автоматически станут доступными в формах списков.

Второй вариант - воспользоваться типовым регистром допреквизитов. В актуальных версиях БСП появилась возможность давать этим допреквизитам предопределенные имена, что в свою очередь позволяет работать с этими допреквизитами программно из кода. Опять таки все допреквизиты доступны в стандартных формах списков документов.

Хотя фиг тебя знает - что у тебя за конфигурация, есть ли в ней БСП и какой она версии...
31 lodger
 
26.10.19
20:17
(20) это уж насколько погромизд-1с постарается. может адским, а может и бесшовно, быстро и неощутимо.
32 Cyberhawk
 
26.10.19
21:25
(30) "В актуальных версиях БСП появилась возможность давать этим допреквизитам предопределенные имена" // Красиво было на бумаге (с) :)