Имя: Пароль:
1C
1С v8
Как открыть печатную форму из процедуры ОбработкаПроведения ?
,
0 GruzKa
 
11.08.17
08:39
Здравствуйте, Уважаемые!

Код:

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    
Если ЛимитПревышен() тогда
    _ВывестиПроверочнуюТаблицу(); // это надо показать пользователю
    Отказ = ИСТИНА;
    Возврат
КонецЕсли;

...
КонецПроцедуры
1 Имитация работы
 
11.08.17
08:41
Перед проведением на клиенте
2 GruzKa
 
11.08.17
09:31
Не понял. Перед записью на клиенте ?
3 novichok79
 
11.08.17
09:33
(2) никак. тип форма по-моему вообще на сервере не доступен.
перед записью на клиенте открывай, если режимзаписи = проведение, не?
4 Timon1405
 
11.08.17
09:34
(0) если ОФ то ставить
#Если Клиент
//показать таб
если УФ то (2)
5 GruzKa
 
11.08.17
09:43
Вопрос; мне надо , чтобы проверочная таблица выходила только в том случае если ОбработкаПроведения() выдавала Отказ=Истина. Где это перехватить? Или вешать на события? Или делать оповещения? или...
6 rudnitskij
 
11.08.17
09:56
(5) или обратиться к программисту.
У вас код в (0) что-нибудь выполняет?
7 Mankubus
 
11.08.17
10:06
(5) меняйте логику чтобы показать на клиенте. у сервера нет глаз чтобы смотреть ваши печатные формы
8 Рэйв
 
11.08.17
10:06
(5)Как ты себе это представляешь при программном пакетном проведении?
9 Новиков
 
11.08.17
10:07
Вопрос эпичен. Чувак, а если проведение идет в обработке в фоновом задании по джобу ночью, кому ж ты собрался показать свою печатную форму?
10 dezss
 
11.08.17
10:11
ЛимитПревышен() переноси в модуль формы и там делай проверку перед записью.
11 DomovoiAtakue
 
11.08.17
10:29
(5)Подписка на событие/Обработка проведения с указанием #Если Клиент
12 GruzKa
 
11.08.17
10:35
(7) Ежу понятно!
(8) Для этого и есть глобальная переменная МассовоеПроведение чтобы никаких сообщений не выдавалось.
(9) А если я понимаю, что никаких фоновых заданий нет и не быдет ?
(10) (11) Спасибо за адекватный ответ!
13 zvial
 
11.08.17
10:36
(5) а в (0) проверка не по значению Отказ, а по ЛимитПревышен(). Вот и реализуй эту проверку в модуле формы перед записью с режимом Проведение. И там же, при необходимости, печатай.
14 vi0
 
11.08.17
10:37
(0) а что за лимит? в чем прикладной смысл проверки?
15 rudnitskij
 
11.08.17
10:37
Все ответы были бы гораздо адекватнее, если б автор не надеялся на телепатические способности, а указал в управляемых или  обычных формах он работает
16 mikeA
 
11.08.17
10:39
(13) При программном проведении не сработает.

(0) Через дополнительные ДополнительныеСвойства.
17 DexterMorgan
 
11.08.17
10:42
(5) В форме есть клиентская процедура "ПослеЗаписи", выводит что хочешь
18 DomovoiAtakue
 
11.08.17
11:09
(17)При отказе в обработке проведение не попадет в послезаписи()
19 GruzKa
 
11.08.17
12:52
Всем спасибо! Реализовал как :

&НаСервере
Функция ЛимитПревышен()
Возврат Истина
КонецФункции

&НаСервере
Функция _ВЫвестиПроверочнуюТаблицу()
Возврат ТабличныйДокумент;     
КонецФункции    

&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Если ЛимитПревышен() тогда  _ВЫвестиПроверочнуюТаблицу().Показать("Проверка");Отказ=Истина;КонецЕсли;
КонецПроцедуры
20 DomovoiAtakue
 
11.08.17
13:35
(19)А если в подписке на события добавят код, который отменит проведение документа, то твоя схема пролетит?
21 DomovoiAtakue
 
11.08.17
13:37
+(20)А не, не так понял код.
22 DomovoiAtakue
 
11.08.17
13:39
(5) и (19) не сходятся.
23 DomovoiAtakue
 
11.08.17
13:40
+(22)Мне так кажется.