История изменений SaveToDB 8

История изменений SaveToDB 8

Версия 8.19 от 07.02.2019

Новые возможности:

  • Добавлена новая опция в диалоге настройки "Режим обновления строк таблиц":
    - Режим "Все ячейки" соответствует предыдущему поведению плагина.
    - Режим "Только измененные ячейки" позволяет сохранять изменения только для ячеек с измененными значениями.
    Новый режим требует сохранения полной копии исходных данных на скрытом листе SaveToDB_LoadedID и, соответственно, приводит к увеличению размера файлов.
    При изменении режима следует обновить данные в Excel.
  • Добавлены новые типы обработчиков событий: UpdateEntireRow и UpdateChangedCellsOnly, которые переопределяют режим обновления строк таблиц для заданного объекта.

Улучшения:

  • Плагин обновляет все запросы книги после изменений именованной ячейки с префиксом global_, за исключением листов с локальной ячейкой с тем же именем без префикса.
    Например, книга содержит несколько листов с запросами, которые имеют параметры category_id и time_id.
    В книгу можно добавить именованные ячейки global_category_id и global_time_id с видимостью в пределах книги на любом листе.
    При изменении категории или периода для любого запроса, плагин обновит глобальные именованные ячейки и запросы на других листах.
    Чтобы предотвратить изменение параметра на листе, следует добавить ячейки с видимостью в пределах листа. Для приведенного примера, category_id и time_id.
    См. пример Sample 03 - Budgeting, Sample 03 - Budgeting.xlsx в меню Мастера, Примеры онлайн.
  • Плагин не запрашивает сохранение изменений, если таблица или представление имеют обработчик событий change с сохранением в саму же таблицу или представление.
    Это позволяет реализовывать режим авто-сохранения изменений.
    См. пример Sample 02 - Advanced Features, Sample 02 - Advanced Features - User4 (Automatic Saving).xlsx в меню Мастера, Примеры онлайн.
  • Запросы списков проверки могут использовать параметры @DataLanguge или @data_language для вывода значений в зависимости от языка данных пользователя.
    См. пример Sample 02 - Advanced Features, Sample 02 - Advanced Features - User3 (Translation).xlsx в меню Мастера, Примеры онлайн.
  • Добавлена поддержка Microsoft Excel 2019 и Microsoft SQL Server 2019.
  • На ленте отображается до 12 параметров (вместо 6).
  • Имена обработчиков типа HTTP отображаются без схемы в меню Действия на ленте и контекстном меню.
  • SaveToDB Framework 9.0 и 9.1 предыдущих версий переименованы в 9.0a и 9.1a.
    Эти фреймворки разделены на три части:
    - SaveToDB Framework 9.0
    - SaveToDB Administrator Framework 9.0
    - SaveToDB Developer Framework 9.0
  • SaveToDB Framework 8.19 и 9.0 включают новые типы обработчиков:
    KeepFormulas и DoNotKeepFormulas,
    UpdateChangedCellsOnly и UpdateEntireRow.
  • SaveToDB Administrator Framework 9.0 for SQL Server включает новые процедуры:
    - xls.usp_object_permissions для управления правами на объекты базы данных,
    - xls.usp_database_permissions для управления правами базы данных,
    - xls.usp_principal_permissions для управления правами ролей и пользователей.
  • Меню "Мастера", "Онлайн-примеры" включает новые примеры SaveToDB 9.
  • Улучшено поведение подключения к базе данных в мастерах подключения.
  • Список запросов по умолчанию не включает объекты SQL-кода, если у пользователя нет разрешений на базовые объекты запросов.
  • Мастер установки приложений поддерживает команды USE для Azure SQL Database.

Исправленные ошибки:

  • Исправлено отсутствие rollback при ошибках обновления данных (ошибка добавлена в 8.15).
  • Исправлена ошибка перевода Yes/No в параметрах на ленте.
  • Исправлена возможная ошибка обновления сводных таблиц.
  • Исправлена возможная ошибка при конфликте переведенных имен колонок.
  • Исправлена загрузка пустых данных для http-запросов из макросов.
  • Исправлено отсутствие защиты строк для обработчиков ProtectRows сразу после обновления данных.
  • Исправлена потеря перевода строк в сообщениях сервера.
  • Исправлена ошибка обновления зависимых параметров в диалоге редактирования значений параметров.
  • Исправлена ошибка преобразования значений binary в GUID.
  • Исправлено преобразование значений для обработчиков типа RANGE.

Версия 8.18 от 21.12.2018

Улучшения:

  • Для обработчиков Change, SelectionChange, ValidationList, и SelectionList можно не указывать имена в полях HANDLER_SCHEMA и HANDLER_NAME.
  • Плагин не генерирует обработчик ProtectRows для объектов с обработчиками Change.
    Добавьте этот обработчик самостоятельно, если требуется предотвратить добавление или удаление строк.

Исправленные ошибки:

  • Плагин правильно экранирует символы \ и ' для Snowflake как \\\\ и ''''.
  • Исправлено исключение при отображении длинных веб-адресов в контекстном меню.
  • Исправлено исключение SecureChannelFailure.

Версия 8.17.1 от 04.12.2018

Исправленные ошибки:

  • Исправлена ошибка операции INSERT в параметрах @json_values_f1 и @json_values_f2.
  • Исправлена ошибка удаления ведущих пробелов в мастере публикации.

Версия 8.17 от 03.12.2018

Новые возможности:

  • Добавлен пакет установки плагина, который не требует для установки прав администратора.
  • Новый метод ReloadAllValidationLists позволяет обновлять списки проверки и списки значений параметров из макросов VBA.

Улучшения:

  • Пункт меню "Обновить списки значений" обновляет также списки значений параметров.
    В процессе отображается диалог прогресса с возможностью отмены.
  • Улучшена производительность диалогов сохранения и обновления всех таблиц книги.
  • Улучшена производительность мастера создания книг приложений.
  • Пункт меню "Удалить неиспользуемые списки проверки" перенесен в меню "Мастера для разработчиков".

Исправленные ошибки:

  • Исправлена ошибка метода ChangeAllConnectionStrings.
  • Исправлена ошибка сохранения данных из сводных таблиц.

Версия 8.16 от 29.11.2018

Новые возможности:

  • Добавлена возможность сохранения и слияния данных за счет единственного вызова заданной процедуры с параметром @json_changes_f1 или @json_changes_f2.
    Параметры получают весь набор данных для сохранения или слияния в формате JSON.
    @json_changes_f1 получает значения в формате массивов, а @json_changes_f2 - в формате объектов.
    Такой способ сохранения является более производительным, чем вызов процедур для каждой строки.
    Например, в тестах сохранение 100 000 строк занимает около 30 секунд для единственного вызова против 45 секунд сохранения построчно.
    Более того, процедуры сохранения на основе JSON являются универсальными, т.к. позволяют обновлять любую таблицу на основе полученных данных.
    Ниже представлен пример работы с данными Microsoft SQL Server в формате JSON:
    https://www.savetodb.com/downloads/sample_06.zip
    Вы можете использовать готовые процедуры для ваших приложений.
    Требуется SQL Server 2016 Express или выше.
    Для сохранения изменений процедура должна быть задана только в поле UPDATE_OBJECT или UPDATE_PROCEDURE, для слияния данных - только в поле INSERT_OBJECT или INSERT_PROCEDURE.
  • Добавлена возможность указания единственной процедуры в поле UPDATE_OBJECT или UPDATE_PROCEDURE.
    При этом плагин использует ее для всех операций INSERT, UPDATE, и DELETE.
    В процедуре можно использовать параметры @json_column и @json_values или @json_values_f2 для получения данных таблицы Excel, и @edit_action для определения операции.
    В такой единственной процедуре обязательно следует задать параметры для полей первичного ключа.
  • Добавлен контекстный параметр @json_values_f2, который получает значения строки таблицы в формате объекта JSON.
    Такой параметр может быть альтернативой использования двух параметров в виде массивов, @json_column и @json_values.
  • Добавлена кнопка "Показать строку подключенияquot;.
  • Новая функция ChangeAllConnectionStrings для изменения строк подключения из VBA.
  • Добавлено свойство Version для VBA.

Улучшения:

  • Улучшена производительность вставки большого количества строк в Excel.
    Например, вставка 100 000 строк выполняется менее секунды.
  • Улучшена производительность загрузки конфигурации за счет исключения повторной загрузки конфигурационных таблиц.
    При этом, при создании таких таблиц в базе данных, следует закрыть и открыть книги заново.
  • Мастер создания книг приложений отображает диалог прогресса с возможностью отмены.
  • Из значений переменных в формате JSON (@json_column, @json_values и другие) исключены поле _RowNum и поля, отмеченные обработчиками DoNotSave.
  • Добавлен параметр @json_values_f1, как синоним @json_values.

Исправленные ошибки:

  • Исправлена ошибка установки SaveToDB Framework 8.15 for SQL Server.
  • Исправлено отображение неактуальных серверов и баз данных в мастере подключения.
  • Исправлено возможное зависание мастера подключения при ошибках соединения.
  • Исправлено исключение GetQueryTable при работе с .NET провайдерами.

Версия 8.15 от 07.11.2018

Новые возможности:

  • В папку "Пуск", "Все программы", "SaveToDB" добавлена утилита "Диагностика установки", DiagTool.exe.
    Утилита позволяет диагностировать и исправлять различные ошибки, связанные с регистрацией плагина в Microsoft Excel.
  • Добавлена возможность сохранения и восстановления формул ячеек при обновлении данных.
    Это очень удобно, например, при использовании в системах бюджетирования.
    Эта возможность активна по умолчанию. Ее можно отключить в диалоге "Настройка".
    Также ее можно отключить для конкретного объекта базы данных с помощью нового типа обработчика DoNotKeepFormulas с пустым значением COLUMN_NAME.
    Возможно, ее стоит отключить, если формулы обычно ссылаются на строки выше или ниже и при этом структура строк меняется.
  • Добавлены новые типы обработчиков событий: KeepFormulas и DoNotKeepFormulas.
    Обработчик KeepFormulas предписывает использовать колонку, заданную в поле COLUMN_NAME, для сохранения и восстановления формул ячеек при обновлении данных.
    При этом, такие сохраненные формулы могут быть восстановлены другими пользователями.
    Например, сотрудники финансового отдела могут видеть формулы, которые использовались для расчетов бюджетных показателей сотрудниками других подразделений.
    Обработчик DoNotKeepFormulas позволяет отключить возможность сохранения формул для таблицы в целом или для колонки, заданной в COLUMN_NAME.
    Отключение можно использовать, чтобы всегда иметь фактические значения вместо формул или же не сохранять формулы для несущественных колонок.
  • Процедуры сохранения могут использовать новые контекстные параметры:
    @JsonColumns или @json_columns - массив имен колонок таблицы Excel;
    @JsonValues или @json_values - массив значений строки таблицы;
    @EditAction или @edit_action - тип операции изменения: INSERT, UPDATE, DELETE, MERGE;
    Данные параметры, вместе с параметром @TableName или @table_name, позволяют реализовать универсальные процедуры операций INSERT, UPDATE, DELETE.
  • Процедуры сохранения могут использовать новые контекстные параметры:
    @ChangedRowCount или @changed_row_count - количество измененных строк в запросе изменения данных;
    @ChangedRowIndex или @changed_row_index - номер строки в запросе.
    Данные параметры позволяют однозначно опрелить первую и последнюю операцию транзакции, и, соответственно, выполнять код инициализации и финализации изменений.
  • Добавлены новые типы обработчиков событий для меню действий на ленте и контекстного меню:
    ShowSheets - показать листы, перечисленные в поле HANDLER_CODE;
    HideSheets - скрыть листы, перечисленные в поле HANDLER_CODE;
    SelectSheet - выбрать лист, заданные в поле TARGET_WORKSHEET.
    Для первый двух типов обработчиков также можно задать лист, который следует активировать в поле TARGET_WORKSHEET.
    В значениях можно использовать имена листов или имена объектов базы данных.
    Например, удобно добавить два действия в меню: "Показать листы настройки" и "Скрыть листы настройки".
    При этом в обработчиках можно использовать имена объектов, чтобы не зависеть от имен листов.
    Например, поле HANDLER_CODE может содержать значение: xls.objects, xls.handlers, xls.workbooks, xls.translations.
  • Таблица обработчиков событий xls.handlers может содержать пустое поле HANDLER_CODE для объектов типа CODE, если таблица xls.objects содержит определение данного обработчика.
    Например, в таблице xls.objects можно определить объект xl_parameter_values_start_date с типом CODE и задать SQL код получения начальных дат.
    Соответственно, в таблице xls.handlers для обработчика ParameterValues можно задать имя xl_parameter_values_start_date в поле HANDLER_NAME с пустым полем HANDLER_CODE для любого количества объектов базы данных.
    Для исключения показа таких объектов в списках запросов, следует использовать префикс xl_.
    Предыдущие версии плагина при этом будут отображать такие объекты.
  • В мастер подключения к базе данных добавлена возможность авто-заполнения полей, включая имя и пароль пользователя, на основе предыдущих успешных подключений.
    Ранее эта возможность работала только при наличии успешного подключения в текущей книге.
    Строки подключения сохраняются в зашифрованном виде в файле
    C:\Users\<username>\AppData\Local\Gartle\Connections\savetodb.dll.config.
    Данные из этого файла не могут быть расшифрованы другим пользователем или на другом компьютере.
    Строки этого файла можно открыть и изменить с кнопки "Открыть кэш строк подключения" вкладки "Для разработчика" диалога настройки плагина.
  • Добавлена кнопка и пункт контекстного меню "Показать SQL".
    Это более быстрый способ получить CommandText запроса в два клика в более удобном окне.
  • Пункт контекстного меню "Гиперссылки" позволяет активировать листы и диапазоны внутри книги.
    Используйте обычный формат внутренних гиперссылок Microsoft Excel в ячейках таблицы: <Имя листа>!<Адрес ячейки>.
    Адрес ячейки можно опустить, оставив только имя листа и восклицательный знак.
    Эта возможность позволяет использовать оглавления листов книги, определенные в таблицах базы данных, и, таким образом, изменять описание без изменения самих книг.
  • Добавлена функция вызова мастера создания книг приложений из VBA:
    Function MakeWorkbook(ConnectionString As String, WorkbookName As String, Template As String) As Boolean
    Создание книги настройки за счет этого можно использовать в приложениях, которые используют Microsoft Excel и плагин в качестве системы отчетов.

Улучшения:

  • SaveToDB Framework 8.15 и 9.1 включают новые типы обработчиков событий и обновленное представление списка запросов.
  • Увеличено количество типов данных, при которых генерируется команда SELECT *, без дополнительных преобразований типов.
  • Разное поведение провайдеров и драйверов SQL Server в отношении типов дат и времени приведено к единому стандарту:
    DateTime и DateTime2(0) приводятся к типу даты в Excel;
    Time(0) приводится к типу времени (с 0 датой) в Excel;
    Остальные типы (DateTime2(n), Time(n) и DateTimeOffset2) приводятся к строкам.
    При этом, плагин сохраняет точность тысячных долей секунды до 7 знаков.
    Например, можно задать значение 07.11.2018 15:00:00.123.
  • Типы данных binary(16) и char(36) приводятся к типам uniqueidentifier (guid).
    Эти типы можно использовать, например, в MySQL и SQLite, которые не имеют встроенного типа.
    Если такие поля используются в качестве первичного ключа, то плагин генерирует новое значение guid автоматически.
    Для Microsoft SQL Server значения не генерируется, если есть значение по-умолчанию, например, newid().
    Такие поля трактуются как IS_IDENTITY.
  • Добавлена поддержка времени в формате HHH:mm:ss для MySQL.
  • Добавлена поддержка типов данных geography и geometry Microsoft SQL Server, включая сохранение изменений.
  • Провайдер SQLite обновлен до версии 3.24.0.
    Новая версия поддерживает команды UPSERT.
  • Процедуры INSERT_OBJECT, UPDATE_OBJECT и DELETE_OBJECT таблицы xls.objects могут содержать SQL код, который вызывает хранимые процедуры с параметрами.
    Поддерживаются вызовы CALL, EXEC и EXECUTE.
  • Улучшено поведение обработчиков событий ContextMenu и SelectionChange для вывода зависимых запросов.
    Для значения _NEW в поле TARGET_WORKSHEET запрашивается адрес вставки таблицы, если она еще не создана, а не создается новый лист.
    Таким образом, новое поведение предотвращает создание новых листов, если запрос уже был отработан.
    Обработчики отображают скрытые листы по необходимости.
    Можно использовать несколько обработчиков SelectionChange.
  • Обработчик событий DoNotSave с пустым полем COLUMN_NAME отключает также операцию слияния.
  • Улучшены правила применения условного форматирования и списков проверки, которые применяются при первом подключении таблиц без сохраненных форматов.
    Для полей не создается список проверки по умолчанию, если для поля задан список проверки обработчиком ValidationList или SelectionList.
    Проверка значений дат и времени не добавляется для полей, которые содержат тысячные доли секунды, например, datetime2(3) или time(3).
    Проверка значений дат не добавляется для полей с временной зоной, например, datetimeoffset.
    Применение условного форматирования для поле NOT NULL можно отключать в диалоге "Настройка".
  • В таблице xls.objects можно указать тип TABLE_TYPE HIDDEN для любого объекта, включая таблицы.
    Такие объекты исключаются из списка запросов по умолчанию и списка запроса xls.queries SaveToDB Framework.
  • Подавлено возможное сообщение Microsoft Excel о выборе правил сотрировки при обновлении таблиц.
  • Форма отображения HTML позволяет открывать ссылки http, https и mailto во внешнем браузере.
    Форма сохраняет и восстанавливает размеры.
    В форме отключены события переходов и обновления, отключено контекстное меню.
  • Улучшено поведение форм "Просмотр кода сохранения изменений" и "Просмотр кода сохранения слиянием".
  • Мастер создания книг приложений позволяет создавать таблицы (ListObject) с заданными именами.
    Также мастер позволяет создавать скрытые листы.
    Информация о новых возможностях задается в параметрах.
    Диалоговое окно "Информация о книге" выводит определение книги с учетом этих новых возможностей.
    Плагины предыдущих версий будут игнорировать эти настройки.
  • В функции определения необходимых полей для создания задач, встреч и писем в Microsoft Outlook добавлены варианты имен в стиле MySQL:
    all_day_event, busy_status, due_date, end, end_time, reminder_set, required_attendees, sent_on_behalf_of_name, start, start_date, start_time.
  • Диалоговое окно "Информация о книге" включает новую вкладку "Настройки" для отображения региональных настроек Microsoft Excel.
    Эту информацию следует выслать нам, если есть проблемы с преобразованием значений с учетом региональных настроек.
  • Плагин преобразует значения типа bit в значения 1 и 0 для полей хранимых процедур и SQL кода Microsoft SQL Server.
    Эту опцию можно отключить в настройках плагина.

Исправленные ошибки:

  • Исправлена ошибка вывода пустых значений для типов nvarchar(max), varchar(max) и xml при использовании драйверов SQL Server ODBC версий 11/13/17.
    Это ошибка Microsoft Excel (2007/2010/2013/2016) при работе с этими драйверами.
    При выводе таких полей, плагин использует приведение к ntext: CAST([<field>] AS ntext) AS [<field>].
    Это важно знать при переключении драйвера в подключении таблиц.
  • Исправлена ошибка получения объекта и полей запроса SELECT при использовании функций:
    DATEADD, CONVERT, RAWTOHEX, VARCHAR_FORMAT, TIME_TO_SEC, MIDNIGHT_SECONDS.
    Ниже приведен набор распознаваемых преобразований, которые используются плагином:
    SELECT 1.0*MIDNIGHT_SECONDS("TIME")/86400 AS "TIME"
    SELECT 1.0000000*TIME_TO_SEC(`time`)/86400 AS `time`
    SELECT CAST([id] AS VARCHAR(255)) AS [id]
    SELECT CONVERT(CHAR(18), CONVERT(BINARY(8), [rowversion]), 1) AS [rowversion]
    SELECT DATEADD(DAY, -1, CAST([time] AS DATETIME)) AS [time]
    SELECT RAWTOHEX("RAW") AS "RAW"
    SELECT VARCHAR_FORMAT("TIMESTAMP", 'YYYY-MM-DD HH24:MI:SS.FF1') AS "TIMESTAMP"
  • Исправлена ошибка использования имен значений вместо идентификаторов в операциях слияния.
  • Исправлена возможная ошибка фиксирования области при восстановлении формата таблицы.

Версия 8.14 от 25.09.2018

Новые возможности:

  • Добавлена поддержка работы с облачным хранилищем данных Snowflake.
  • Добавлен SaveToDB Framework 8.14 for Snowflake.
  • Добавлен пример для Snowflake.
  • Добавлены встроенные списки запросов INFORMATION_SCHEMA для Microsoft SQL Server, SQL Azure Data Warehouse, SQL Server Compact, MySQL, PostgreSQL, и Snowflake.

Улучшения:

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

Исправленные ошибки:

  • Исправлена ошибка сохранения изменений из представлений и хранимых процедур Oracle Database и DB2.
  • Исправлена ошибка подключения к PostgreSQL 8 и Amazon Redshift.
  • Исправлена ошибка методов VBA SaveByMergeDirect и GetSaveByMergeDirectSQL.

Версия 8.13 от 17.09.2018

Исправленные ошибки:

  • Исправлена ошибка преобразования значений типа date SQL Server в даты в отфильтрованных диапазонах.
  • Исправлена ошибка методов VBA SaveByMergeDirect и GetSaveByMergeDirectSQL.

Версия 8.12 от 12.09.2018

Исправленные ошибки:

  • Исправлена ошибка создания динамического списка проверки вместо обычного.
    Чтобы воспроизвести ошибку, следует указать поля типа 'id, code' в поле HANDLER_CODE для таблицы, которая также содержит поле code.
    Если такая ошибка проявится в будущем, то следует задать псевдонимы id и name. Например: 'id AS id, code AS name'.
    Плагин не создает динамические списки для этой пары имен.
  • Исправлена ошибка исключения NullReference при обновлении данных.

Версия 8.11 от 10.09.2018

Важные изменения

  • В мастер установки приложений добавлен SaveToDB Framework 9.0 for Microsoft SQL Server.
    Документация: https://www.savetodb.com/help/savetodb-framework.htm.
  • В мастер установки приложений добавлен Database Help Framework 1.0 for Microsoft SQL Server.
    Документация: https://www.savetodb.com/help/database-help-framework.htm.
  • В мастере установки приложений обновлен Change Tracking Framework 2.0 for Microsoft SQL Server.
    Документация: https://www.savetodb.com/help/change-tracking-framework.htm.
  • Обновлено приложение Planning Application 2.5 for Microsoft SQL Server.
    Приложение исключено из мастера установки приложений плагина. Его можно загрузить отдельно.
    Мастер создания книг приложений содержит обновленный набор книг.
    Добавлена полная документация базы данных: https://www.savetodb.com/help/planning-application.htm.
  • Прекращена поддержка конфигурации обработчиков событий в формате SaveToDB 2.x - 4.x.
  • Прекращена поддержка конфигурации списков значений в формате SaveToDB 2.x - 4.x.
  • Прекращена поддержка конфигурации списков объектов в формате SaveToDB 2.x - 4.x.

Новые возможности:

  • Добавлен SaveToDB Framework 9.0 for Microsoft SQL Server.
    Описание возможностей приведено ниже.
    Плагин SaveToDB 8 поддерживает все возможности. Поэтому мы рекомендуем обновить SaveToDB Framework 8 на новую версию.
    Установить и обновить фреймворк можно с помощью мастера установки приложений.
  • Добавлена поддержка работы с Azure SQL Data Warehouse.
  • Добавлен SaveToDB Framework 8.11 for Azure SQL Data Warehouse.
  • Добавлен Database Help Framework 1.0, который позволяет документировать базы данных и генерировать документацию.
    Пример документации: https://www.savetodb.com/help/planning-application.htm.
    Установить фреймворк можно с помощью мастера установки приложений.
    Для редактирования документации можно сгенерировать книгу, используя мастер создания книг приложений.
  • Добавлена полная поддержка имен объектов и полей со специальными символами: .,;:'"`~+-*\/|<>[](){}=@%!?&#$
    Для получения значений полей в параметрах процедур и SQL-кода, а также именованных ячейках, можно использовать кодовые вставки в формате _xHHHH_, где HHHH - шестнадцатеричный код символа.
    Например, для получения значений поля ['] можно использовать параметр @_x0027_
    Для получения имен параметров можно использовать функцию xls.get_escaped_parameter_name из состава SaveToDB Framework 9.0.
    Для обратного преобразования параметров в имена полей можно использовать функцию xls.get_unescaped_parameter_name.
  • Добавлена поддержка работы с таблицами при отключенных заголовках.
  • Обработчики событий возвращают сообщения сервера баз данных.
    Например, для SQL Server можно использовать команды PRINT.
    Эта опция особенно полезна, если для обработчика задана опция _reload, при которой сообщения не выводятся.

Новые возможности SaveToDB Framework 9:

  • Добавлена процедура xls.xl_actions_generate_procedures для генерации готовых к использованию объектов:
    - представлений и процедур SELECT из таблиц и представлений;
    - процедур сохранения изменений для операций INSERT, UPDATE, DELETE;
    - процедур обработчиков событий Change;
  • Добавлена процедура xls.xl_actions_generate_handlers для генерации шаблонов обработчиков событий:
    - Actions;
    - ContextMenu;
    - DoubleClick;
    - SelectionChange;
    - ParameterValues.
  • Меню "Действия" (Actions) включает пункты меню для генерации объектов.
    Для отключения этой возможности можно установить разрешение DENY SELECT на представление xls.view_developer_handlers.
  • Добавлена процедура xls.xl_actions_generate_constraints для генерации первичных, уникальных и внешних ключей.
    Для генерации удобно использовать представления xls.view_primary_keys, xls.view_unique_keys, xls.view_foreign_keys.
  • Добавлена процедура xls.usp_translations для удобного перевода имен объектов, полей и параметров.
  • Добавлено представление xls.view_all_translations для удобного перевода сразу на несколько языков.
  • Добавлена процедура xls.usp_role_members для управления ролями пользователей.
  • Добавлена процедура xls.xl_export_settings и набор соответствующих процедур для экспорта-импорта настроек.
  • Добавлена роль xls_formats, которая включает право сохранения форматов таблиц в таблицу xls.formats.
    Добавление пользователей в эту роль является более простым действием, чем установка необходимых разрешений на саму таблицу.
    Для добавления или удаления пользователей из роли можно использовать форму на основе процедуры xls.usp_role_members.
  • Добавлена процедура xls.xl_actions_set_role_permissions, которая настраивает разрешения для ролей фреймворка.
  • Мастер создания книг приложений включает новую книгу настройки SaveToDB Framework 9, которая включает все новые возможности.
  • Меню "Действия" (Actions) включает обновленные ссылки на документацию плагина и непосредственно объекты SaveToDB Framework:
    https://www.savetodb.com/help/savetodb-framework.htm.

Улучшения:

  • Обновлен SaveToDB Framework 8.11.
    Установить обновление можно с помощью мастера установки приложений.
  • При наличии поля rownum (номер строки в таблице Excel), процедура вставки вызывается для новых строк, которые даже не содержат значений.
    Это позволяет гарантированно получать список всех строк с измененными номерами.
  • Мастер создания книг выводит список книг, отсортированный по наименованиям.
  • Мастер создания книг позволяет создавать книги с языком, заданным в параметре WorkbookLanguage.
    Определение книги в диалоговом окне "Информация о книге для разработчика" содержит определение языка, если он задан в книге.
  • Улучшена поддержка ошибок драйверов ODBC.
  • При восстановлении формата таблицы также восстанавливается цвет ярлычка листа.
  • Вкладка плагина в Excel 2013 отображается в верхнем регистре.
  • Обработчики событий VALUES и RANGE могут не иметь имен в полях HANDLER_SCHEMA и HANDLER_NAME.
  • Плагин наследует данные параметров SQL кода запуска процедур из самих процедур.
    Это позволяет не наследовать настройки списков значений параметров SQL кода, а также автоматически проверять типы введенных значений.
  • Оптимизирована процедура сохранения форматов таблиц при наличии нескольких вариантов.
  • Обработчики DoNotSave можно использовать для отключения сохранения полей, которые содержат формулы, на этапе обновления.
    Иначе, плагин сохраняет значения формульных колонок, чтобы проверить наличие изменений в строке перед сохранением.

Исправленные ошибки:

  • Исправлена ошибка вставки таблиц при стиле адресов RC.
  • Исправлена ошибка загрузки значений, начинающихся с одинарной кавычки.
  • Исправлена преобразование дат в списках проверки значений.
  • Исправлена ошибка мастера слияния данных.
  • Исправлена ошибка мастера публикации данных.
  • Исправлена ошибка выделения таблиц при обновлении всех таблиц книги.
  • Исправлена ошибка игнорирования событий изменения в текстовых ячейках, начинающихся со знака равно.
    К сведению, плагин не обрабатывает события изменений формул в колонках.
    При этом обработчик вызывается, если таблица содержит только одну строку.
  • Исправлена ошибка пропуска загрузки обработчиков для процедур обработчиков с выводом _TaskPane.
  • Исправлена ошибка пропуска замены битовых значений на отфильтрованных диапазонах.
  • Исправлена ошибка дублирования таблиц динамических списков валидации.
  • Исправлена ошибка обновления списков проверки при наличии длинных списков проверки типа VALUES.
  • Исправлена возможная ошибка загрузки перевода из представлений настройки перевода.
  • Исправлена ошибка BOM UTF8 в сохраненных файлах слияния.
  • Исправлена ошибка игнорирования обработчиков DoNotChange при отсутствии обработчиков Change.
  • Исправлена ошибка игнорирования изменений в таблицах из полей.

Версия 8.10 от 25.07.2018

Новые возможности:

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

Улучшения:

  • Значительно уменьшены требования к памяти при работе с большими объемами данных.
    Например, для слияния 400 тысяч записей в базу данных требуется около 500MB вместо 6GB.
  • Значительно улучшена скорость загрузки больших объемов данных из MySQL и PostgreSQL.
    Например, загрузка 400 тысяч записей занимает около 10 секунд вместо 50.

Исправленные ошибки:

  • Исправлено игнорирование процедур INSERT_PROCEDURE, UPDATE_PROCEDURE, DELETE_PROCEDURE в некоторых случаях.
  • Исправлена ошибка вставки значений в колонки, вычисляемые по формулам обработчиков событий.
  • Исправлена ошибка отображения значений типов Boolean на ленте.

Версия 8.9.2 от 13.07.2018

Улучшения:

  • В меню Мастера, Примеры онлайн добавлен пример "Руководство разработчика 8.9 - Динамические списки значений".
    Исходный код примера можно загрузить в составе SaveToDB SDK.

Исправленные ошибки:

  • Исправлена ошибка динамических списков валидации.

Версия 8.9.1 от 11.07.2018

Исправленные ошибки:

  • Исправлена ошибка пустых списков валидации.
  • Исправлена ошибка перевода значений битовых полей на ленте.
  • Исправлена ошибка игнорирования процедур редактирования для запросов на основе одной таблицы.
  • Исправлена ошибка при добавлении полей форм.

Версия 8.9 от 22.06.2018

Бесплатная редакция SaveToDB Express более недоступна для активации.

Существующие пользователи могут продолжать использовать ее.

Версия 8.8.3 от 18.06.2018

Исправленные ошибки:

  • Исправлена ошибка создания списков валидации из двух колонок в некоторых ситуациях.
  • Исправлена ошибка списков валидации VALUES для строк длиной более 255 символов.
  • Исправлена ошибка "Member not found" для объектов Sort и AutoFilter в версии Excel 16.0.10228.20021.
  • Исправлено сообщение об ошибке на листах диаграмм.
  • Исправлено сообщение об ошибке при нажатии Esc при загрузке защищенных книг.

Версия 8.8.2 от 29.05.2018

Улучшения:

  • Поддержка типов GUID в параметрах ленты и списках проверки значений
  • Поддержка пользовательских формул итогов в форматах таблиц

Исправленные ошибки:

  • Исправлена возможная ошибка при вставке таблиц
  • Исправлена возможная ошибка запуска диалога вставки формул при применении форматов
  • Исправлена возможная ошибка потери перевода колонок

Версия 8.8.1 от 25.05.2018

Улучшения:

  • Обновлен парсер JSON
  • Мастер регистрации использует HTTPs

Исправленные ошибки:

  • Исправлена ошибка Null Reference в редакторе строк
  • Исправлена ошибка SendFailure в запросах HTTPs TLS 1.2

Версия 8.8 от 24.05.2018

Добавлена редакция SaveToDB Standard. Редакция аналогична SaveToDB Enterprise за исключением поддержки обработчиков событий Change.

Версия 8.8 включает новым мастер активации продуктов, соответствующий требованиям закона РФ 152-ФЗ и Европейского GDPR.

Новые возможности:

  • Добавлена новая панель редактора строк, которую можно использовать для просмотра и редактирования данных всех колонок строки.
    Панель особенно удобно использовать для таблиц с большим количеством колонок, в т.ч. скрытых.
    Обязательно попробуйте ее возможности.
  • Добавлена возможность использования динамических списков значений.
    Например, таблица содержит поля страны и региона и есть отдельная таблица соответствия стран и регионов, которая используется в виде списка значений.
    При этом, если пользователь выберет в ячейке новую страну, то в ячейке региона он сможет выбрать только регионы выбранной страны.
    Такие списки значений должны содержать дополнительную колонку фильтра. Например: id, state, country_id
    При использовании таблиц и представлений, поля можно задать прямо в поле HANDLER_CODE обработчиков событий ValidationList.
    Динамические списки запросов реализуются в виде именованных динамических формул.
  • Плагин автоматически обновляет списки значений, которые содержат параметры, присутствующие в базовом запросе.
    Например, таблица данных содержит колонки страны и региона. Если, на ленте выбрать конкретную страну, то плагин обновит таблицу данных, выведя только регионы страны, и обновит список значений регионов, чтобы можно было выбрать только регион страны.
    При использовании таблиц и представлений, параметры можно задать в поле HANDLER_CODE и SELECT_CODE в виде набора полей, например: id, state, @country_id.
    В данном случае, список значений выводит значения id и state, используя country_id в качестве параметра WHERE.
  • При изменении именованных ячеек с префиксами global_, плагин изменяет значения параметров запросов на всех листах книги.
    Например, если ячейка имеет имя global_order_id, то при ее изменении будут изменены значения параметров order_id у всех запросов.
  • Запросы списков значений параметров могут использовать контекстные значения аналогично другим запросам, в том числе значения именованных ячеек.
    Например, на ленте следует дать возможность выбрать номер ордера.
    Т.к. значений очень много, это неудобно. Для решения задачи можно определить именованные ячейки на листе, например customer и order_date, и использовать параметры @customer и @order_date в запросе, который выводит ордера.
    Соответственно, пользователь может выбрать покупателя в ячейке и получить только его ордера, или же выбрать дату, и получить список ордеров за дату.
    Для обновления таких списков значений следует обновить таблицу.
    В качестве альтернативы можно также использовать способ, доступный в предыдущих версиях: добавить псевдо-параметры @customer и @order_date в базовый запрос.
    При этом плагин поместит их на ленту и будет использовать в запросе списка ордеров, обновляя его при каждом изменении параметра на ленте.
  • Добавлен новый тип обработчиков событий ManyToMany, который позволяет удобно редактировать таблицы с отношениями многие-ко-многим.
    Например, таблица region_managers может содержать уникальный ключ из двух полей region_id и manager_id.
    Если для обоих полей задать обработчик ManyToMany, то при выборе значения region_id на ленте, в таблицу будут добавлены все менеджеры, чтобы их было просто назначить или снять назначение.
    Аналогично, если выбрать на ленте значение manager_id, а region_id оставить пустым, то в таблицу будут добавлены все регионы.
    Плагин генерирует такие обработчики для таблиц автоматически, если для таблицы не задан ни один обработчик ManyToMany или DoNotAddManyToMany.
    Вы можете перенести такую конфигурацию для представлений и хранимых процедур, которые выводят данные многие-ко-многим.
  • Добавлен пункт меню "Обновить списки значений", который часто можно использовать вместо "Обновить данные и конфигурацию".
    Такое обновление списков работает значительно быстрее.
  • Добавлен пункт меню "Удалить неиспользуемые списки", который можно использовать для удаления неиспользуемых список значений со скрытого листа SaveToDB_Lists.
  • Добавлен пункт меню "Сохранить формат таблицы" и "Обновить формат таблицы", которые можно использовать для быстрого сохранения и обновления формата из базы данных вместо мастера управления форматами таблиц.
    Для работы требуется установленный SaveToDB Framework.
  • Добавлен пункт меню "Настройка ленты", который позволяет скрыть неиспользуемые пункты меню плагина.
    При этом пункты можно скрыть для плагина в целом или же для активной книги.
    Для активной книги можно также заблокировать некоторые возможности Excel по работе с данными.
    Данная возможность направлена на повышение эффективности работы пользователей, уменьшение необходимого времени обучения и повышение надежности приложений.
  • Добавлена возможность добавления задач, встреч и сообщений электронной почты на основе строк таблиц в Outlook.
    Таблицы должны содержать необходимые поля, чтобы плагин смог создать объект Outlook.
    В этом случае плагин добавляет пункты "Создать задачу", "Создать встречу", "Создать письмо" в контекстное меню.
    Это достаточно просто. В качестве шаблона можно использовать пример "Интеграция с Outlook" из меню Мастера, Примеры онлайн.
    Также исходный код примера можно скачать в составе SaveToDB SDK 8.8.
    Эта возможность доступна только в редакциях Personal, Standard и Enterprise.
  • Добавлены функции VBA для добавления задач, встреч и сообщений электронной почты на основе строк таблиц в Outlook:
    AddOutlookAppointments, AddOutlookTasks, AddOutlookEmails, AddOutlookAppointment, AddOutlookEmail, AddOutlookTask.
    В качестве шаблона можно использовать пример Интеграция с Outlook из меню Мастера, Примеры онлайн.
  • Добавлено меню Мастера, Мастер для разработчиков, которое включило полезные пункты из разных разделов плагина.
  • В меню для разработчиков добавлен Мастер публикации книги.
    Мастер удаляет все данные разработчика из книги, включая пароли и загруженные данные, оставляя при этом необходимую конфигурацию.
    За счет этого, книгу можно пересылать по электронной почте, публиковать или использовать в качестве шаблона мастера создания книг настройки.
  • SaveToDB Framework 8.8 включает новые типы EventHandlers: ManyToMany и DoNotAddManyToMany.
  • В меню Мастера, Примеры онлайн добавлен пример "Интеграция с Outlook".
  • В меню Мастера, Примеры онлайн добавлен пример "Руководство разработчика 8.8 - Динамические списки значений"
  • В меню Мастера, Примеры онлайн добавлен пример "Руководство разработчика 8.8 - Формы многие-ко-многим"
  • SaveToDB SDK 8.8 включает исходный код новых примеров.

Улучшения:

  • Плагин предотвращает операции, которые могут привести к отключению колонки от обновления из базы данных.
    Простой пример такой операции - выделить колонку листа в пересечении с подключенной таблицей, нажать Ctrl-C, потом Ctrl-V.
    В предыдущих версиях это могло приводить к искажениям данных.
    Поэтому желательно обновить вашу версию до 8.8.
  • Плагин предотвращает операции вырезания и вставки в таблицах данных.
    Операции вырезания приводили к потере форматов и списков проверки.
  • Контекстное меню SaveToDB Drill-Down переименовано в Actions.
  • Значительно увеличена скорость загрузки списков объектов больших баз данных.
  • Обновлено меню Мастера.
  • Плагин обновляет PivotItems при изменении списков проверки, заданных обработчиками ValidationList, включая даты.
    Например, можно поместить поле страна на ленту, а регионы в строки сводной таблицы.
    При изменении страны на ленте, плагин заменит строки регионов.
  • При наличии нескольких таблиц на листе и активной ячейке вне любой из таблиц, кнопки "Сохранить" и "Обновить" действуют как "Сохранить все таблицы листа" и "Обновить все таблицы листа".
    В предыдущих версиях, кнопки были просто заблокированы.
  • Плагин автоматически создает списки проверки для таблиц внешнего ключа, содержащих всего одну колонку.
    В предыдущих версиях требовалось как минимум два поля, выполняющих роль id и name.
  • Плагин автоматически создает конфигурацию на основе отношений внешнего ключа для SQLite, аналогично возможностям для других СУБД.
  • В полях HANDLER_CODE, SELECT_CODE и TABLE_CODE можно использовать синонимы полей, как [field] AS [alias].
  • Зависимые таблицы данных обновляются после обновления основной таблицы из меню Excel.
  • Редактор ячеек активируется также для ячеек, которые содержат более 50 символов.
  • Улучшено присвоение имен таблицам списков значений на листе SaveToDB_Lists.
    Имена включают имена исходного объекта и колонок.
    Это может привести к несовместимости с VBA кодом, если он использует конкретные имена таблиц.
    Для существующих таблиц имена не меняются.
  • Плагин не переустанавливает диапазон печати на новую таблицу данных, если диапазон печати установлен вне таблицы.
  • Пункт меню Сохранить становится недоступным при удалении колонки с номерами строк _RowNum.
  • Плагин проводит замену значений идентификаторов на наименования, если для колонки задан обработчик SelectionList, который выводит две колонки.
  • Обновлен набор активных пунктов меню, отображаемых в режиме "Скрыть неосновные пункты меню".

Исправленные ошибки:

  • Исправлена ошибка перевода полей хранимых процедур.
  • Исправлена ошибка отсутствия книги управления правами баз данных SQL Server в Мастере создания книг приложений.
  • Исправлена ошибка адреса вставки второй таблицы в Мастере подключения к данным.
  • Исправлены возможные ошибки при создании отчетов Excel из обработчиков событий типа REPORT.
  • Исправлена ошибка преобразования значений колонок типа date SQL Server в значения типа даты Excel в списках проверки.
  • Исправлено мерцание экрана при обновлении таблиц на листах с макросами Sheet_Change.
  • Исправлено обновление сводных таблиц при пустых диапазонах данных.
  • Исправлена ошибка записи лога, если лог не определен в SaveToDB.dll.config.
  • Исправлено определение доступности некоторых пунктов меню в зависимости от наличия таблиц Excel и сводных таблиц на листе.
  • Исправлена ошибка сортировки таблиц списков значений на листе SaveToDB_Lists, которая могла приводит к проблемам со списками проверки.

Версия 8.7.6 от 26.03.2018

Улучшения:

  • Панель списка значений отображает значения динамических диапазонов.
    Вы можете загрузить тестовую книгу с динамическими списками проверки:
    https://www.savetodb.com/downloads/dynamic-validation-lists.xlsx
  • Мастер слияния данных генерирует команды INSERT без условия WHERE, если исходная таблица не содержит первичных ключей.

Исправленные ошибки:

  • Исправлена ошибка совместимости с PowerPivot.
  • Исправлены ошибки удаления именованных ячеек.
  • Исправлена возможная ошибка установки плагина.
  • Исправлена ошибка неправильного отображения целевого сервера в диалоге экспорта данных в виде команд INSERT.

Версия 8.7.5 от 21.03.2018

Улучшения:

  • Обновлен провайдер SQLite на версию 1.0.108.0.

Исправленные ошибки:

  • Исправлена возможная ошибка установки плагина.
  • Исправлена ошибка загрузки конфигурации при отсутствии таблицы обработчиков событий.
  • Исправлена ошибка записи лога.
  • Исправлено определение первичных ключей, внешних ключей и индексов таблиц SQLite.
  • Исправлено сообщение об ошибке файла базы данных SQLite при подключении с паролем.
  • Исправлена ошибка совместимости с PowerPivot.

Версия 8.7.3 от 15.03.2018

Улучшения:

  • Конвертация дат в формате "dd MMM yyyy" из текстовых файлов и веб-источников в даты.

Исправленные ошибки:

  • Исправлена потеря выделения активного объекта в мастере подключения.

Версия 8.7.2 от 13.03.2018

Исправленные ошибки:

  • Исправлена ошибка с командой "SELECT * FROM".

Версия 8.7 от 12.03.2018

Изменения, нарушающие совместимость:

  • Плагин использует списки проверки Excel для замены значений id на наименования.
    Фактически, это такое же поведение как для обработчиков ValidationList, настроенных в базе данных.
    К примеру, если список проверки значений содержит колонки ID и NAME, то плагин будет менять значения колонки ID на NAME.
    Для исключения преобразований, можно использовать список проверки с одной колонкой или добавить обработчик DoNotAddValidation в таблицу xls.handlers.
  • Плагин не добавляет списки проверки автоматически, если для таблицы настроен хотя бы один обработчик ValidationList.
    Это делает поведение плагина совместимым с SaveToDB 7, но меняет его по отношению к предыдущим версиям SaveToDB 8.
    В SaveToDB 8 можно просто добавить недостающие обработчики, т.к. часть уже определена.
    Приложения SaveToDB 7 будут иметь аналогичное поведение при обновлении на SaveToDB 8.
  • Плагин преобразовывает значения id в наименования, если для колонки задан обработчик SelectionChange, который возвращает две колонки.
    За счет этого обработчики SelectionList и ValidationList имеют одинаковое поведение, за исключением добавления списков проверки в Excel.
    Для исключения преобразований, можно просто возвращать результат из одной колонки.

Новые возможности:

  • Плагин позволяет создавать книги на основе конфигурации в базе данных с помощью мастера создания книг.
    Это эффективный способ развертывания и обновления книг приложений.
  • SaveToDB Framework 8.7.
    Фреймворк включает таблицу xls.workbooks, которая используется для настройки мастера создания книг.
  • Редакция SaveToDB Enterprise позволяет использовать таблицы в качестве обработчиков событий Change.
    Используйте эту возможность, чтобы обновлять определенные поля таблиц из представлений и хранимых процедур без написания кода.
  • Мастер установки приложений, мастер создания книг, и SaveToDB SDK включают новый пример Cash Flow 81, который демонстрирует использование таблиц как обработчиков событий.
  • SaveToDB SDK включает пример ETL, который демонстрирует использование плагина для преобразования файлов CSV.
    Вы можете настроить пример под ваши задачи с минимальным знанием VBA.
  • Новая функция VBA для расчета хэша md5: md5.

Улучшения:

  • Значительно улучшена производительность обновления конфигурации для больших баз данных. Плагин использует отложенный анализ кода объектов базы данных.
  • Значительно улучшена производительность фильтра значений в панели списка значений.
  • SaveToDB Framework 8.7 и SaveToDB Framework 7.19.
    Фреймворки включают более простые пакеты обновлений.
    Фреймворки для Microsoft SQL Server удаляет пользователей из ролей фреймворка при удалении.
    Командные файлы можно запускать из защищенных директорий или носителей с доступом только на чтение.
  • SaveToDB Framework 7.19 включает код для экспорта настроек в SaveToDB Framework 8.
  • Обновлен пример Cash Flow 80.
  • Улучшен диалог информации о книге.
    Диалог сохраняет и восстанавливает настройки размеров.
    Таблицы диалога имеют тот же набор и порядок полей, что и SaveToDB Framework.
    Это позволяет просто копировать настройки из диалога в книгу настройки SaveToDB Framework.
    Добавлено контекстное меню для копирования значений.
  • Улучшен мастер установки приложений.
  • Улучшено определение объектов для вывода в списках запросов.
  • Функции VBA SaveQueryAsCSV и SaveTableAsCSV имеют новый параметр - QuoteChar.
    Для удаления двойных кавычек из выходного CSV-файла следует задать пустое значение.
  • В полях HANDLER_CODE и SELECT_CODE для таблиц и представлений можно использовать функции.
    Например, YEAR([Date]) для ValidationList выведет список уникальный список лет для колонки дат.
  • Улучшено протоколирование загрузки и анализа кода.

Исправленные ошибки:

  • Исправлена ошибка некорректного порядка колонок списков проверки значений на основе таблиц.
  • Исправлена ошибка кэширования типа обработчика событий SelectionList.
  • Исправлена ошибка пункта "Сохранить данные запроса как" при запуске на таблице без подключения.
  • Исправлена ошибка создания списков проверки на таблицах с тире в именах полей.

Версия 8.6 от 21.02.2018

Новые возможности:

  • Добавлен пример Invoices, который демонстрирует новые возможности SaveToDB 8.6
    Пример можно попробовать из Мастера создания книг приложений.
    Можно создать базу данных примера с помощью Мастера установки приложений.
    Также, исходный код примера можно получить в составе SaveToDB SDK 8.6.
  • SaveToDB Framework 8.6 включает новые типы обработчиков и обновленное представление xls.queries.
    Установить обновление можно с помощью Мастера установки приложений.
  • Представление xls.queries выводит объекты типа CODE, HTTP и TEXT из таблицы xls.objects.
    За счет этого, xls.queries и xls.objects полностью аналогичны dbo01.viewQueryList и dbo01.QueryList SaveToDB Framework 7.
    Но при этом, плагин применяет настройки из xls.objects и для списка объектов по умолчанию.
  • В таблице xls.objects можно указать тип HIDDEN для существующих таблиц, представлений и хранимых процедур.
    Такие объекты не показываются в списках запросов.
  • Добавлена возможность указания "основных" таблиц за счет обработчиков с EVENT_NAME = DefaultListObject.
    Плагин отображает параметры основных таблиц на ленте, даже если на листе находится несколько таблиц и активная ячейка находится вне таблиц.
  • Добавлена возможность синхронизации поведения нескольких таблиц на листе.
    Например, для объектов order_header и order_details может быть общий параметр @order_id.
    И если изменить его для одной таблицы, то вторая будет обновлена автоматически.
    Для связи двух таблиц требуются два зеркальных обработчика с EVENT_NAME = SyncParameter и указанием имени параметра в COLUMN_NAME.
    См. пример использования в примере Invoices.
  • Добавлена возможность создания документов PDF и книг Excel для печати из контекстного меню и меню Actions.
    В обработчиках событий Actions и ContextMenu в поле HANDLER_TYPE следует указать типы PDF и REPORT.
    По умолчанию, документы создаются для активного листа. В параметре WORKSHEET можно задать список листов.
    См. пример использования в примере Invoices.
  • Макросы могут использовать следующие функции для создания документов PDF и книг Excel:
    CreatePDF, CreateReportWorkbook, CreateReportPage
  • Макросы могут использовать следующие функции для экспорта данных в CSV, HTML и команды INSERT:
    SaveQueryAsCSV, SaveQueryAsHTML, SaveQueryAsInsert
    SaveTableAsCSV, SaveTableAsHTML, SaveTableAsInsert
  • Для параметров типа Boolean на ленте отображается фиксированный список значений: NULL/Да/Нет.

Улучшения:

  • В мастер подключения к данным CSV добавлены поля: Первая строка и Формат дат (Auto/DMY/MDY).
  • Значительно увеличена скорость преобразования формул в отфильтрованных диапазонах.
  • В списках валидации на скрытом листе SaveToDB_Lists не производится перевод колонок и не добавляются комментарии.
    Такие списки валидации скрыты из диалога обновления таблиц книги, т.к. они обновляются автоматически.
  • Объекты типов CODE, HTTP и TEXT в списке запросов отображаются со схемой.
    Для их перевода следует использовать те же механизмы, что для объектов базы данных.

Исправленные ошибки:

  • Исправлено отображение старых объектов из базы данных после обновления конфигурации.
  • Исправлена ошибка ObjectNullReference мастера публикации.
  • Исправлена сортировка обработчиков событий по полю MENU_ORDER.
  • Поправлены иконки в пунктах контекстного меню и меню Actions.

Версия 8.5 от 07.02.2018

Улучшения:

  • Обновлен мастер регистрации.
  • Заголовок UserAgent содержит значение по умолчанию: SaveToDB.

Исправленные ошибки:

  • Исправлена ошибка пропуска преобразования формул в строках, скрытых авто-фильтрами.

Версия 8.4 от 31.01.2018

Новые возможности:

  • Новые функции для использования в VBA: GetWebText и ParseJson.
    GetWebText возвращает текст запроса HTTP GET, как есть (JSON, HTML, XML, CSV, текст).
    ParseJson возвращает объект, который может содержать типы Collection, Scripting.Dictionary или простые типы.
    См. описание типа Scripting.Dictionary здесь: https://excelmacromastery.com/vba-dictionary/

Пример использования функций GetWebText и ParseJson:

Dim com As COMAddIn
Dim addIn As Object
Set com = Application.COMAddIns("SaveToDB")
Set addIn = com.Object

Dim url As String
Dim text As String
Dim json As Object

url = "https://api.binance.com/api/v3/ticker/bookTicker?symbol=BTCUSDT"

text = addIn.GetWebText(url)

Set json = addIn.ParseJson(text)

MsgBox url + vbNewLine + vbNewLine _
    + "Response:" + vbNewLine _
    + text + vbNewLine + vbNewLine _
    + "Extracted:" + vbNewLine _
    + "symbol: " + json("symbol") + vbNewLine _
    + "bid: " + CStr(json("bidPrice")) + vbNewLine _
    + "ask: " + CStr(json("askPrice"))

Исправленные ошибки:

  • Исправлена ошибка пропуска преобразования формул в строках, скрытых авто-фильтрами.
  • Исправлена ошибка Мастера форматов таблиц при наличии сводных таблиц с подключением к базе данных.

Версия 8.3 от 15.01.2018

Новые возможности:

  • Обработчики событий могут возвращать значения командой SELECT.
    Плагин при этом обновит значения в ячейках с теми же именами колонок.
    За исключением случая, если обновляется вся таблица за счет параметра _reload у любого из обработчиков.
    Эту возможность можно использовать, например, для возврата в Excel значений rowversion.
    При этом каждый последующий вызов будет использовать значения rowversion, полученные на предыдущем вызове.
  • Выпущен SaveToDB SDK 8.3 с примерами новых возможностей.
  • Процедуры с суффиксами _change автоматически привязываются к базовому объекту как обработчики событий Change, если для базового объекта не заданы обработчики событий.
    Например, dbo.view_test_change автоматически определяется как обработчик событий для dbo.view_test.
    Для отключения привязки можно задать обработчик DoNotAddChangeHandler.
  • Для отключения автоматического создания списков проверки из таблиц внешних ключей можно задать обработчик DoNotAddValidation.

Улучшения:

  • Обновлен SaveToDB Framework 7.16 for SQL Server.
  • Из списка запросов по умолчанию исключаются обработчики Change и процедуры редактирования.
  • Добавлена возможность передачи параметров типа timestamp и rowversion в SQL Server и SQL Server Compact.
  • Обработчики событий могут использовать значение поля _rownum в английском варианте, независимо от языка Excel.
  • Отключено форматирование по умолчанию для полей readonly.
  • Отключено форматирование по умолчанию и валидация для полей типа datetimeoffset.

Исправленные ошибки:

  • Исправлена ошибка удаления @ в именах параметров SQL Server и SQL Server Compact.
  • Исправлено отображение версий объектов настройки в диалоге информации о книге.
  • Исправлены возможные ошибки запросов SQL Server при использовании некоторых символов в именах полей.
  • Исправлена ошибка получения конфигурации в SQL Server Compact (только в версии 7.15).
  • Исправлено обновление полей форм значениями последней колонки таблицы.
  • Исправлена возможная нестабильность работы в Excel 2013-2016 из-за работы с окнами.
  • Исправлены возможные ошибки при работе со сводными таблицами.
  • Исправлена ошибка вставки запросов на другой лист.
  • Исправлена ошибка возможного удаления ведущих 0 в некоторых типах полей.
  • Исправлена ошибка преобразования TimeSpan в DateTime в параметре cell_date_value обработчиков событий.
  • Исправлена ошибка обработки дат 0000-00-00 00:00:00 MySQL при Allow Zero Datetime=False или Convert Zero Datetime=False.

Версия 8.2 от 18.12.2017

Исправленные ошибки:

  • Восстановлена возможность сохранения изменений для запросов в виде SQL-кода из таблиц.

Версия 8.1 от 15.12.2017

Исправленные ошибки:

  • Исправлена возможность настройки SQL-кода в Мастере подключения.
  • Исправлена ошибка загрузки конфигурации при наличии ошибок в представлениях конфигурации.
  • Исправлена ошибка загрузки конфигурации MySQL для таблиц с LongText.
  • Исправлена видимость полей в мастерах установки приложений и создания книг.

Версия 8.0 от 27.11.2017

Обновление версий

  • Предыдущие версии 1.x-7.x преобразуются в пробную версию SaveToDB 8.0 с тестовым сроком в 30 дней.
  • Пользователи, которые приобретали Гарантию обновления или Подписку, могут зарегистрировать версию 8.x бесплатно, используя ключи продуктов предыдущих версий.
  • SaveToDB 8.0 поддерживает все предыдущие версии конфигураций на стороне сервера баз данных.
    Обновления таблиц или представлений конфигурации перед обновлением плагина не требуется.
    Вы можете использовать Мастер установки приложений для обновления предыдущий версий SaveToDB Framework до версии 7.2.
  • SaveToDB 8.0 включает значительно переработанный SaveToDB Framework 8.0.
    Вы можете продолжать использовать SaveToDB Framework предыдущих версий и использовать SaveToDB Framework 8.0 для новых приложений.
    Предыдущие версии плагина SaveToDB игнорируют настройки перевода и конфигурации параметров SaveToDB Framework 8.0.

Важные изменения

  • Начиная с версии 7.15, отключена защита урезания текста размером более 32767 символов.
    За счет этого генерируется более простой код запросов (SELECT * FROM <table>) для таблиц с полями типа varchar(max), string, text, CLOB.
    Вы можете отключить вывод таких полей в Excel, если они реально содержат длинные значения.
  • Вкладка SaveToDB по-умолчанию отображается как База данных.
    Можно вернуть наименование SaveToDB в диалоге настройки.
  • Платформа .NET Framework 4.0 Client Profile заменена на .NET Framework 4.5.2.
  • Изменения в системных требованиях для Windows 7, Windows Server 2008, и Windows Server 2008 R2.
  • Прекращена поддержка Windows XP.
  • Прекращена поддержка SQL Server 2000.
  • Прекращена поддержка MySQL 5.0, 5.1, 5.2.
  • Прекращена поддержка MariaDB 5.1, 5.2, 5.3.

Новые возможности

  • Новая версия ориентирована на работу с базами данных без специальных настроек.
    Плагин самостоятельно создает конфигурации для решения типичных задач.
    Разработчики могут изменять настройки по умолчанию с помощью конфигурации как было ранее.
  • Добавлена поддержка редактирования таблиц с внешними ключами.
    Плагин самостоятельно создает списки проверки данных и значений для полей на ленте.
  • Добавлена поддержка сохранения изменений данных из представлений и процедур, которые получают данные из единственной таблицы.
    Для отключения возможности сохранения следует добавить для требуемого объекта отбработчик DoNotSave.
  • Добавлена поддержка схем баз данных в качестве списков запросов.
    Новая возможность позволяет уменьшить количество отдельных представлений списков запросов.
    При этом плагин считывает настройки сохранения данных из таблиц в формате xls.objects.
    В предыдущих версиях плагин считывал настройки только из самих представлений списков запросов.
  • SaveToDB Framework 8.0.
    Новый фреймворк имеет значительно более простую структуру, чем в предыдущих версиях, за счет чтения плагином полных мета-данных базы данных.
    Также фреймворк имеет единую структуру на всех поддерживаемых платформах баз данных.
    Новый фреймворк включает четыре таблицы: xls.objects, xls.handlers, xls.translations, xls.formats, одно представление - xls.queries, и две роли: xls_users и xls_developers.
  • Мастер установки SaveToDB Framework значительно переработан и переименован в Мастер установки приложений (Application Installer).
    Мастер позволяет устанавливать, обновлять и удалять приложения и SaveToDB Framework различных версий.
    Используйте мастер, чтобы обновить предыдущие версии SaveToDB Framework до версии 7.2, чтобы использовать все возможности SaveToDB 8.
    Попробуйте установку приложений, включенных в SaveToDB 8. Например, приложение для бюджетирования.
  • Мастер установки приложений включает приложение для бюджетирования.
    Вы можете использовать приложение бесплатно (требуется редакция SaveToDB Enterprise).
    Доступна коммерческая поддержка приложения.
    Чтобы ознакомиться с возможностями, можно скачать книгу Planning Application with Microsoft Excel and SQL Server.
  • Мастер установки приложений включает приложения для отслеживания изменений в базах данных Microsoft SQL Server.
    Чтобы ознакомиться с возможностями, можно скачать книгу Change Tracking Framework for SQL Server.
  • Мастер установки приложений включает пример Cash Flow для всех поддерживаемых платформ баз данных.
    Пример используют только встроенные возможности SaveToDB 8, без дополнительных настроек.
  • Мастер создания книги настройки значительно переработан и переименован в Мастер создания книг приложений.
    Мастер позволяет создавать книги для настройки SaveToDB Framework всех версий, а также книги для приложений.
    Мы планируем добавить возможность загрузки шаблонов книги из базы данных.
    Свяжитесь с нами, если Вам интересна эта возможность.
  • Мастер создания книг приложений позволяет создать книгу для управления правами в Microsoft SQL Server.
  • Новый формат конфигурации сохранения изменений, используемый в таблице xls.objects SaveToDB Framework 8.
  • Новый формат конфигурации перевода данных, используемый в таблице xls.translations SaveToDB Framework 8.
  • Новый формат конфигурации запросов списков значений параметров в таблице обработчиков событий с типом события ParameterValues.
    Это позволило исключать отдельную таблицу для настройки списков значений в SaveToDB Framework 8.
  • Колонку с именем _State_ можно использовать для выделения строк, подлежащих удалению (значением 0).
    Эта возможность позволяет редактировать таблицы с отношениями many-to-many с помощью сводных таблиц.
  • Новый тип обработчика событий AddStateColumn для добавления и форматирования колонки _State_ в таблицы.
  • Плагин циклически меняет значения в ячейках с условным форматированием иконками и целыми числами по двойному клику.
    Например, можно определить набор иконок с условиями 0, 0.5 и 1. По двойному клику плагин будет менять значения 0 и 1.
    Эта возможность позволяет просто реализовать элемент типа check-box в Excel.
  • Переработанный слой работы с OData.
    Пожалуйста, протестируйте его работу перед обновлением версий бизнес-пользователей.
  • Добавлена возможность логгирования запросов к базе данных.
    См. вкладку "Для разработчиков" в диалоге настройки.
  • Плагин форматирует листы при подключении новых таблиц.
    Эту возможность можно отключить на вкладке "Дополнительные" диалога настройки.
  • Плагин форматирует битовые поля SQL Server как флажки.
    Возможность можно отключить на вкладке "Дополнительные" диалога настройки.
  • Мастер форм позволяет отформатировать любой диапазон как флажки.
    Используйте значения 0 и 1 в ячейках. Значения можно менять двойным кликом.

Улучшения:

  • Значительно улучшена производительность подключения к базам данных и загрузки настроек.
    Плагин кэширует мета-данные базы данных и использует их в последующих запросах.
  • Улучшено определение хранимых процедур для отображения в Списке запросов на ленте.
    Из списка исключаются процедуры, которые содержат команды INSERT, UPDATE, DELETE.
    Если такие процедуры следует использовать в Excel, то следует создать собственное представление списка запросов.
  • Удалены группы Вид таблицы на вкладках Данные, Вид и Дизайн.
  • Переработан диалог настройки.
  • Значительно обновлена документация.
Этот веб-сайт использует куки. Продолжая использовать веб-сайт, Вы принимаете условия Cookie Policy.