15.12.2022 13:42
FinSoft
 
У пользователей Купца новогоднее настроение! Функция установки заставки у всех работающих пользователей (требуются права администратора).

17.12.2022 14:33
FinSoft
 
В настройке параметров пользователя добавлена возможность выбора шрифта контролов - MS Sans Serif, Segoe UI, Verdana, Tahoma, Areal. Настройка действует во всех окнах Купца. Для сохранения пропорций текста в размерный ряд добавлено значение 9. Таким образом, по умолчанию исторически используется шрифт MS Sans Serif с размером 8 (опционально 9,10), который хорошо подходит для старых типов мониторов. Остальные шрифты могут быть установлены с размером 9 или 10. Более крупные или более мелкие шрифты применять пока целесообразности не видно. Список поддерживаемых шрифтов может быть расширен, если найдутся хорошие кандидаты. На скриншоте окно настройки параметров пользователя с установленным шрифтом Verdana 10.

20.12.2022 09:03
FinSoft
 
Я уже писал, что проект ФинСофт:КупецЪ базируется на фрейворке, основа которого была разработана в 2003-2004 годах. С того времени все изменения, вносимые во фреймворк, обкатывались напрямую в этом проекте, а затем включались в некоторые заказные разработки и дополнительные приложения. На днях возникла мысль о том, что неплохо было бы сделать обратный процесс - задонатить актуальное состояние фреймворка из Купца в чистое от прикладного функционала приложение. Смысл в том, чтобы при возникновении потребности можно было быстро зарегистрировать новое приложение в менеджере проектов (процесс занимает примерно 10-15 мин), а затем, имея сразу весь функционал фреймворка, сосредоточиться на прикладном решении. Такая технологическая сборка фреймворка и была сделана в течении последних пары дней. В нее вошел весь базовый функционал, включающий распределение прав доступа, логирование изменений в базе данных и логирование событий, блок технического обслуживания, поддержка и настройка многооконного интерфейса, версионирование модулей, поддержка возможности переключений файловой и серверной баз данных (topspeed файловый и клиент-серверный, action zen), настройка печатных форм и таблиц, встраиваемый пошаговый отладчик кода и многое другое. Всего 42 системные таблицы в базе данных и около 200 процедур. Общий размер exe+dll примерно 6 мб.
Миниатюры
Нажмите на изображение для увеличения
Название: framework.jpg
Просмотров: 36
Размер:	157.8 Кб
ID:	11948  
09.02.2023 22:04
FinSoft
 
Последнее время приходится заниматься, в основном, решением разных прикладных вопросов. Я про это стараюсь не писать, так как не все можно, а про что можно, не очень интересно.
В начале года, помимо прочего, всегда приходится в той или иной степени разбираться с изменениями в законодательстве. Очень странные люди принимают очень странные законы. В этом году их бомбануло с зарплатным законодательством. В целом, методику ведения учета проработали, январские аванс и зарплату начислили и выплатили. Остался вопрос с отражением в форме 6-НДФЛ декабрьской зарплаты, которая выплачивалась в январе. В основном, все уже ученые, и закрывают расчеты по зарплате в декабре. С проблемами столкнулась только одна небольшая организация. После прочтения разъяснений на этот счет от налоговиков, предложили не обращать на них внимания, пока не будет подробных примеров, как поступать в той или иной ситуации. Вполне возможно, что таких примеров и не дождемся, так как с точки здравого смысла и калькулятора много нестыковок. А когда состояние такой неопределенности, лучше придерживаться тех правил, которые действовали в отчетном периоде. То есть отражать доход и налог в месяце начисления (декабре), а не включать в доход следующего года (в январе), как предлагают налоговики. Основание железобетонное, при необходимости можно подать уточненную форму позже.

Мелкие изменения были сделаны в оформлении в Купце.
Введено подчеркивание синей линией текущего поля ввода (см. первый скриншот). Это модная тема сейчас, после выхода Windows 11. Другие варианты не прижились, а так понравилось.
В настройке параметров пользователя добавилась возможность автоматической смены обоев по расписанию (см. второй скриншот). Как в галерее в Windows. Думаю, что подберем примерно 15 вариантов обоев с видами природы, на каждый месяц и на отдельные праздничные периоды (например, новый год).
Миниатюры
Нажмите на изображение для увеличения
Название: scr1.jpg
Просмотров: 33
Размер:	243.6 Кб
ID:	11973   Нажмите на изображение для увеличения
Название: scr2.jpg
Просмотров: 27
Размер:	282.6 Кб
ID:	11974  
23.05.2023 12:15
FinSoft
 
Давно не писал сюда. За прошедшее время появились некоторые интересные разработки.

Ввод фасовки в Web модуле.
Этот механизм используется для заказа различной фасуемой на производстве продукции, в частности, кулинарии. В Купце, после получения заказов из Web модуля, в плане производства подсчитывается количество лотков.



Информация об идентификаторе электронной помощи и список иконок в окне.
Во всех окнах Купца имеется комбинация клавиш Ctrl+Alt+S, при нажатии на которую делается снимок активного окна и есть возможность его редактирования и отправки на электронную почту разработчика. Так изначально задумывалось, но в реальной работе у пользователей практически не востребовано. Зато данный режим давно прижился в процессе разработки. Кроме снимка выводится название модуля и название процедуры окна, а название процедуры автоматически помещается в буфер обмена. Это позволяет быстро находить процедуру в среде разработки. Теперь сюда добавились идентификатор в системе электронной помощи и список используемых в окне иконок. Идентификатор в системе электронной помощи помогает в несколько кликов найти нужный раздел для внесения изменений (у меня используется Help&Manual).




Иконки линкуются к приложению. Время от времени попадается какая-нибудь иконка, на которую хочется заменить используемую. Иконок в наборе много (~500), и просмотр списка иконок в окне позволяет быстро найти соответствующую. Кроме этого, в Купце есть специальный каталог icons. Если в нем есть одноименная иконка, то при открытии любого окна произойдет подмена. То есть мы можем, не пересобирая проект, увидеть, насколько новая иконка вписывается в интерфейс, и, если подошла, заменить на нее в стандартном наборе. После очередной сборки проекта новая иконка будет прилинкована к приложению.



Сумматор с контрольной лентой.
В Купце с первых версий имеется сумматор числовых значений с помощью горячих клавиш Ctrl=, CtrlShift+, CtrlShift-. Эти клавиши можно использовать после выделения числового значения в ячейках таблиц, в числовых полях ввода, в строковых полях ввода (блочное выделение чисел) во всех окнах. Идея была подсмотрена в 1С77, предназначено для упрощения выверки расчетов. Однако данный механизм был не очень нагляден, так как суммирование происходит вслепую, мы можем затем вставить куда-нибудь общий результат. Чтобы устранить этот недостаток, в панели калькулятора была добавлена кнопка-флажок включения режима сумматора. Когда включено, то показывается контрольная лента и все операции эхом отображаются в ней, независимо от того, в каких окнах происходит суммирование.



Названия полей базы данных в диалоговых окнах приложений.
Когда база данных становится большой и счет полей в ней идет на тысячи, оказывается удобным определить соответствующее поле прямо в окне приложения. Это в ряде случаев заметно ускоряет поиск и использование названия поля при написании кода. Для этих целей во всех окнах Купца подключена комбинация клавиш CtrlAltI. Работает для различных контролов - полей ввода, спинов, флажков, опций, ссылок на справочники и т.п.



Основы интерфейса.
Долгое время для обучения работы с интерфейсом Купца использовался набор роликов. Теперь решено было дополнить в виде файла chm. Возможно, со временем будет собрано и в других форматах. Данный файл открывается отдельно от основного файла электронной помощи, поскольку включенные в него скриншоты утяжеляют его в плане размера. Вызывается из меню Помощь.



Так выглядит содержание.

27.06.2023 16:44
FinSoft
 
В последнее время в FinSoft Framework появилась пара идей.

Оптимизация процесса отладки изменений.
Обычная ситуация, вносим какие-то изменения, затем заходим в программу и проверяем их в работе. При этом надо пройти диалог авторизации, возможно, какие-то окна с сообщениями, запустить нужное диалоговое окно из меню. Когда изменение не простое и сразу все без ошибок сделать не получается, то приходится повторять это раз за разом. Идея такая, чтобы включить специальный режим отладки, и автоматом проходить авторизацию и запускать нужное диалоговое окно. Данная функция доступна на компьютере разработчика.
В окне, в котором вызывается и тестируется функция, жмем клавиши Ctrl+Alt+S, в системном информационном окне жмем кнопку "Отладка", которая включает или выключает режим отладки (на первом скриншоте). При включении в параметрах пользователя сохраняются название dll и название процедуры, а при выключении они очищаются. После включения и последующих запусках программы (пока не отключим режим) мы сразу попадаем в нужное окно. Ограничение в том, что таким образом нельзя попасть в форму редактирования, но можно в окно, из которого она вызывается. Чаще всего отлаживаются какие-то новые отчеты, там сразу попадаем, куда надо, с установками из предыдущего запуска.

Изготовление заглушек.
Запустив в очередной раз Купца и увидев, что это отъело у системы 100 мб оперативки, задумался, а нет ли способов облегчить. Например, если у клиента оптовая торговля и ему не нужны производство, зарплата, бухгалтерия и т.п., то можно было бы облегчить дистрибутив, положив вместо соответствующих полнофункциональных dll заглушки. Заглушка это процедура с тем же названием и прототипом, но вместо рабочего кода содержит только сообщение об отключении. Не знаю, потребуется ли такой механизм в дальнейшем при нынешних характеристиках железа, но почему бы не сделать, так как это оказалось не сложно. Каждой dll в кларионе обычно соответствует репозитарий app. Все процедуры в app включаются в модули в соответствии с настройкой. Чаще это одна процедура на модуль, но может быть и больше. При создании нового модуля среда присваивает ему имя файла с сырцами, в который будет сгенерен код. Идея изготовления заглушек в том, что мы с помощью небольшого утилитного шаблона просматриваем все модули и процедуры в app, на место файла с сырцами перезаписываем свою пустышку и компилируем в dll. На втором скриншоте показан вызов утилитного шаблона. Таким образом, за пару щелчков можно любую dll превратить в заглушку. Чтобы вернуть назад, достаточно запустить сборку с безусловной кодогенерацией.
Миниатюры
Нажмите на изображение для увеличения
Название: debugIncl.jpg
Просмотров: 21
Размер:	167.5 Кб
ID:	12054   Нажмите на изображение для увеличения
Название: plug.jpg
Просмотров: 20
Размер:	223.2 Кб
ID:	12055  
Часовой пояс GMT +3, время: 16:36.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.