|
Как проверить объект на модифицированность(), при вводе на основании? | ☑ | ||
---|---|---|---|---|
0
SherifSP
08.05.13
✎
11:03
|
Как проверить объект на модифицированность(), при вводе на основании?
|
|||
1
cw014
08.05.13
✎
11:03
|
Зачем?
|
|||
2
cw014
08.05.13
✎
11:03
|
Нет, не так...
Да... |
|||
3
SherifSP
08.05.13
✎
11:05
|
(1) Пользователь изменил реквизит на форме и при вводе на основании, в документ основание подтягивается старый реквизит, нужно отловить модифицированность и дать пользователю сообщение, чтобы записал документ
|
|||
4
cw014
08.05.13
✎
11:06
|
При открытии формы создавай ключ уникальности у нее. При вводе на основании ищи форму с этим ключом. Если форма найдена, она открыта и модифицированна - тогда швах
|
|||
5
SherifSP
08.05.13
✎
11:10
|
(4) Вот что то нашел ДанныеЗаполнения.ПолучитьФорму().ЭтотОбъект.Модифицированность() )))
|
|||
6
SherifSP
08.05.13
✎
11:11
|
+(5) Ток не понятно что такое ДанныеЗаполнения
|
|||
7
cw014
08.05.13
✎
11:12
|
ДанныеЗаполнения - произвольный объект, который может быть "Неопределено", "Структура", "Объект" ну или любой другой параметр
|
|||
8
cw014
08.05.13
✎
11:13
|
(5) Кстати, если док не сохранен, в ДанныеЗаполнения объект до изменения
|
|||
9
SherifSP
08.05.13
✎
11:15
|
(8) А если так Основание.ПолучитьФорму().ЭтотОбъект.Модифицированность() ?
|
|||
10
cw014
08.05.13
✎
11:17
|
(9) Если юзверь открыл форму но еще не записал ее - в базе данных старые данные. Поэтому получая ссылку или объект этого добра - ты получаешь данные, а форма создается с новым ключем уникальности.
|
|||
11
SherifSP
08.05.13
✎
11:26
|
Как можно прервать процедуру ввода на основании? Возврат; не предлагать)
|
|||
12
Ненавижу 1С
гуру
08.05.13
✎
11:28
|
(11) в модуле формы перед открытием
|
|||
13
SherifSP
08.05.13
✎
11:30
|
(12) Нужно в процедуре ОбработкаЗаполнения()
|
|||
14
ssh2012
08.05.13
✎
11:31
|
(13) ВызватьИсключение("еба!")
|
|||
15
cw014
08.05.13
✎
11:32
|
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
ОбработкаЗаполнения (Filling) Синтаксис: ОбработкаЗаполнения(<ДанныеЗаполнения>, <СтандартнаяОбработка>) Параметры: <ДанныеЗаполнения> Тип: Произвольный. Значение, которое используется как основание для заполнения. Если обработчик вызван при выполнении метода Заполнить, параметр равен параметру "Данные заполнения" метода Заполнить. При обработке заполнения во время ввода на основании параметр имеет значение основания. При интерактивном вводе нового из формы списка параметр является структурой, элементы которой соответствуют тем параметрам отбора формы списка, у которых способ сравнения Равно или ВСписке с единственным элементом списка. Если таких элементов отбор списка не содержит, данный параметр равен Неопределено. Если параметр "Стандартная обработка" по окончании работы обработчика равен Истина (установлен по умолчанию), система автоматически произведет заполнение одноименными элементами структуры. <СтандартнаяОбработка> Тип: Булево. В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет. Отказ от стандартной обработки не отменяет действие. Значение по умолчанию: Истина Описание: Возникает при вводе документа на основании, а также при выполнении метода Заполнить, при вводе на основании, а также при интерактивном вводе нового. В процедуре-обработчике этого события должен быть описан сам алгоритм заполнения реквизитов документа на основании переданного значения. Примечание: При копировании (как интерактивном, так и средствами встроенного языка), данный обработчик не вызывается. См. также: ДокументОбъект, метод Заполнить |
|||
16
SherifSP
08.05.13
✎
11:33
|
(15) Не знаю как в 8.2, у меня 8.1 и там нет в параметре СтандартнаяОбработка
|
|||
17
cw014
08.05.13
✎
11:36
|
(16) тогда только (4)
|
|||
18
mxs089
08.05.13
✎
11:37
|
фейспалм,
|
|||
19
cw014
08.05.13
✎
11:38
|
(18) ООПшник? )))
|
|||
20
SherifSP
08.05.13
✎
11:38
|
(17) Есть стандартная функция не помню какая, которая прерывает процедуру с сообщением
|
|||
21
cw014
08.05.13
✎
11:40
|
(20) ВызватьИсключение???
|
|||
22
mxs089
08.05.13
✎
11:40
|
отказ = истина
|
|||
23
mxs089
08.05.13
✎
11:41
|
при записи, организовать подпиской
|
|||
24
cw014
08.05.13
✎
11:41
|
(22) В обработке заполнения нету Отказ. Есть СтандартнаяОбработка, но она только в 8.2
|
|||
25
ssh2012
08.05.13
✎
11:41
|
(20) см (14)
|
|||
26
SherifSP
08.05.13
✎
11:42
|
(21) Да)
|
|||
27
Aprobator
08.05.13
✎
11:45
|
(11) Честно говоря, непонятно чем Возврат плох.
Лови как вариант в ОбработкаЗаполнения.
|
|||
28
cw014
08.05.13
✎
11:45
|
(27) Ничем, только он не отменит выполненные действия и откроет наполовину заполненную форму
|
|||
29
mxs089
08.05.13
✎
11:51
|
передоткрытием
отказ = документоснование.получитьформу().модифицированность() |
|||
30
Aprobator
08.05.13
✎
11:54
|
(28) вопрос был как прервать. Про все отменить - речи не было.
|
|||
31
SherifSP
08.05.13
✎
11:56
|
(27) В данной ситуации плох, потому что форма после обработки заполнения открывается пустая
|
|||
32
SherifSP
08.05.13
✎
11:56
|
+(31) А нужно не дать дойти до открытия формы
|
|||
33
SherifSP
08.05.13
✎
11:58
|
(29) Как вариант, но процедура ввода на основании все равно будит задействована, а это не есть хорошо для производительности
|
|||
34
mxs089
08.05.13
✎
12:00
|
(33)
обработказаполнения(){ если документоснование.получитьформу().модифицированность() тогда возврат; конецесли; } |
|||
35
Aprobator
08.05.13
✎
12:01
|
(32) в модуле объекта экспортную переменную для контрольки. В модуле формы ПриОткрытии Отказ = ПеремннаяКонтролька <> Неопределено И ПеременнаКонтролька.
|
|||
36
SherifSP
08.05.13
✎
12:01
|
(34) Тогда обработка заполнения не пройдет, но форма все равно откроется
|
|||
37
mxs089
08.05.13
✎
12:02
|
(35) опередил)
|
|||
38
mxs089
08.05.13
✎
12:02
|
(36) в комплексе
|
|||
39
Aprobator
08.05.13
✎
12:07
|
(37) да такая фигня уже на кончике пальцев. У меня даже мозг для такой ерунды не включается )
|
|||
40
SherifSP
08.05.13
✎
12:11
|
Сделаю по другому, у объекта есть дополнительные свойства в виде структуры, буду в них записывать данные и проверять если в структуре есть эти данные, тогда отказ = истина;
|
|||
41
Aprobator
08.05.13
✎
12:15
|
(40) если речь о 8.2, то там было такое. Тут просто в соседней ветке речь про 8.1. потому переключиться не успел )
|
|||
42
SherifSP
08.05.13
✎
12:19
|
(41) У 8.1 тоже есть такое)
|
|||
43
Aprobator
08.05.13
✎
12:23
|
(42) не помню уже - с 8.1 года 3 уже не общался.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |