Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Аналог "ПослеЗаписи()" есть в природе? (число прочтений - 6693 )
chicago
Senior Member
****
Отсутствует


1C++, I have nothing to
say more!

Сообщений: 316
Местоположение: Тернополь-Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Аналог "ПослеЗаписи()" есть в природе?
24. Августа 2006 :: 09:36
Печать  
Есть ситуация:
1. У некоторых обектов 1С (справочник, документ) есть, так назывемый "внешний", реквизит (ВР). Реквизит, значение которого хранится не в 1С таблицах, а во внешней по отношению к 1С (SQL) базе. Эти таблици связаны по ID (IDDOC).
2. При штатной записи обекта в 1С значения таких ВР также необходимо установить (обновить). Но как это решить если в предопр. процедуре "ПриЗаписи()" когда обект еще Выбран() = 0 у него нет ID (IDDOC).
3. Вот такую ситуация как мне кажется могла бы решить такая себе предопр. процедура "ПослеЗаписи()".
Жду ваших идей по этому поводу.  Улыбка
Спасибо.

PS.
Просьба соообщения от всяких там "СлафкоФ" не предлагать.
  
Наверх
ICQ  
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1499
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Аналог "ПослеЗаписи()" есть в природе?
Ответ #1 - 24. Августа 2006 :: 09:42
Печать  
Такой процедуры пока нет.
Можно делать стандартно - в ПриЗаписи() делать Записать(), а потом уже получать ID и делать с ним что надо.

P.S.
А что за тема со "СлафкоФ"?
  

FormEx developer
Наверх
www  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Аналог "ПослеЗаписи()" есть в природе?
Ответ #2 - 24. Августа 2006 :: 09:48
Печать  
Цитата:
Такой процедуры пока нет.
Можно делать стандартно - в ПриЗаписи() делать Записать(), а потом уже получать ID и делать с ним что надо.


Черт... а я то мучался... А решение оказывается такое простое Улыбка
  
Наверх
 
IP записан
 
chicago
Senior Member
****
Отсутствует


1C++, I have nothing to
say more!

Сообщений: 316
Местоположение: Тернополь-Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Аналог "ПослеЗаписи()" есть в природе?
Ответ #3 - 24. Августа 2006 :: 09:53
Печать  
Цитата:
Такой процедуры пока нет.
Можно делать стандартно - в ПриЗаписи() делать Записать(), а потом уже получать ID и делать с ним что надо.

P.S.
А что за тема со "СлафкоФ"?


Спасибо, думаю идея реальная.
Термин "соообщения от всяких там "СлафкоФ"" - это "грязный" флуд.
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Аналог "ПослеЗаписи()" есть в природе?
Ответ #4 - 24. Августа 2006 :: 10:39
Печать  
Буквально вчера вечером думал над этим (мне надо было текущий документ/элемент привязывать к другому элементу справочника) и пришёл-таки к такому коду в процедуре ПриЗаписи():

Код
Выбрать все
Если ПустоеЗначение(ТекущийЭлемент()/ТекущийДокумент())=1 Тогда
	 Записать();
КонецЕсли 



Ну а дальше делаем то, что хотим...
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1499
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Аналог "ПослеЗаписи()" есть в природе?
Ответ #5 - 24. Августа 2006 :: 10:59
Печать  
Тогда уж так:
Код
Выбрать все
Если (СтатусВозврата() = 1) и (Выбран() = 0) Тогда
  Записать();
КонецЕсли; 

  

FormEx developer
Наверх
www  
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Аналог "ПослеЗаписи()" есть в природе?
Ответ #6 - 24. Августа 2006 :: 12:52
Печать  
Эх, а всё равно событие такое ужжжасно хотелось бы иметь. Например, чтобы оповестить все формы списков, реализованные на ТП, что надо обновиться, и не по таймауту, а прям сейчас. Без события приходится в ПриЗаписи() писать Записать(); ОтправитьСобытие(); Всё бы ничего, но вот 1С потом ещё раз записывает объект, и получается увеличение нагрузки на БД.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1499
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Аналог "ПослеЗаписи()" есть в природе?
Ответ #7 - 24. Августа 2006 :: 12:57
Печать  
Ну, для обновления ТП это только для локала хорошо. А в сети совершенно бесполезно.
  

FormEx developer
Наверх
www  
IP записан
 
chicago
Senior Member
****
Отсутствует


1C++, I have nothing to
say more!

Сообщений: 316
Местоположение: Тернополь-Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Аналог "ПослеЗаписи()" есть в природе?
Ответ #8 - 24. Августа 2006 :: 13:02
Печать  
Цитата:
Тогда уж так:
Код
Выбрать все
Если (СтатусВозврата() = 1) и (Выбран() = 0) Тогда
  Записать();
КонецЕсли; 



Именно так уже и сделал.
  
Наверх
ICQ  
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Аналог "ПослеЗаписи()" есть в природе?
Ответ #9 - 24. Августа 2006 :: 13:02
Печать  
Ну да, для того и используем.  Когда из ТП открываешь форму скажем элемента справочника, то при записи нехило бы обновить ТП - иначе пользователь будет слегка удивлён.  А городить огород с передачами контекстов - ох как не хочется. Событие намного прозрачнее.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1499
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Аналог "ПослеЗаписи()" есть в природе?
Ответ #10 - 24. Августа 2006 :: 13:22
Печать  
ADirks писал(а) 24. Августа 2006 :: 13:02:
Ну да, для того и используем.  Когда из ТП открываешь форму скажем элемента справочника, то при записи нехило бы обновить ТП - иначе пользователь будет слегка удивлён.  А городить огород с передачами контекстов - ох как не хочется. Событие намного прозрачнее.

А я сделал проще - повесил кнопку "Обновить" и сказал пользователям что с ней делать и в каких случаях Улыбка
  

FormEx developer
Наверх
www  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Аналог "ПослеЗаписи()" есть в природе?
Ответ #11 - 24. Августа 2006 :: 13:48
Печать  
Цитата:
А я сделал проще - повесил кнопку "Обновить" и сказал пользователям что с ней делать и в каких случаях Улыбка

На инфостарт можно выложить в раздел "Автоматизация на отлично"  Смех
Шутка, конечно  Подмигивание
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Аналог "ПослеЗаписи()" есть в природе?
Ответ #12 - 24. Августа 2006 :: 14:04
Печать  
Цитата:
А я сделал проще - повесил кнопку "Обновить" и сказал пользователям что с ней делать и в каких случаях Улыбка



Не проще повесить на ПриАктивацииОкна?
Записали справочник, вышли из той формы и все равно переходим на форму с ТП.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1499
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Аналог "ПослеЗаписи()" есть в природе?
Ответ #13 - 24. Августа 2006 :: 14:10
Печать  
Arta писал(а) 24. Августа 2006 :: 14:04:
Цитата:
А я сделал проще - повесил кнопку "Обновить" и сказал пользователям что с ней делать и в каких случаях Улыбка



Не проще повесить на ПриАктивацииОкна?
Записали справочник, вышли из той формы и все равно переходим на форму с ТП.

Проще. Но когда я это делал ПриАктивацииОкна еще не было Улыбка
  

FormEx developer
Наверх
www  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Аналог "ПослеЗаписи()" есть в природе?
Ответ #14 - 24. Августа 2006 :: 19:14
Печать  
Не понимаю, какие проблемы?

Код
Выбрать все
Процедура ПриЗаписи()
  фБылаЗапись=1;
КонецПроцедуры

Процедура ПриЗакрытии()
  Если фБылаЗапись=1 Тогда
    ДелаемВсеЧтоУгодно();
  КонецЕсли;
КонецПроцедуры 

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать