Вход | Регистрация


1С:Предприятие ::

Метки: 

Как прервать Процедуру ОбработкаЗаполнения()?

Я
   SherifSP
 
10.01.13 - 13:45
Использую команду Возврат, но документ все равно открывается, но уже пустой
 
 
   GROOVY
 
Ведущий
1 - 10.01.13 - 13:48
Открытие никак не связано с обработкой заполнения.
   SherifSP
 
2 - 10.01.13 - 13:49
(1) Я понял, а как узнать в каком месте идет открытие документа?
   DrShad
 
3 - 10.01.13 - 13:49
в процедуре формы ПриОткрытии и ПередОткрытием
   SherifSP
 
4 - 10.01.13 - 13:52
(3) Это понятно, но открытие идет до процедуры ОбработкаЗаполнения(), какая процедура вызывает открытия формы?
   Reset
 
5 - 10.01.13 - 13:54
(4) Не удастся тебе это.
Пиши в ПередОткрытием Отказ.
   SherifSP
 
6 - 10.01.13 - 13:55
(5) Так и сделал, но думал может кто знает какие уникальные методы
   DrShad
 
7 - 10.01.13 - 13:55
(4) открытие никогда не идет до ОбработкиЗаполнения
   samozvanec
 
8 - 10.01.13 - 13:59
зачем?
   SherifSP
 
9 - 10.01.13 - 14:00
А как в процедуре формы ПередОткрытием() отловить форму с которой я вызываю ОбработкуЗаполнения?
   DrShad
 
10 - 10.01.13 - 14:01
(9) ОбработкуЗаполнения вызывается не для формы, а для объекта, пилять!
 
 Рекламное место пустует
   SherifSP
 
11 - 10.01.13 - 14:03
(10) Ок, как в процедуре При открытии формы отследить объект основание?
   samozvanec
 
12 - 10.01.13 - 14:04
(10) тебе не интересно, что он сделать хочет?)
   DrShad
 
13 - 10.01.13 - 14:04
(12) а не пофигу?
   samozvanec
 
14 - 10.01.13 - 14:05
(13) ну как-то просто не все сходится, нечисто тут)
я бы даже что-то посоветовал, если б хоть часть задумки понимал.
   SherifSP
 
15 - 10.01.13 - 14:05
(12) В зависимости от значения реквизита формы с которой я делаю ввод на основании, запретить или нет открытие формы
   Reset
 
16 - 10.01.13 - 14:06
(11) Запомнить его в обработке заполнения ;)
   DrShad
 
17 - 10.01.13 - 14:08
(15) а объект таки нужно создавать и записывать или нет?
   samozvanec
 
18 - 10.01.13 - 14:08
(15) у тебя в обработке заполнения есть данные источника, при открытии формы есть данные объекта, созданного на основании источника. что не получается?
   samozvanec
 
19 - 10.01.13 - 14:09
(15) стоп. именно реквизита формы? не объекта?
   DrShad
 
20 - 10.01.13 - 14:09
(15) и мне вот интересно где идет открытие формы? не проще там ее не открывать?
   Reset
 
21 - 10.01.13 - 14:09
и имя реквизиту поди Модифицированность?
   SherifSP
 
22 - 10.01.13 - 14:09
(17) Зависит от значения реквизита формы
   Reset
 
23 - 10.01.13 - 14:11
(22) ответь на --> (19)
   DrShad
 
24 - 10.01.13 - 14:11
(22) форма без объекта не существует
   samozvanec
 
25 - 10.01.13 - 14:13
(22) поясни по делу, называя вещи своими именами, типа "на форме есть такой-то реквизит, если он то-то, хочу то-то!"!
   SherifSP
 
26 - 10.01.13 - 14:14
(17) Например
Процедура ОбработкаЗаполнения(Основание)
Если Форма.ДействияФормы Тогда 
                ТорговаяТочка = Форма.ТекущийЭлемент.ТекущиеДанные.Наименование;
            Иначе
                Возврат;
            КонецЕсли;
КонецПроцедуры

Такое же условие хочу поставить и на открытие формы, но надо получить значение реквизита Форма.ДействияФормы
   samozvanec
 
27 - 10.01.13 - 14:14
и на (19) ответь. а то что-то понятно, а что-то - нет, профессиональные телепаты с обеда не вернулись еще
   Шапокляк
 
28 - 10.01.13 - 14:15
(17) Заполняй так, чтоб в процедуре ПередОткрытием формы заполняемого документа проверять, что-то типа
Процедура ПередОткрытием()
Если ЗначениеЗаполнено(ДокументОснование) И ТипЗнч(ДокументОснование)=Тип("ДокументСсылка.МойОфигенскийДокумент") Тогда
Если Не ЗначениеЗаполнено(МойРеквизит) Тогда
Сообщить("Я передумал");
Возврат;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
   sergei123654
 
29 - 10.01.13 - 14:15
ВызватьИсключение "ничего не хочу(";
   DrShad
 
30 - 10.01.13 - 14:15
телепатирую - у ТС есть документ из которого на основании вводится штатной кнопкой другой, так вот ТС хочет либо открывать форму либо нет
   SherifSP
 
31 - 10.01.13 - 14:15
(19) Да реквизита формы
   sergei123654
 
32 - 10.01.13 - 14:16
(26) а вот так?
Процедура ОбработкаЗаполнения(Основание)
Если Форма.ДействияФормы Тогда 
                ТорговаяТочка = Форма.ТекущийЭлемент.ТекущиеДанные.Наименование;
            Иначе
                ВызватьИсключение "ничего не хочу(";
            КонецЕсли;
КонецПроцедуры
   SherifSP
 
33 - 10.01.13 - 14:16
(30) Вот это я и пытаюсь объяснить)
 
 
   SherifSP
 
34 - 10.01.13 - 14:16
(32) Сейчас проверю
   samozvanec
 
35 - 10.01.13 - 14:17
(26) короче суй реквизит свой, от которого отталкиваться хочешь, в объект, и оттуда и пляши. с одной формы на другую бэзникто ты ничего не перекинешь.
   samozvanec
 
36 - 10.01.13 - 14:18
(32) товаришь, какая, к чертям, форма у вас в обработке заполнения? или я чего-то не знаю?)
   SherifSP
 
37 - 10.01.13 - 14:19
Все, покатит и (32) спасибо за помощь
   Reset
 
38 - 10.01.13 - 14:19
Занавес.
   sergei123654
 
39 - 10.01.13 - 14:20
(36) неглаженная у меня форма, да и вообще я без формы и не в форме... а вот у (26) какаято форма есть
   DrShad
 
40 - 10.01.13 - 14:20
(37) акуеть! так ведь и объект не создастся, а писал что только форму не нужно открывать
   samozvanec
 
41 - 10.01.13 - 14:22
ВызватьИсключение - не пятница же вроде)
   GROOVY
 
Ведущий
42 - 10.01.13 - 14:22
Жесть.
   SherifSP
 
43 - 10.01.13 - 14:22
Еще вопрос, как передать основание в процедуру ПриОткрытии()?
   sergei123654
 
44 - 10.01.13 - 14:23
(41) четверг! предвестник пятницы!
Родившегося 1 января в Темиртау мальчика родители назвали Ёлкой

Необычное имя дали родившемуся 1 января 2013 года мальчику супруги из Темиртау – мама Алмагуль Райхан назвала новорожденного сына Ёлка, передает ИА Новости-Казахстан.

По ее словам, столь необычное имя для младенца было выбрано на волне новогодних празднеств. Имя мать выбрала при согласии с супругом. Молодые родители надеются, что позитивное имя принесет их сыну удачу.
http://www.zakon.kz/kazakhstan/4534663-rodivshegosja-1-janvarja-v-temirtau.html
   SherifSP
 
45 - 10.01.13 - 14:24
+(43) Чтобы по типу документа наложить условие на типовый механизм который отрабатывает ПриОткрытии()
   samozvanec
 
46 - 10.01.13 - 14:24
Процедура ПриОткрытии(Отказ, СтандартнаяОбработка)

Если ОбработкаЗаполнения.Основание = Неопределено Тогда
Отказ = Истина;
КонецЕсли;

КонецПроцедуры
   sergei123654
 
47 - 10.01.13 - 14:24
(43) зачем?
   SherifSP
 
48 - 10.01.13 - 14:25
(47) Сообщения выдается, пресчитать дату оплаты?)
   samozvanec
 
49 - 10.01.13 - 14:25
(46) если у тебя предыдущее прокатило, то и это может прокатить
 
 Рекламное место пустует
   sergei123654
 
50 - 10.01.13 - 14:31
в модуле объекта
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

Если ХОЧУ тогда
ДокументОснование = ДанныеЗаполнения.Ссылка;    
Иначе
ВызватьИсключение "не хочу";
КонецЕсли;
    КонецПроцедуры

в модуле формы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Если ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.МоеИзобретение") тогда
сообщить("Взлетело");
конецесли;

КонецПроцедуры
   Reset
 
51 - 10.01.13 - 14:47
(43)

---- Модуль объекта
Перем Основание;

Процедура ОбработкаЗаполнения(Параметр)
  Основание=Параметр;
КонецПроцедуры

Процедура ПолучитьДатуОплаты()
  ВызватьИсключение Основание.ДатаОплаты;
КонецПроцедуры
-------



---- Модуль формы

Процедура ПередОткрытием()

Попытка
  ПолучитьДатуОплаты();
Исключение
  ДатаОплаты=ОписаниеОшибки();
КонецПопытки;
Сообщить("Дата оплаты="+ДатаОплаты);

КонецПроцедуры
   Reset
 
52 - 10.01.13 - 14:48
Процедура ПолучитьДатуОплаты() Экспорт // забыл
   mikecool
 
53 - 10.01.13 - 14:50
в ПередОткрытием есть ПараметрОснование, емнип
   Max Street
 
54 - 10.01.13 - 14:56
сорри, не читал все, что выше. может подойдкт что-то вроде такого:
&насервере
процедура присозданиинасервере
если типзнч(параметры.основание) = тип("документссылка.имя") тогда
если объект.имяреквизита.пустая() тогда
отказ = истина;
возврат;
конецесли;
конецесли;
конецпроцедуры
   SherifSP
 
55 - 10.01.13 - 15:09
(51) У меня Динозавр 8.1, там переменной Основание нет, получил все через ДокументОснование)
   mikecool
 
56 - 10.01.13 - 15:12
(55) а (53) не проверял?
   SherifSP
 
57 - 10.01.13 - 15:13
Уже сделал все
   SherifSP
 
58 - 10.01.13 - 15:15
(56) Проверял он не основание а ДокументОснование называется)



Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует