Форум Кладовочки АЛьФ`а

Обсуждение проектов => FormEx => Тема начата: mEnter от 24 апреля 2024, 17:08

Название: Атрибутформы.Положение
Отправлено: mEnter от 24 апреля 2024, 17:08
А был ли Атрибутформы Положение?
Название: Re: Атрибутформы.Положение
Отправлено: АЛьФ от 24 апреля 2024, 20:26
УстановитьКоординаты(<?>,,,)
Синтаксис:
УстановитьКоординаты(<Лево>,<Верх>,<Ширина>,<Высота>)
Назначение:
Устанавливает новые значения для положения и размеров атрибута. Если какой-либо параметр
при вызове метода не задан, то данный параметр не изменяется.
Параметры:
<Лево> - Необязательный параметр.  Расстояние от левой границы формы до левой границы атрибута.
<Верх> - Необязательный параметр.  Расстояние от верхней границы формы до верхней границы атрибута.
<Ширина> - Необязательный параметр.  Ширина атрибута.
<Высота> - Необязательный параметр.  Высота атрибута.
ПРИМЕР:
АтрФормы = СоздатьОбъект("АтрибутФормы");
АтрФормы.УстановитьАтрибут(Форма,3);
Высота=0;
АтрФормы.ПолучитьКоординаты(,,,Высота);
АтрФормы.УстановитьКоординаты(,,,Высота+40);
Название: Re: Атрибутформы.Положение
Отправлено: mEnter от 24 апреля 2024, 21:41
Я не про координаты.
Был такай атрибутформы положение - определял положение колонки в табличной части, по крайней мере в версии .166 он есть.

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

Это код Поставщик данных.табличнаяЧасть
Название: Re: Атрибутформы.Положение
Отправлено: АЛьФ от 25 апреля 2024, 09:28
Тогда так:

Объект РасширениеФормы

ПоложениеКолонкиТаблицы(<?>,,)
Синтаксис:
ПоложениеКолонкиТаблицы(<Имя>,<Колонка>,<Положение>)
Назначение:
Метод служит для изменения положения колонки таблицы значений на форме.
Параметры:
<Имя> - идентификатор таблицы значений на форме;
<Колонка> - идентификатор или номер колонки таблицы;
<Положение> - число, задающее положение колонки: 1 - новая колонка, 2 - на следующей строке, 3 - в той же колонке.
ЗАМЕЧАНИЕ:
Метод работает только после физического открытия окна формы.
ПРИМЕР:
Процедура Выполнить()
РФорма = СоздатьОбъект("РасширениеФормы");
РФорма.ПоложениеКолонкиТаблицы("Табл",2,2);
КонецПроцедуры
Название: Re: Атрибутформы.Положение
Отправлено: mEnter от 25 апреля 2024, 10:13
Спасибо что обратили на меня внимание.
Вопрос не как определить положение, а был ли такой атрибут?
После смены версии с 166 на 197, появилась ошибка в поставщикеданных.табличнаячасть неверный атрибут положение.
Поэтому и возник вопрос. Атрибута не стало?
т.е. придется подправить поставщик.

Название: Re: Атрибутформы.Положение
Отправлено: mEnter от 25 апреля 2024, 10:20
Если точнее не изменить, а прочитать свойство колонки ТЧ положение.
Название: Re: Атрибутформы.Положение
Отправлено: АЛьФ от 25 апреля 2024, 10:28
Цитата: mEnter от 25 апреля 2024, 10:13Спасибо что обратили на меня внимание.
Вопрос не как определить положение, а был ли такой атрибут?
После смены версии с 166 на 197, появилась ошибка в поставщикеданных.табличнаячасть неверный атрибут положение.
Поэтому и возник вопрос. Атрибута не стало?
т.е. придется подправить поставщик.



Я лично не помню, чтобы такой атрибут у меня был, всегда была функция. Может быть это была какая-то сторонняя сборка.
Название: Re: Атрибутформы.Положение
Отправлено: Djelf от 25 апреля 2024, 11:04
Хм, проверил Информатором 2.0.5.166 нет там АтрибутФормы.Положение, вот все что есть.
Number NameEng NameRus
0 Caption Заголовок
1 Hint Подсказка
2 Description Описание
3 Formula Формула
4 Visible Видимость
5 ReadOnly Доступность
6 Layer Слой
7 Value Значение
8 AttribID Идентификатор
9 Type Тип
10 BkColor ЦветФона
11 FontColor ЦветШрифта
12 Mask Маска
13 Related СвязанС
14 Font Шрифт
15 Class Класс
16 Border Рамка
17 ParentWindow РодительскоеОкно
18 Handle Дескриптор
19 Style Стиль
20 StyleEx РасширенныйСтиль
21 Picture Картинка
22 Focus Фокус
23 Autoselect Автовыбор
24 HasButton ИмеетКнопкуВыбора
25 Align Выравнивание
26 BorderStyle СтильРамкиКартинки
Название: Re: Атрибутформы.Положение
Отправлено: Злоп от 25 апреля 2024, 11:19
Цитата: АЛьФ от 25 апреля 2024, 09:28Метод служит для изменения положения колонки таблицы значений на форме.
а чем это отличается от использования третьего параметра в ТЗ.ВидимостьКолонки()..?
Название: Re: Атрибутформы.Положение
Отправлено: АЛьФ от 25 апреля 2024, 11:38
Цитата: Злоп от 25 апреля 2024, 11:19
Цитата: АЛьФ от 25 апреля 2024, 09:28Метод служит для изменения положения колонки таблицы значений на форме.
а чем это отличается от использования третьего параметра в ТЗ.ВидимостьКолонки()..?
Это о разных положениях. ВидимостьКолонки устанавливает порядок отображения колонок. Метод ПоложениеКолонкиТаблицы управляет флагом "Новая колонка/На следующей строке/В той же колонке".
Название: Re: Атрибутформы.Положение
Отправлено: Djelf от 25 апреля 2024, 13:23
Интересно, свойство Информатор не видит, но на 2.0.5.183 ошибка не выдается и тип значения - Строка, а начиная с 2.0.5.185 выдается ошибка "Поле агрегатного объекта не обнаружено (Положение)".
Причем если поменять Положение в ячейка влево/вправо то строка все равно пустая.
Видимо, судя по отличию в als, дело в Процедура ПриВыводеСообщения(<ИдентификаторОкнаСообщений>, <ТекстСообщения>, <МаркерСообщения>, <СтрокаКода>, <идМодуля>, <ИмяМодуля>, <СтандартнаяОбработка>)
, ее в 2.0.5.183 нет.
Название: Re: Атрибутформы.Положение
Отправлено: АЛьФ от 25 апреля 2024, 13:49
Цитата: Djelf от 25 апреля 2024, 13:23Интересно, свойство Информатор не видит, но на 2.0.5.183 ошибка не выдается и тип значения - Строка, а начиная с 2.0.5.185 выдается ошибка "Поле агрегатного объекта не обнаружено (Положение)".
Причем если поменять Положение в ячейка влево/вправо то строка все равно пустая.
Видимо, судя по отличию в als, дело в Процедура ПриВыводеСообщения(<ИдентификаторОкнаСообщений>, <ТекстСообщения>, <МаркерСообщения>, <СтрокаКода>, <идМодуля>, <ИмяМодуля>, <СтандартнаяОбработка>)
, ее в 2.0.5.183 нет.

Дело в исправлении ошибок, скорее всего. До некоторой версии любое имя свойства не выдавало ошибки, насколько я помню.
Название: Re: Атрибутформы.Положение
Отправлено: Djelf от 25 апреля 2024, 13:50
Да, проверил.  Работало все что угодно, АтрибутФормы.ЭтоХрень="Хрень" ; Сообщить( АтрибутФормы. ЭтоХрень ); -> "Хрень".
Сообщить(АтрибутФормы. ЭтоНеХрень ); -> "Хрень".
Название: Re: Атрибутформы.Положение
Отправлено: mEnter от 25 апреля 2024, 14:19
Спасибо. Точно. Выдавала пустоту. Атрибут мог быть любым.