Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Расширение формы + операция. Боян? (число прочтений - 1798 )
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Расширение формы + операция. Боян?
02. Декабря 2011 :: 07:13
Печать  
Обнаружил сегодня один любопытный баг фич:

//  конт - контекст формы операции.
_Форма = Конт.Форма;
оФорма = СоздатьОбъект("РасширениеФормы");
оФорма.УстановитьФорму(_Форма);
Информатор = СоздатьОбъект("Информатор");

Информатор.ТипЗначенияСтрВнутр(_Форма.ДатаОперации) = "CFormCtrlContext"      //   элемент формы
Информатор.ТипЗначенияСтрВнутр(_Форма.Сумма) = "CFormCtrlContext"            //   элемент формы в многострочной части
Информатор.ТипЗначенияСтрВнутр(_Форма.СубконтоКт1) = "CFormCtrlContext"      //   элемент формы в многострочной части
Информатор.ТипЗначенияСтрВнутр(_Форма.СубконтоКт) = Ошибка в выражении!

оФорма.ПолучитьАтрибут("ДатаОперации").Тип = 2
оФорма.ПолучитьАтрибут("Сумма").Тип = 5
оФорма.ПолучитьАтрибут("СубконтоКт").Тип = 5
оФорма.ПолучитьАтрибут("СубконтоКт1") = Ошибка в выражении!

Т.е. если разименовывать атрибуты формы by 1С - то для каждого из возможных субконто есть свой реквизит СубконтоКт.
Если же разименовывать атрибуты формы через Расширение формы - то реквизит есть только один реквизит для СубконтоКт.

Если открыть форму операции в конфигураторе, то там, собственно, мы увидим тоже ровно один реквизит СубконтоКт. Т.е. 1Ска их как-то сама размножает до Метаданные.МаксимальноеКоличествоСубконто.

И из-за этого формекс эти клоны тоже не видит, так выходит?
Ну и что это - баг, фича? И как с этим бороться?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Расширение формы + операция. Боян?
Ответ #1 - 02. Декабря 2011 :: 07:35
Печать  
А зачем тебе там формекс нужен ?
Цель то в итоге, какая ?
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: Расширение формы + операция. Боян?
Ответ #2 - 02. Декабря 2011 :: 08:40
Печать  
Это отголоски вот этой темы (см самый последний ответ).

В конечном итоге сделал эмуляцию нажатия Ctrl+End, но эмулировать нажатие нужно только в поле ввода (если активен дропбокс - этого категорически делать нельзя).
Потом обнаружил, что в форме операции код иногда вызывает исключение.

Начал разбираться... прифигел.
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Расширение формы + операция. Боян?
Ответ #3 - 02. Декабря 2011 :: 10:50
Печать  
А что ты в итоге-то хочешь?
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Расширение формы + операция. Боян?
Ответ #4 - 02. Декабря 2011 :: 13:28
Печать  
Я почему спрашиваю - у меня формы списков справочников переписаны на обработки с ТП + перехват (т.к. там куча периодики, да и сами справочники тяжелые) и я помню, что разбирался с выбором субконто в форме Операции. В общем у меня все задышало.
Может у тебя вопрос с этим связан?
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: Расширение формы + операция. Боян?
Ответ #5 - 05. Декабря 2011 :: 04:54
Печать  
chessman писал(а) 02. Декабря 2011 :: 10:50:
А что ты в итоге-то хочешь?

В итоге я обернул получение типа атрибута в Попытку и успокоился.

Просто обнаружил очередной кусок, где 1С сделала не как у людей, а снова через задницу. "Извинитебылнапуган"©
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать