Мои комментарии

Заголовок Comment Дата публикации Дата обновления
При этом для стандартных…

При этом для стандартных пунктов не срабатывает Visible и Text.

Я под стандартными понимаю пункты меню платформы. Например, Документы-Заполнение.
Это меню формируется один раз при старте платформы и потом не меняется, все строки для него берутся из ресурсов dll.

С обновлением ibmenu.ini  посмотрю.

Контекстные меню не обновляются при открытых окнах, если программа обновления запускается через панель инструментов.

Изменение контекстного меню происходит при получении и утрате фокуса ввода.
Если фокус ввода не уходит с таблицы (как в случае с кнопкой на панели управления), то меню обновится после смены фокуса (вызывать какой-нибудь диалог, переключиться между окнами и т.п.)

Здравствуйте!
1. При…

Здравствуйте!

1. При указание в функции БД_РЕДАКТОР в параметре кол_строк значения >15 на мониторах с небольшим разрешением taskbar перекрывает кнопки БД_РЕДАКТОРа. Не учитывается размер видимого экрана с taskbar. Можно автоматически убирать его, но пользователи очень не любят этот режим. См. рис. БД_РЕДАКТОР.

Действительно в одном месте брался размер всего рабочего стола, а не т.н. рабочей области.
Это поправил.

2. Функция ОБНОВИТЬ_МЕНЮ не действует на стандартные пункты меню и контекстное меню плана счетов. Программно заменить их название или выключить невозможно. Только через перезагрузку. Хотя все остальные, включая контекстные обрабатываются.

Стандартные пункты меню создаются один раз при старте программы.
Как Вы их текст планировали менять? На ходу подсунуть другую dll с ресурсами?
Перезапуск ИБ можно сделать через КОМАНДА_ГЛАВНОМУ_ОКНУ("_RESTART_").

Про контекстное меню плана счетов - не представляю, чем оно отличается от всех прочих.
В коде просто цикл по всем типам контекстных меню и меню плана счетов в том числе.

6. Добавить цвет в кнопки, т.к. это элемент управления и хорошо бы выделять его в тексте.

Начиная с Windows XP кнопки не являются одноцветными. Кроме того, у них много состояний, которые отображаются изменением цвета (normal, focused, hot tracked, disabled...). Т.е. даже если делать одноцветное изображение как в Windows 2000, то потребуется задание 8 цветов для фона и текста разных состояний. Как-то перебор, на мой взгляд.

Недавно была реализована возможность отображения на кнопке картинок совместно с текстом или без текста. Может использовать картинки для заметности кнопок? Тогда рамка кнопки будет вести себя как положено, в соответствии с активной визуальной темой Windows.

9. В режиме интерпретатора в библиотеках не всегда срабатывает ИСПОЛЬЗОВАТЬ_БИБЛ (по крайней мере в 8.880, в 8.8106 еще не тестировал). Пришлось вернуться к ИСПОЛЬЗОВАТЬ в каждой функции.

Можете привести пример кода, где ИСПОЛЬЗОВАТЬ_БИБЛ работает не так, как ожидается?

Функция ОБНОВИТЬ_МЕНЮ не действует на контекстное меню плана счетов.

Не воспроизводится.
Все сразу же обновляется, даже если окно плана счетов открыто и его не закрывать.

И какая сейчас версия…

И какая сейчас версия установлена?
10.291.6 от 9 августа 2024 года?
Посмотреть можно в меню Справка-О программе.

На скриншоте в строке состояния видна версия, которая на сайте последняя выложена от 2020 года.
К ней самый новый хотфикс от 26 ноября 2024 года.

Вопрос в том, что и как Вы обновляли?

С 21 ноября больше горячих…

С 21 ноября 2024 года больше горячих обновлений не было.
Вы же писали, что 26 ноября после восстановления шаблонов из корзины экспорт заработал.

Что изменилось после 26 ноября?
Что-то переустанавливали?
Только на одном рабочем месте не работает экспорт?

Здравствуйте!
Опять…

Здравствуйте!

Опять повторяется то, что в этой теме было:
https://www.ib.ru/forums/topics/13300?

Проверьте наличие файлов шаблонов экспорта.
Может их опять удалили.

Можно будет добавить…

Можно будет добавить отдельную кнопку Настройка/Вид, чтобы перезапуск основного окна БД_РЕДАКТОР происходила автоматически.

Еще один вопрос по…

Еще один вопрос по обработчикам БД_РЕДАКТОРа: можно ли из обработчика, например Ф или С, закончить редактирование, как по кнопкам "ОК" и "Отмена"?

Непонятно, зачем такое может понадобиться.
Это же обработчики фильтрации и сортировки отображаемого набора записей, т.е. изменение параметров отображения.

Здравствуйте!
Множественное…

Здравствуйте!

Множественное выделение в моем понятии - это провести курсором по нескольким записям при нажатой левой кнопке мыши (лкм) или в любом порядке выделять Ctrl+лкм.

В БД_РЕДАКТОР поддерживается только второй вариант - в любом порядке с инверсией выбора.
Существует специальный режим, который переключается и отображается в пункте контекстного меню "Режим выделения". Когда он включен, то левый клик или нажатие Enter приводят не к редактированию записи, а к переключению (toggle) состояния ее выбора. Также становятся доступными команды "Выделить все" и "Сброс выделения".

Несколько лет назад делал демо пример для наших прикладных разработчиков.
Краткая его суть такова.

Создается демо таблица фруктов: название + цена.
Делаем из нее SELECT в том виде, в каком хотим дать выбор пользователю.
Сохраняет результат SELECT во временную таблицу.
Добавляем во временную таблицу служебное поле - маркер выделения.
В примере я добавляю поле "selected", которое содержит "V" для выбранных записей и пустую строку для остальных.

Вызываем БД_РЕДАКТОР для временной таблицы, указывая поле "selected" первым (чтобы галочки были в начале строки).
После закрытия (не)активность режима выбора доступна через АТРИБУТ("посл_ред_при_выборе"), ее можно запомнить где-нибудь (в конфигур. файле, своем атрибуте и т.п.), у меня в демо - просто в общей переменной.

Получаем выбранные записи через SELECT к временной таблице WHERE selected="V".

Обработчик ПереключениеПоляВыбора отвечает за смену состояния выделенности одиночной записи (при клике или Enter).
Обработчик МножУстПоляВыбора отвечает за "Выделить все" и "Сброс выделения" (логический параметр "уст": ДА - все, НЕТ - сброс). Реализуется через тривиальный UPDATE временной таблицы.

Исходные файлы SRC и IBL прилагаю.

Без шаблонов выводиться в…

Без шаблонов выводиться в Word ничего не будет.
В корне папки Doc должны лежать файлы *.dot (для Word) и *.xlt (для Excel) различных документов.
Скопируйте содержимое папки Doc с другого рабочего места.

Возможно, что антивирус эти файлы в карантин отправил.
Или пользователь случайно удалил...

Попробуйте открыть из Word…

Попробуйте открыть из Word файл шаблона ТОРГ-12 "Ib10Applications\Doc\Торг12_Организация.dot".
Откроется без ошибок и вопросов?

Горячее обновление № 261 от 21 ноября 2024 года установлено?

Здравствуйте!
Какая версия…

Здравствуйте!

Какая версия Windows и Word?
Руками Word запускается?
Посмотрите в журнале обновлений Windows, какие обновления (KBxxxxxxx) были установлены в период 20-21 ноября 2024 года.

Правда, мигает бланк при…

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

Получилось воспроизвести для 100 мс таймера.
Некоторые лишние действия происходят, а в режиме интерпретатора еще и индикатор прогресса "Выполняется функция" создается.

В общем, я убрал все эти причины мигания для таких событий как таймер.
В декабрьской версии платформы выйдут исправления.

Подмигивает чутка)))
Простой…

Подмигивает чутка)))

Простой вызов функции не может к такому приводить, если в функции не делается по сути ничего.
Проверьте, что на каждое срабатывание таймера не вызывается КОМАНДА_БЛАНКА.
Должна вызываться только на первое срабатывание.
Поставьте ОТЛАДКА(...) внутрь ЕСЛИ.

Правда мигает бланк при этом…

Правда мигает бланк при этом из-за частого обновления.

Не ставьте в событии таймера опций "обновление..." и т.п. и не должно ничего мигать.

Можно же Ф-ю ПАУЗА…

Можно же Ф-ю ПАУЗА использовать?

Нет))

Если Вы не доехали до пункта назначения 500 метров, остановились и подождали 10 минут, то Вы по прежнему будете на расстоянии 500 метров от пункта назначения.

Инфо-Бухгалтер 8 - однопоточная программа, в ней все происходит последовательно, нет асинхронности.

P.S. Что-то блок code на форуме совсем пробельные отступы не сохраняет, все одной портянкой получается... (это мое ворчание в адрес админов сайта).

ПЕРЕМ Напечатано = НЕТ…

ПЕРЕМ Напечатано = НЕТ

ФУНКЦИЯ Печать(ТИП_СТРОКА: с1, с2, с3)
ЕСЛИ НЕ Напечатано ТО
СОЗДАТЬ(сп, ТИП_СПИСОК)
//...
КОМАНДА_БЛАНКА("PRINT", сп)
Напечатано = ДА
КОНЕЦ_ЕСЛИ
КОНЕЦ_ФУНКЦИИ

И указать функцию "Печать" в событиях бланка как "Timer:100", например.

В коне формульного раздела…

В коне формульного раздела добавлена функция

Неправильно делаете.
В конце формульного раздела еще только посчитаны необходимые переменные для граф, но значения в сами графы подставляются позже.

Какого-то специального события "после пересчета" для бланка нет.
Можно задействовать таймер и глобальную переменную, чтобы печать выполнялась только один раз. См. события таймера для бланка.

Отправляется как в…

Отправляется как в инструкции у вас в примере "Microsoft Print to PDF"

Попробовал через "Microsoft Print to PDF" в Windows 10.
Все графы в созданном pdf-файле присутствуют.

в фоновом режиме

С этого места поподробнее. Что имеется в виду?

Не воспроизводится.
По…

Не воспроизводится.
По крайней мере, принтер Canon LBP6310 печатает.

Непонятно, о каких графах идет речь: ввода, вывода или обоих типов?

КОМАНДА_БЛАНКА("PRINT", ...) делает ровно то же самое, что кнопка печати на панели инструментов. Печать через панель инструментов работает как надо?

Здравствуйте!
Это исправлено…

Здравствуйте!

Это исправлено и выйдет в декабрьском обновлении платформы 8.8107.

Пока пользуйтесь не Документы-Архив, а Документы-Заполнение.
Для очистки полей достаточно нажать F8.