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

Обсуждение проектов => FormEx => Тема начата: АЛьФ от 26 февраля 2024, 15:36

Название: Ошибки в документации
Отправлено: АЛьФ от 26 февраля 2024, 15:36
Очепятки, недописьки и апшибки в файле als.
Название: Re: Ошибки в документации
Отправлено: Грузчик от 26 февраля 2024, 16:11
Только перед выходными задумал заняться вычиткой...

Ладно, пока не по орфографии, по сути попробуем:
Цитата
-FONT_C[<Цвет>] - задает цвет шрифта строки, если она является текущей ячейкой (работает только при использовании плана раскраски);
-BRUSH_C[<Цвет>] - задает цвет фона строки, если она является текущей ячейкой (работает только при использовании плана раскраски);
должно быть, насколько я понимаю
Цитата
+FONT_C[<Цвет>] - задает цвет шрифта ячейки, если она является текущей (работает только при использовании плана раскраски);
+BRUSH_C[<Цвет>] - задает цвет фона ячейки, если она является текущей (работает только при использовании плана раскраски);

Проверил сейчас, цвет там не так чтобы RGB:
Цитата
<Цвет> - представление необходимого цвета в формате RGB в виде положительного числа
<Цвет> - представление необходимого цвета в формате BGR в виде положительного числа
Какой формат предпочтительнее? Или патчи к сообщениям прикладывать? Или репу завести под это?  ;D
Название: Re: Ошибки в документации
Отправлено: Djelf от 26 февраля 2024, 16:24
formex 2.0.5.196 (предлагаю всегда писать версию)
Для начала спеллинг. Не так много косяков (есть еще дубли, которые я не привел, их надо по косякам изменять).

<wParam>, <lParam> - параметы сообщения WM_COMMAND
<ТекстСостояния> - текст выводимого состония;
Вызывается при уровне трасиировки равном 1000. См. метод Сервис.УровеньТрассировки().
<идМодуля> - идентификатор модуля, в которм идет исполнение
Вызывается для получения строкового представления отслеживаемой переменной (см. метоэ Сервис.УровеньТрассировки()) для записи в лог. Процедура вызывается только если переменная доступна в текущем контесте.
<ПредставлениеПеременной> - текущее строкове представление отслеживаемой переменной.
Сообшить(''Результат = '' + Рез);
закрывает все открытые окна внутри текущей сесии 1С:Предприятия.
Возвращает коммандную строку, с который было запущено 1С:Предприятие.
Вызывает глобальную процедуру с заданным интервалом в милисекундах.
Включает/отключиет показ ракладки клавиатуры и времени в статусной панели 1С:Предприятия.
Окно таблицы делаеться невидимым, но не уничтожается.

P.S. Это нормально, даже психованный sqlite (дикое количество тестов) постоянно так косячит.
P.P.S. Блокнот плохо справляется, ищи что-то получше. Я на VSCode это все по быстрому выудил (есть небольшая проблема, он не жрет 1251).
P.P.P.S. Дальше сделаю проверку als на логику, это уже будет несколько дольше.
Название: Re: Ошибки в документации
Отправлено: alyuev от 29 февраля 2024, 13:45
Отсутствует описание метода НайтиПоИндексу() для объекта "ПанельСтрокиСостояния"
Название: Re: Ошибки в документации
Отправлено: Djelf от 29 февраля 2024, 14:22
И 2 свойства отсутствуют: ДескрипторДляПрогресса, это и так понятно, служебное свойство, а вот что такое ПолныйСтиль? РасширенныйСтиль? А почему только на чтение?
Название: Re: Ошибки в документации
Отправлено: Djelf от 29 февраля 2024, 15:14
Новый als отлично поправлен, явных ошибок в описанииях (не по спелингу) уже не вижу.
С нетерпением ждем следающих!
Название: Re: Ошибки в документации
Отправлено: АЛьФ от 29 февраля 2024, 15:25
Цитата: Djelf от 29 февраля 2024, 14:22И 2 свойства отсутствуют: ДескрипторДляПрогресса, это и так понятно, служебное свойство, а вот что такое ПолныйСтиль? РасширенныйСтиль? А почему только на чтение?
ПолныйСтиль - это тот же стиль, который возвращает свойство Стиль, но в "чистом" виде. Т.е. в коде их чтение выглядит так:
    case propStyle:
    {
        switch (m_pCurrentPane->Style)
        {
            case SBPS_NORMAL:
                rValue = 0L;
                break;
            case SBPS_NOBORDERS:
                rValue = 1;
                break;
            case SBPS_POPOUT:
                rValue = 2;
                break;
            case SBPS_NORMAL|SBPS_STRETCH:
                rValue = 0L;
                break;
            case SBPS_NOBORDERS|SBPS_STRETCH:
                rValue = 1;
                break;
            case SBPS_POPOUT|SBPS_STRETCH:
                rValue = 2;
                break;
        }
        break;
    }
    case propFullStyle:
    {
        rValue = m_pCurrentPane->Style;
        break;
    }
Только чтение, т.к. можно запросто завалить 1С им.
Название: Re: Ошибки в документации
Отправлено: АЛьФ от 29 февраля 2024, 20:35
Цитата: Djelf от 26 февраля 2024, 16:24P.P.S. Блокнот плохо справляется, ищи что-то получше. Я на VSCode это все по быстрому выудил (есть небольшая проблема, он не жрет 1251).
Спасибо за дельную мысль. Как-то раньше лень было. Я использую Нотепад++, поставил плагин проверки орфографии. Прогнал по всему als сейчас. Люблю я слово "соответствует", но постоянно в нем ошибаюсь.
Название: Re: Ошибки в документации
Отправлено: АЛьФ от 29 февраля 2024, 20:40
Цитата: alyuev от 29 февраля 2024, 13:45Отсутствует описание метода НайтиПоИндексу() для объекта "ПанельСтрокиСостояния"
Спасибо, добавил.
Название: Re: Ошибки в документации
Отправлено: Djelf от 01 марта 2024, 14:53
Прогнал обработкой на FormEx 2.0.5.196

Она сначала вытягивает Информатором свойства и методы через 1c++, затем парсит als.
Тут выведен список того чего в als нет. А может это нам уже давно надо, а мы и не знаем?
Явные багнутые методы исключать не стал. Может что то уже внезапно работает, а может и нет на это никакой надежды...
Что-то может быть описано как Перехват_СинийТреугольник не в дереве ALS, это уже выловить сложнее, их удалил из списка вручную.
Возможно некоторые данные попали из-за rus/lat ошибок.
   
ИмяОбъектаТипNameRusHasRetValNParams
СервисМетодОткрытьФормуКакПанель16
СервисМетодСписокВсехОткрытыхДокументов10
СервисМетодОбновитьДанныеМетодовФормы01
СервисМетодПолучитьПраметрыОбъекта020
СервисМетодПоказатьКалькулятор14
СервисМетодПроверка00
РасширениеФормыСвойствоКласс
РасширениеФормыСвойствоКлассДокумента
РасширениеФормыСвойствоТекстДиалога
РасширениеФормыСвойствоВнутреннееПредставление
РасширениеФормыСвойствоКаталогВыгрузки
РасширениеФормыМетодДобавитьКнопкуПанели03
РасширениеФормыМетодПрисоединитьФорму17
РасширениеФормыМетодПрисоединитьФормуНаАтрибут17
РасширениеФормыМетодДобавитьЗакладкиФорм00
РасширениеФормыМетодНачатьПрямойВвод01
РасширениеФормыМетодЗакончитьПрямойВвод01
РасширениеФормыМетодУстановитьШрифт06
РасширениеФормыМетодУстановитьШрифтЗакладок01
РасширениеФормыМетодИзменитьИндексКолонкиМногострочнойЧасти02
РасширениеФормыМетодПолучитьИндексКолонкиМногострочнойЧасти11
РасширениеФормыМетодПолучитьЗаголовокКолонкиМногострочнойЧасти11
РасширениеФормыМетодПолучитьКоличествоКолонокМногострочнойЧасти10
РасширениеФормыМетодПолучитьВидимостьКолонкиМногострочнойЧасти11
РасширениеФормыМетодПолучитьИДКолонкиМногострочнойЧасти11
РасширениеФормыМетодИзменитьПоложениеКолонкиМногострочнойЧасти12
РасширениеФормыМетодИзменитьШиринуКолонкиМногострочнойЧасти12
РасширениеФормыМетодТест10
РасширениеФормыМетодТестНазначитьТип11
РасширениеФормыМетодmethCreateStdControl_Static17
РасширениеФормыМетодmethTraceWindows14
РасширениеФормыМетодmethCtrlInfo10
РасширениеФормыМетодmethFieldsArray10
РасширениеФормыМетодmethGetCtrl10
РасширениеФормыМетодmethColArray10
АтрибутФормыСвойствоФокус
АтрибутФормыМетодОбновить00
ОкнаМетодОбновитьОкно01
ОкнаМетодУстановитьФокус01
НастройкиПользователяМетодСохранитьНастройки10
ПанельСтрокиСостоянияСвойствоПолныйСтиль
ПанельСтрокиСостоянияСвойствоДескрипторДляПрогресса
ПанельСтрокиСостоянияМетодНайтиПоИндексу11
ТаймерМетодОтладка_ВыполнитьСобытиеТаймера00
ОкноСообщенийМетодКлонированиеСистемныхСообщений01
Название: Re: Ошибки в документации
Отправлено: АЛьФ от 01 марта 2024, 15:54
Не было у бабы печали, купила баба порося...
 ;D
Название: Re: Ошибки в документации
Отправлено: Djelf от 01 марта 2024, 21:29
Порося не сильно затратно, зато потом вкусно!
Хотя он же становится домашним зверинцем, не у всех нервы выдержат...

Напрашивается глобальный префикс для подавления подобных сообщений.
Но это уже в ВК делать придется.
Возможно что-то поломает у креативщиков, но это видимо 0.001% от всех пользователей - не критично.
Название: Re: Ошибки в документации
Отправлено: Злоп от 02 марта 2024, 00:10
АтрибутФормы Свойство Фокус
- это интересно...
Название: Re: Ошибки в документации
Отправлено: Злоп от 02 марта 2024, 00:12
ОкноСообщений   Метод   КлонированиеСистемныхСообщений
- это вроде как служебный промежуточный метод для манипуляции с ОкномСообщений
Название: Re: Ошибки в документации
Отправлено: Злоп от 02 марта 2024, 00:12
И вообще, прогонять надо на 197 - который как релиз выложен ;-)
Название: Re: Ошибки в документации
Отправлено: Djelf от 02 марта 2024, 14:40
Видимо нужно небольшое дополнение в документации к "Перенаправление глобальных процедур".
Как то так:

В сочетании с Объектом Сервис и Методами ВыполнитьПроцедуру/ВыполнитьФункцию и СтатусВозврата(0) в перехваченной ПроцедуреГМ позволяет эмулировать код расширений 1С v8.3 Перед/После/Вместо.

Это не очевидно, потребовалось какое-то время чтобы это осознать...
Название: Re: Ошибки в документации
Отправлено: АЛьФ от 03 марта 2024, 09:08
Цитата: Djelf от 02 марта 2024, 14:40Видимо нужно небольшое дополнение в документации к "Перенаправление глобальных процедур".
Как то так:

В сочетании с Объектом Сервис и Методами ВыполнитьПроцедуру/ВыполнитьФункцию и СтатусВозврата(0) в перехваченной ПроцедуреГМ позволяет эмулировать код расширений 1С v8.3 Перед/После/Вместо.

Это не очевидно, потребовалось какое-то время чтобы это осознать...

Это скорее не для документации, а для цикла статей на Инфостарте по практическому применению FormEx.
Название: Re: Ошибки в документации
Отправлено: Djelf от 03 марта 2024, 09:39
На статью одна строка не тянет  ;)
Воды надо налить очень много...
В документации же есть примеры и примечание и это примечание ничем от них не отличается.
Название: Re: Ошибки в документации
Отправлено: АЛьФ от 03 марта 2024, 10:29
Цитата: Djelf от 03 марта 2024, 09:39На статью одна строка не тянет  ;)
Воды надо налить очень много...
В документации же есть примеры и примечание и это примечание ничем от них не отличается.
Эх... Не удалось подбить на цикл статей... Ладно, добавлю в документацию.
Название: Re: Ошибки в документации
Отправлено: Злоп от 10 марта 2024, 01:40
Локальные:

Процедура ПослеЗакрытия() КонецПроцедуры
Синтаксис:
Процедура ПослеОткрытия() КонецПроцедуры
Назначение:
Предопределенная процедура вызывается после физического разрушения окна формы. Предотвратить закрытие окна в этой процедуре невозможно.
Название: Re: Ошибки в документации
Отправлено: Злоп от 10 марта 2024, 02:45
ЗагрузитьВнешнююОбработку(<?>,,)
Синтаксис:
ЗагрузитьВнешнююОбработку(<ИмяФайла>, <ИмяОбъекта>, <ХэшПроверки>)
Назначение:
Метод предназначен для загрузки внешнего отчета, в качестве внутреннего. После после выполнения метода к загруженному отчету можно обращаться, как к любому встроенному отчету.
Название: Re: Ошибки в документации
Отправлено: Злоп от 11 марта 2024, 12:06
Добавить, там, где упоминается метод ВыборочнаяРаскраска(), типа (если я правильно понял):
"Если включить раскраску в выборочном режиме, то раскрашиваться будут только таблицы, явно указанные с помощью метода РасширениеФормы::РаскрашиватьТаблицу(<Имя>). Все остальные таблицы игнорируются. Это один из давних способов оптимизации раскраски при использовании старого метода раскраски, без использования плана раскраски. Если применяется ИспользоватьПланРаскраски() выборочная раскраски реализуется заданием заголовка колонки "ForMex_ПланРаскраски"
Название: Re: Ошибки в документации
Отправлено: Злоп от 11 марта 2024, 23:28
УстановитьАтрибут
<Номер> - номер или строка с идентификатором атрибута формы. Для получениE доступа кТУТЛИШНИЙПЕРЕНОССТРОКИ
многострочной части формы необходимо в этот метод передать строку МногострочнаяЧасть.
<ВызватьИсключение> - необязательный флаг вызова исключения при неверноE первом параметре. Если установлен в 0, то при неверном номере или имени атрибута метод вернет пустое значение, иначе будет вызвано исключение. По умолчанию - 1.
Название: Re: Ошибки в документации
Отправлено: АЛьФ от 12 марта 2024, 09:00
Цитата: Злоп от 11 марта 2024, 23:28УстановитьАтрибут
<Номер> - номер или строка с идентификатором атрибута формы. Для получениE доступа кТУТЛИШНИЙПЕРЕНОССТРОКИ
многострочной части формы необходимо в этот метод передать строку МногострочнаяЧасть.
<ВызватьИсключение> - необязательный флаг вызова исключения при неверноE первом параметре. Если установлен в 0, то при неверном номере или имени атрибута метод вернет пустое значение, иначе будет вызвано исключение. По умолчанию - 1.
Лишние переносы строк там много где, т.к. когда-то были попытки использовать редактор als. Сейчас их все не вычистить, к сожалению.
Название: Re: Ошибки в документации
Отправлено: АЛьФ от 12 марта 2024, 10:01
На текущий момент все указанные ошибки исправлены.
Название: Re: Ошибки в документации
Отправлено: trdm от 12 марта 2024, 10:04
Есть "1С-Сервис разработчика (SDevelop)", это конфа на 1С 77 которая позволяет править *.als файлы.
https://disk.yandex.ru/d/0jmAykwYM5sNCw
Название: Re: Ошибки в документации
Отправлено: АЛьФ от 12 марта 2024, 10:37
Цитата: trdm от 12 марта 2024, 10:04Есть "1С-Сервис разработчика (SDevelop)", это конфа на 1С 77 которая позволяет править *.als файлы.
https://disk.yandex.ru/d/0jmAykwYM5sNCw
Спасибо, но я как-то уже с notepad++ сроднился.
Название: Re: Ошибки в документации
Отправлено: АЛьФ от 14 марта 2024, 13:14
Оставлю здесь, чтобы добавить в документацию вечером.

Цитата
Сделал колонку для параметров таблицы.
Как это работает. Добавляем в таблицу (как в таблицу значений, так и в любую многострочную часть на форме) колонку с идентификатором "FormEx_ПараметрыТаблицы", в заголовке этой колонки пишем "ЦентрироватьТекущуюСтроку:0".
Пример кода:

тз.НоваяКолонка("Название",,,,"Название заголовка");
тз.НоваяКолонка("FormEx_ПараметрыТаблицы",,,,"ЦентрироватьТекущуюСтроку:0");
тз.ВидимостьКолонки("FormEx_ПараметрыТаблицы", 0);

После двоеточия число - это тип центровки, как описано в методе ЦентрироватьТаблицуДляТекущейСтроки (). Реализовано так, чтобы в будущем можно было добавлять какие-то еще параметры для таблиц.
Метод ЦентрироватьТаблицуДляТекущейСтроки() теперь надо вызывать только если надо изменить поведения по умолчанию для всех таблиц.
Название: Re: Ошибки в документации
Отправлено: Злоп от 17 марта 2024, 18:51
СобытиеРазрешено(<?>)
Синтаксис:
СобытиеРазрешено(<ИмяСобАтия>, <Доступность>)
Назначение:
Для получение/установки текущего состояния события. Возвращает состояние до вызова метода.
Параметры:
<ИмяСобАтия> - Строковое представление события, равно имени предопределенной процедуры.
<Доступность> - необязательный, 1 - разрешить, 0 - запретить, по умолчанию не менять
Название: Re: Ошибки в документации
Отправлено: Злоп от 17 марта 2024, 18:56
Цитата: АЛьФ от 14 марта 2024, 13:14Оставлю здесь, чтобы добавить в документацию вечером.
и это не забыть
Название: Re: Ошибки в документации
Отправлено: Djelf от 23 марта 2024, 15:42
Процедура ПослеОбновленияФормы()КонецПроцедуры
Синтаксис:
Процедура ПослеОбновленияФормы()КонецПроцедуры
Назначение:
- Предопределенная процедура вызывается при обновлении формы, после выполнения форму текстовых реквизитов формы.
+ Предопределенная процедура вызывается после обновления формы, после выполнения формул  текстовых реквизитов формы.
Название: Re: Ошибки в документации
Отправлено: Djelf от 30 марта 2024, 15:30
Предлагаю рассекретить в als метод ТаблицаЗначений = РасширениеФормы.methCtrlInfo() и изменить в коде на РасширениеФормы. ПолучитьСвойстваАтрибутов().
Вылетов там нет, это стабильный метод, одна строка кода меняется, в als придется дописать больше, но может кому-то понадобится...
Название: Re: Ошибки в документации
Отправлено: alyuev от 29 апреля 2024, 17:43
Что-то не нашел в als для 197й версии описания метода ПолучитьРазмерТекста(). И там была ошибочка "переменные, в котораы ..." в описании параметров