Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Наличие формы для группы справочника (число прочтений - 1393 )
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Наличие формы для группы справочника
16. Мая 2019 :: 19:36
Печать  
Ох уж эта 1с! Кто-нибудь подскажет каким чудесным образом можно определить наличие или отсутствие формы для группы справочника? Я, конечно, понимаю, что она присутствует всегда, но может как-то по каким-то признакам, например, по отсутствию текста в модуле или процедуры ПриОткрытии()?
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Наличие формы для группы справочника
Ответ #1 - 17. Мая 2019 :: 05:52
Печать  
Можно попробовать методом Сервис::СписокВсехФорм() получить текст и проанализировать его.
  

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


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Наличие формы для группы справочника
Ответ #2 - 21. Мая 2019 :: 20:55
Печать  
АЛьФ писал(а) 17. Мая 2019 :: 05:52:
Можно попробовать методом Сервис::СписокВсехФорм() получить текст и проанализировать его.

Чуток отвлекся. СписокВсехФорм() выдает текст со списком всех форм. Но никак не указывает, что форма может отсутствовать. Потому бесполезен, т.к. мы и так знаем, что такая форма есть и как к ней обратиться.
Начинающими программистами 1с на все формы объектов любезно, из лучших побуждений, выложены кнопочки, которые, чтобы убить форму придется ручками удалить. А вызов форм необходимо производить следующим образом:

Код
Выбрать все
  ...
  TimeS = _GetPerformanceCounter();
  OpenFormModal("Item." + IVr.Kind, ,Parent, IsGroup, IVr.MetaRef.Owner);
  TimeE = _GetPerformanceCounter();
 
  if (IsGroup=0)or(TimeE-TimeS>100) then
  ...
 

« Последняя редакция: 22. Мая 2019 :: 19:41 - recop »  
Наверх
 
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Наличие формы для группы справочника
Ответ #3 - 22. Мая 2019 :: 11:44
Печать  
Интересный момент в вышеописанном способе.
  Рассматриваемая ситуация:
В группе только наименование в элементе море реквизитов. Посему наименование группы предполагается редактировать в ТП, элемент в форме.
  Результат:
  Пролетая через пустую форму группы накручивается счетчик кода. Т.е. вне зависимости сохранен или отменен ввод нового элемента код постоянно нарастает, но после перезапуска 1с как-бы возвращается к следующему значению кода. И так по кругу.
  Итог:
  В принципе рабочий вариант, за исключением выпавших кодов в части отмены ввода нового элемента.

Интересно, а есть ли более надёжные способы получения следующего номера кода?
Может имеется возможность "обнулить" счётчик?
« Последняя редакция: 22. Мая 2019 :: 19:41 - recop »  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать