Имя: Пароль:
1C
1С v8
Режим провести и закрыть...
,
0 VSpicy
 
naïve
02.06.22
14:23
Добрый день!
Создал документ, прописал проверку при которой: ПриЗаписиНаСервере должны записаться данные в определенном поле... Нажимаю "Провести и Закрыть", но данные не записываются, а если нажать сначала "Записать", а уж потом "Провести и Закрыть" - то данные записываются!
Как можно реализовать, чтоб только после нажатия на "Записать и Провести" данные записывались?

Заранее спасибо!
1 VSpicy
 
naïve
02.06.22
14:24
(0) *"Провести и Закрыть"
2 mikecool
 
02.06.22
14:26
при записи срабатывает после
3 Kassern
 
02.06.22
14:26
(0) "ПриЗаписиНаСервере " - уже ничего не запишите емнип
4 Kassern
 
02.06.22
14:27
транзакция у вас уже открытая, все что вы можете, это только ее отменить, или завершить)
5 Жан Пердежон
 
02.06.22
14:31
Учу пользоваться СП:

ПриЗаписиНаСервере (OnWriteAtServer)
...
Описание:
Возникает на сервере при записи объекта из формы. Процедура-обработчик вызывается после записи объекта (после события ПриЗаписи объекта) в базу данных, но до окончания транзакции записи.
6 VSpicy
 
naïve
02.06.22
14:34
(3)ПослеЗаписиНаСервере такая же петрушка)
7 mikecool
 
02.06.22
14:38
(6) используй перед записью, люк!
8 VSpicy
 
naïve
02.06.22
14:38
Как можно сделать при нажатие на кнопку "Провести и Закрыть", ещё и записывать документ?
9 mikecool
 
02.06.22
14:40
(8) почитать двухтомник проф разработки
10 VSpicy
 
naïve
02.06.22
14:41
(7) Тоже нет результата(
11 Жан Пердежон
 
02.06.22
14:41
(8) она и так записывает документ... чем ты 2 года занимался?
12 VSpicy
 
naïve
02.06.22
14:42
(11) В такие тонкости не вдавался)
13 mikecool
 
02.06.22
14:44
(10) давай уже доставай свой кодЮ занимающийся толстостями
14 Мультук
 
гуру
02.06.22
14:45
(0)

прописал проверку при которой: ПриЗаписиНаСервере должны записаться данные в определенном поле.

Нужно юзать

ПередЗаписьюНаСервере
15 Мультук
 
гуру
02.06.22
14:49
(0)

Надеюсь ты не посрамишь честь 1С-ников?
Не будешь выносить свой код в отдельную процедуру?
Запишешь свои 10 строк прямо в процедуру "ПередЗаписьюНаСервере",
и пусть их там сейчас (надеюсь) мало, но их кол-во будет все больше и больше!

P.S.
Видел "ПередЗаписьюНаСервере" в УТ 10, РТУ -- 4 тыс. строк. Сплошные проверки и запреты.
Без комментариев, иногда с отбивкой "===", но в основном нет.
Увлекательное чтение.
16 VSpicy
 
naïve
02.06.22
14:50
(13)    &НаСервере
    Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    Если ЗначениеЗаполнено(Объект.Водитель) И ЗначениеЗаполнено(ТС) Тогда
        Объект.Ответственный = ПараметрыСеанса.ТекущийПользователь;
    КонецЕсли;
    КонецПроцедуры
17 Мультук
 
гуру
02.06.22
14:52
(16)

Внимание! Переменная ТекущийОбъект передается не просто так "от нефиг делать"

  &НаСервере
    Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    Если ЗначениеЗаполнено(ТекущийОбъект.Водитель) И ЗначениеЗаполнено(ТС) Тогда
        ТекущийОбъект.Ответственный = ПараметрыСеанса.ТекущийПользователь;
    КонецЕсли;
    КонецПроцедуры
18 VSpicy
 
naïve
02.06.22
15:03
(17) Спасибо!!! Получилось! Совсем вылетели из головы переменные)
19 mikecool
 
02.06.22
15:38
да, сложно наверное еще до утробы на мисте сидеть... это накладывает отпечаток ))
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.