Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Как определить в Перехватчике событий что форма журнала открыта для подбора (число прочтений - 3413 )
CaSH
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 43
Зарегистрирован: 02. Мая 2011
Как определить в Перехватчике событий что форма журнала открыта для подбора
06. Октября 2011 :: 09:49
Печать  
Как определить в Перехватчике событий что форма журнала открыта для подбора? Нашел какое-то поле "КонтекстПодбора", оно пустое, в документации не значится.

КонтФормы.Форма.Заголовок()="" - тут пусто и даже не найдеш слово "(Выбор)" в окошке
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Как определить в Перехватчике событий что форма журнала открыта для подбора
Ответ #1 - 06. Октября 2011 :: 09:59
Печать  
где угодно:
Цитата:
Форма.РежимВыбора();
Синтаксис:
Форма.РежимВыбора()
Назначение:
Возвращает режим работы формы. Число: 0 - форма открыта не для выбора; 1 - форма открыта для выбора одного значения; 2 - форма открыта для выбора нескольких значений.
Замечание:
Доступ к методу возможен только в контексте Модуля формы через атрибут Форма.

©СП
  
Наверх
 
IP записан
 
CaSH
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 43
Зарегистрирован: 02. Мая 2011
Re: Как определить в Перехватчике событий что форма журнала открыта для подбора
Ответ #2 - 06. Октября 2011 :: 10:06
Печать  
Eprst - СПАСИБО, аж как-то неудобно что по таким мелочам всех тревожу, не доглядел в синтаксис-помошнике, тороплюсь вот и нервничаю  Нерешительный
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Как определить в Перехватчике событий что форма журнала открыта для подбора
Ответ #3 - 06. Октября 2011 :: 10:25
Печать  
не парься, всего не упомнишь
  
Наверх
 
IP записан
 
CaSH
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 43
Зарегистрирован: 02. Мая 2011
Re: Как определить в Перехватчике событий что форма журнала открыта для подбора
Ответ #4 - 07. Октября 2011 :: 09:26
Печать  
Оказывается есть еще одно ограничение - если обращаюсь к многострочному полю, например Комментарий:
FormEx_Attributes.УстановитьАтрибут(Форма, ИмяРеквизита);
то хотя форма и открывается, но если поработать с эти полем (ввести значение) а потом сохранить то вылетает с ошибкой чтения памяти либо вообще обе ошибки.
Я уже путем фильтрации отсек такие поля чтобы не раскрашивались, т.к. при раскраске сразу вылетает. Отсекал по условию: FormEx_Attributes.Стиль=1352798276;
т.к. опытным путем вычислил что у не многострочных полей ввода стиль=1350697088, хотя что он означает и какой бывает без понятия.
Но на самом деле нужно как-то пропустить такое поле до применения УстановитьАтрибут(), т.к. именно жтот метод приводит к ошибке
Если у когото есть наработки как поступить в таком случае поделитесь плиз!
  
Наверх
 
IP записан
 
CaSH
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 43
Зарегистрирован: 02. Мая 2011
Re: Как определить в Перехватчике событий что форма журнала открыта для подбора
Ответ #5 - 07. Октября 2011 :: 09:31
Печать  
Ага, нашел, помогло если после обнаружения такого поля gj cnbk. (как написал ранее) делаю переопределение
FormEx_Attributes = СоздатьОбъект("АтрибутФормы");
тогда нормально работает,
А так вообще-то  я не переопределял этот объект, чтобы не терять время я его объявлял при запуске базы и использовал по мере надобности.
  
Наверх
 
IP записан
 
CaSH
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 43
Зарегистрирован: 02. Мая 2011
Re: Как определить в Перехватчике событий что форма журнала открыта для подбора
Ответ #6 - 07. Октября 2011 :: 09:42
Печать  
Зато попутно выявил фичу как сделать реквизит-поле ввода на форме многострочным если он является реквизитом справочника/документа. Обычным путем такой реквизит нельзя сделать многострочным, но если снаяала кинуть реквизит на форму и сделать многострочным, а потом сделать такой реквизит в справочнике (я просто переименовываю нужный мне реквизит) то получаем нужный результат  Улыбка
Занятная это 7-ка, всякими извращениями добиваемся нужного результата
  
Наверх
 
IP записан
 
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Re: Как определить в Перехватчике событий что форма журнала открыта для подбора
Ответ #7 - 07. Октября 2011 :: 10:13
Печать  
У меня на форму многострочный реквизит добавляется без всякого изврата (7.70.26). Проделал следующие действия в справочнике:

1. Добавил реквизит "Строка" неограниченной длины.
2. Открыл форму элемента, ткнул "Вставить реквизиты в форму", выбран нужный реквизит.
3. В свойствах реквизита "Тип"->"Многострочный".
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: Как определить в Перехватчике событий что форма журнала открыта для подбора
Ответ #8 - 07. Октября 2011 :: 18:47
Печать  
CaSH писал(а) 07. Октября 2011 :: 09:42:
Зато попутно выявил фичу как сделать реквизит-поле ввода на форме многострочным если он является реквизитом справочника/документа. Обычным путем такой реквизит нельзя сделать многострочным, но если снаяала кинуть реквизит на форму и сделать многострочным, а потом сделать такой реквизит в справочнике (я просто переименовываю нужный мне реквизит) то получаем нужный результат  Улыбка
Занятная это 7-ка, всякими извращениями добиваемся нужного результата


Можно проще: декомпиль -> подредактировали форму -> компиль
  
Наверх
 
IP записан
 
CaSH
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 43
Зарегистрирован: 02. Мая 2011
Re: Как определить в Перехватчике событий что форма журнала открыта для подбора
Ответ #9 - 09. Октября 2011 :: 21:34
Печать  
maljaev писал(а) 07. Октября 2011 :: 10:13:
У меня на форму многострочный реквизит добавляется без всякого изврата (7.70.26). Проделал следующие действия в справочнике:

1. Добавил реквизит "Строка" неограниченной длины.
2. Открыл форму элемента, ткнул "Вставить реквизиты в форму", выбран нужный реквизит.
3. В свойствах реквизита "Тип"->"Многострочный".


Ключевой момент тут именно в "строка неограниченной длинны", а ты попробуй вставить строку ограниченной длинны, получиться? Проверил действительно неограниченная работает, но реквизит "ПолнНаименование" в типовой ТиС в Справочник.Номенклатура имеет тип Строка длинной 120, и он многострочный на форме. Изобразить это получается только добаляя сначала на форму реквизит а потом в справочник (или переименовывая), прямым путем никак, вот так вот! У меня 27 релиз с ОпенКонфом
Про декомпилировать это штука?

Так насчет того чтобы узнать многострочный режим или нет у поля ввода на форме есть типовые методы? Или варианты без использования:
FormEx_Attributes.УстановитьАтрибут(Форма, ИмяРеквизита);
т.к. это приводит к падению 1С при редактировании этих полей. Или как ее заставить не падать? У меня нормально все а клиент жалуется что вылетает. Пока тестирую данный глюк.
  
Наверх
 
IP записан
 
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Re: Как определить в Перехватчике событий что форма журнала открыта для подбора
Ответ #10 - 09. Октября 2011 :: 22:20
Печать  
Ну тогда еще проще метод для многострочности могу сказать. Надеюсь "Инспектор" у всех стоит? Тогда просто в свойствах реквизита в панели "Инспектора" выставляем "Многострочный"->"Да", и пофигу фиксированная длина или неограниченная, можно даже для кода и наименования установить если хоцца.

P.S. Хотя я не понимаю прикола вводить строковые реквизиты с фиксированной длиной большого размера, да еще под многострочный текст, да еще под полное наименование (которое заполняется далеко не всегда). Ведь это же таблицы раздувает...
  
Наверх
 
IP записан
 
CaSH
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 43
Зарегистрирован: 02. Мая 2011
Re: Как определить в Перехватчике событий что форма журнала открыта для подбора
Ответ #11 - 10. Октября 2011 :: 21:57
Печать  
Вообще этот прикол - в типовой ТиС.
  
Наверх
 
IP записан
 
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Re: Как определить в Перехватчике событий что форма журнала открыта для подбора
Ответ #12 - 11. Октября 2011 :: 06:25
Печать  
Как 1С пишет и формы рисует - за некоторые бы вещи им руки поотрывал и обратно взад вставил...  Злой
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать