Переключение на Главную Страницу Страницы: 1 [2] 3 4  ОтправитьПечать
Очень популярная тема (более 25 ответов) Установка заголовка колонки МНЧ. (число прочтений - 15272 )
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Установка заголовка колонки МНЧ.
Ответ #15 - 02. Октября 2007 :: 08:59
Печать  
Выложено обновление. Скачиваем и проверяем.
  

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


I Love YaBB 2!

Сообщений: 35
Зарегистрирован: 30. Сентября 2007
Re: Установка заголовка колонки МНЧ.
Ответ #16 - 02. Октября 2007 :: 14:49
Печать  
Урря! Улыбка
  
Наверх
 
IP записан
 
rassik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 35
Зарегистрирован: 30. Сентября 2007
Re: Установка заголовка колонки МНЧ.
Ответ #17 - 02. Октября 2007 :: 14:58
Печать  
Качнул.
!!!! 1С падает

Функция глАтрибутПоФормуле(Форма, Формула, НАтр = "") экспорт
     глФормекс = СоздатьОбъект("РасширениеФормы");
     глФормекс.УстановитьФорму(Форма);
     Для Н = 0 по глФормекс.КоличествоАтрибутов() - 1 Цикл
           Рек = глФормекс.ПолучитьАтрибут(Н);
           Если Рек.Формула = Формула Тогда
                 НАтр = Н;
                 Возврат Рек;
           КонецЕсли;
     КонецЦикла;
     глФормекс = 0;
     Возврат 0;
КонецФункции // глАтрибутМНЧПоФормуле()

Вызываю в процедуру глоб модуля для установки видимости колонок из процедуры "ПриОткрытии" формы документа.

Код такой:

Рек = глАтрибутПоФормуле(Конт.Форма, Формула);
Рек.Заголовок = "111";           !!!!! - тут 1С падает

  
Наверх
 
IP записан
 
rassik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 35
Зарегистрирован: 30. Сентября 2007
Re: Установка заголовка колонки МНЧ.
Ответ #18 - 02. Октября 2007 :: 15:00
Печать  
Что тут не так?
  
Наверх
 
IP записан
 
rassik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 35
Зарегистрирован: 30. Сентября 2007
Re: Установка заголовка колонки МНЧ.
Ответ #19 - 02. Октября 2007 :: 15:13
Печать  
Предыдущая функция размещена в глоб модуле.

Эта тестовая процедура  размещена в модуле формы и работает

Процедура УстАтр()
      НомерАтрибута = 0;
      глАтрибутПоФормуле(Форма, "ЗначениеКН(1)", НомерАтрибута);  // тут получаем номер атрибута
      Атр = СоздятьОбъект("АтрибутФормы");
      Атр.УстановитьАтрибут(Форма, НомерАтрибута);
      Атр.Заголовок = "111"; // !!!! ТУТ ВСЕ РАБОТАЕТ
КонецПроцедуры
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Установка заголовка колонки МНЧ.
Ответ #20 - 02. Октября 2007 :: 15:30
Печать  
Цитата:
Предыдущая функция размещена в глоб модуле.

Она возвращает ссылку на атрибут. И все работает нормально.
Я попробовал.
Цитата:
Процедура УстАтр()
     НомерАтрибута = 0;
     глАтрибутПоФормуле(Форма, "ЗначениеКН(1)", НомерАтрибута);  // тут получаем номер атрибута
     Атр = СоздятьОбъект("АтрибутФормы");
     Атр.УстановитьАтрибут(Форма, НомерАтрибута);
     Атр.Заголовок = "111"; // !!!! ТУТ ВСЕ РАБОТАЕТ
КонецПроцедуры

А тут она возвращает номер атрибута.
Ты слегка запутался по-моему.
  
Наверх
ICQ  
IP записан
 
rassik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 35
Зарегистрирован: 30. Сентября 2007
Re: Установка заголовка колонки МНЧ.
Ответ #21 - 02. Октября 2007 :: 16:01
Печать  
По-моему все правильно.
1. Создаю объект АтрибутФормы
2. Вызываю метод УстановитьАтрибут(Форма, НомерАтрибута)
3. И дальше работаю с эти созданным объектом.
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Установка заголовка колонки МНЧ.
Ответ #22 - 02. Октября 2007 :: 16:09
Печать  
rassik писал(а) 02. Октября 2007 :: 16:01:
По-моему все правильно.
1. Создаю объект АтрибутФормы
2. Вызываю метод УстановитьАтрибут(Форма, НомерАтрибута)
3. И дальше работаю с эти созданным объектом.

Вот как тестировал я.
В глобальнике твоя функция без изменений. Хотя третий параметр здесь лишний.
Код
Выбрать все
Функция глАтрибутПоФормуле(Форма, Формула, НАтр = "") экспорт
     глФормекс = СоздатьОбъект("РасширениеФормы");
     глФормекс.УстановитьФорму(Форма);
     Для Н = 0 по глФормекс.КоличествоАтрибутов() - 1 Цикл
	     Рек = глФормекс.ПолучитьАтрибут(Н);
	     Если Рек.Формула = Формула Тогда
		     НАтр = Н;
		     Возврат Рек;
	     КонецЕсли;
     КонецЦикла;
     глФормекс = 0;
     Возврат 0;
КонецФункции // глАтрибутМНЧПоФормуле()
 



На форме документа в табличной части колонка без идентификатора и заголовка с формулой Проба()
Открываю документ.
Код
Выбрать все
Процедура ПослеСозданияФормы()
Формула="Проба()";
Рек = глАтрибутПоФормуле(Форма, Формула);
Рек.Заголовок = "111";	 //    !!!!! - тут 1С падает
КонецПроцедуры
 


Все работает.
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Установка заголовка колонки МНЧ.
Ответ #23 - 02. Октября 2007 :: 16:17
Печать  
Может ты в теле модуля формы вызываешь изменение заголовка?
Тогда, конечно упадет, т.к. этого атрибута еще не существует.
Хэндлу еще нема Очень довольный
  
Наверх
ICQ  
IP записан
 
rassik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 35
Зарегистрирован: 30. Сентября 2007
Re: Установка заголовка колонки МНЧ.
Ответ #24 - 02. Октября 2007 :: 16:31
Печать  
1. глАтрибутПоФормуле находится в глоб модуле
2. вызывается в процедуре ПриОткрытии формы документа для управления видивостью и заголовками колонок

вроде хэндл формы и колонок должен быть
сейчас попробую прописать вызов глАтрибутПоФормуле в ПослеСозданияФормы
  
Наверх
 
IP записан
 
rassik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 35
Зарегистрирован: 30. Сентября 2007
Re: Установка заголовка колонки МНЧ.
Ответ #25 - 02. Октября 2007 :: 16:42
Печать  
Перенес вызов в ПослеСозданияФормы - все заработало.
Не пойму в чем разница?
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Установка заголовка колонки МНЧ.
Ответ #26 - 02. Октября 2007 :: 16:49
Печать  
rassik писал(а) 02. Октября 2007 :: 16:42:
Перенес вызов в ПослеСозданияФормы - все заработало.
Не пойму в чем разница?

Формы еще физически нет, а ты пытаешься изменить заголовок у атрибута.
В ПослеСозданияФормы окно уже физически существует.
АЛьФ тебе понятней объяснит. Улыбка
  
Наверх
ICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Установка заголовка колонки МНЧ.
Ответ #27 - 02. Октября 2007 :: 16:54
Печать  
Можешь в ПослеОткрытия() перенести, но ПослеСозданияФормы() во многих случаях предпочтительней, т.к. позволяет избежать мельтешения при сложных перестроениях формы.
  
Наверх
ICQ  
IP записан
 
rassik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 35
Зарегистрирован: 30. Сентября 2007
Re: Установка заголовка колонки МНЧ.
Ответ #28 - 02. Октября 2007 :: 17:07
Печать  
rassik писал(а) 02. Октября 2007 :: 14:58:
Качнул.
!!!! 1С падает

Функция глАтрибутПоФормуле(Форма, Формула, НАтр = "") экспорт
     глФормекс = СоздатьОбъект("РасширениеФормы");
     глФормекс.УстановитьФорму(Форма);
     Для Н = 0 по глФормекс.КоличествоАтрибутов() - 1 Цикл
           Рек = глФормекс.ПолучитьАтрибут(Н);
           Если Рек.Формула = Формула Тогда
                 НАтр = Н;
                 Возврат Рек;
           КонецЕсли;
     КонецЦикла;
     глФормекс = 0;
     Возврат 0;
КонецФункции // глАтрибутМНЧПоФормуле()

Вызываю в процедуру глоб модуля для установки видимости колонок из процедуры "ПриОткрытии" формы документа.

Код такой:

Рек = глАтрибутПоФормуле(Конт.Форма, Формула);
Рек.Заголовок = "111";           !!!!! - тут 1С падает



Дело в том, что у меня в перед Рек.Заголовок = "111" есть еще Рек.Видимость = 1, т.е код выглядит так

Рек.Видимость = 1
Рек.Заголовок = "111"

так вот Рек.Видимость = 1 - // ВСЕ НОРМАЛЬНО!
Почему?



  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: Установка заголовка колонки МНЧ.
Ответ #29 - 02. Октября 2007 :: 17:14
Печать  
Цитата:
Почему?

Наверно, потому что пытаешься перерисовать еще не нарисованый реквизит.
Придет АЛьФ и расскажет правильными словами Улыбка
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 4 
ОтправитьПечать