Repository navigation
Главное
v0.13.0 собирает изменения платформы после v0.12.0. Для разработчиков
конфигураций главное — новые возможности управляемых форм и подбора ссылок,
настройка навигации в «Предприятии», а также исправления запросов и хранения
данных. Служебные изменения конвейера не требуют действий от пользователей
платформы. Ниже отдельно перечислено то, что меняет поведение уже написанных
конфигураций.
Формы и подбор ссылок
- Серверный поиск в диалоге подбора больше не требует выгружать весь справочник
в браузер (#1495). Подчинённые справочники отбираются по владельцу (#1696). choice_filterстал пригоден для более сложных форм: булев литерал и источник
за ссылкой (#1769), пять точечных ключей элемента формы (#1774),eq_or_empty
для общих и своих записей (#1781), строковый конец глубокого пути (#1813),
отбор поparent_id(#1834) и постоянная ссылкаref(#1856).
Добавлены исключение поддереваnot_in_hierarchy(#1872), отбор
корневых записейis_root(#1873) и проверка ссылочной колонки
табличной части выбираемого справочника черезeq(#1917).- Подбор работает и в формах обработок;
onebase checkтеперь проверяет их
условия, а не пропускает молча (#1846). Управляемые формы получили
ОткрытьФормуиПоказатьВопросиз обработчика (#1682, #1681). - Интерактивные фильтры списка типизированы (#1671), из строки списка можно
открыть карточку записи (#1668), а список регистра сведений выводится
постранично (#1854).
Навигация и настройка интерфейса
Смысловое меню сохраняет порядок contents и показывает разделы со смешанными
папками с учётом текущих прав (#1837, #1838). Конфигурационное меню можно
редактировать визуально (#1845). Администратор задаёт общую раскладку, а
пользователь — личную поверх неё; сохранение проверяет ревизию и не стирает
чужие изменения из устаревшей вкладки (#1847, #1853, #1855).
Данные, права и надёжность
- Исправлены точность денежных сумм в SQLite (#1779), выбор счетов своего плана
в виртуальных таблицах бухрегистра (#1800) и проверка счета проводки (#1801). - Решение о строковом доступе больше не зависит от порядка ролей пользователя
(#1793). В PostgreSQL создание базы не упирается в цикл ссылок (#1849). - Исправлены сохранение реквизитов формы без видимого элемента (#1859),
изоляция вкладок между сеансами входа (#1858) и обновление итогов живого
списка (#1851).
Дополнения к формам, DSL и интеграциям
- У DSL-диалога
ПоказатьПодборможно настроить ширину окна (#2116)
и поля отбора в шапке (#2118); в управляемой форме работают цвет кнопки,
событие смены страницы и порядок колонок табличной части
(#2109, #2159, #2167).
Для обмена данными добавлен XDTO-сериализатор (#1386). - Страница констант доступна только администратору (#1944). Для секретов
в данных добавлена функцияРасшифроватьСекретс поддержкойenc:
(#1945); существующие пароли автоматически не шифруются. - Исправлены сохранение пустых типизированных значений при импорте (#1950),
доступ к данным присоединённых источников в запросах (#1926, #1459)
и отображение списков регистров на узком экране (#1922, #2208).
Импорт.obzв PostgreSQL работает на пустой базе и при круговых
ссылках; восстановление проверяет внешние ключи до фиксации данных (#1966).
Изменения поведения существующих конфигураций
- Неверный
choice_filterформы обработки теперь блокируетonebase check, а
верный действительно ограничивает подбор; раньше тот же ключ молча
игнорировался (#1846). - Объявленный в форме обработчик
ПередЗакрытиемтеперь действительно
вызывается. Проверьте его код: отказ, ошибка или таймаут оставят форму
открытой. Заполнение реквизитов при открытии больше не помечает форму
изменённой (#1829). - Дата документа для проведения и движений берётся из реквизита
Дата, а не
из первого реквизита типа «дата». Проверьте модули, которые опирались на
прежний ошибочный выбор (#1827). - Реквизиты с
default:и результатыПриСозданииНовогосохраняются даже
тогда, когда поле не размещено на управляемой форме (#1760). Ключи
width/height/halign/valign, раньше игнорировавшиеся, теперь влияют
на геометрию элементов: проверьте импортированные формы, где они заданы. - Для рабочего места кассира требуется явное
features.pos: true; без него
раздел не появляется (#1464). - Индексный доступ
Объект["Реквизит"]теперь выдаёт ошибку при неизвестном
имени, нестроковом ключе и неподдерживаемом объекте вместо тихого пропуска
(#1310). У объекта документаПроведениПометкаУдалениятеперь отражают
состояние, а неНеопределено(#1791). - Проводка бухгалтерского регистра с пустым счётом или счётом не из его плана
теперь отклоняется; проверьте модули проведения, если они раньше записывали
такие движения (#1801). Роль без RLS-политики снимает ограничение другой
роли независимо от порядка загрузки ролей (#1793). - Конфигурация со шлюзом
transport: amqpтеперь отклоняется при загрузке:
потребителя AMQP в платформе не было, такой шлюз раньше молча не работал
(#1789). - Первый запуск после обновления может построить индекс по регистратору у
регистров; запланируйте время на миграцию крупной базы (#1777). - На SQLite суммы и календарные группировки запросов могут дать другие,
теперь корректные результаты. Сверьте отчёты и тесты, которые закрепляли
прежнее поведение (#1779, #1768). - Самообновление использует подпись релиза. Перед обновлением установленной
копии проверьте, что канал и ключ подписи настроены по
инструкции; простая подмена бинаря в рабочей базе
не заменяет проверки совместимости и резервного копирования.
Перед обновлением также проверьте следующие изменения:
- Enter перемещает фокус, а запись остаётся на явных командах. Для форм,
которым нужна отправка по Enter, задайтеenter_submits_form: true(#1520). - Некорректная строка в
Число/Numberвызывает исключение вместо
молчаливого нуля (#2200).Строка(Неопределено)иСтрока(Null)теперь
возвращают пустую строку вместо"<nil>"(#2155). Для Каждогообходит структуру, а неитерируемое значение даёт ошибку
(#2146). Лишние аргументыСтруктура.Свойствобольше не игнорируются
(#2147); метод с одним аргументом по-прежнему возвращает значение.- Константы через UI изменяет и читает администратор (#1944).
Проверьте рабочие места, где эту страницу использовали другие роли.
В режиме без пользователей и при открытом доступе прежнее поведение сохранено. - Секреты требуют отдельной настройки и сохранности мастер-ключа.
Новая функция расшифровывает толькоenc:-значения; она не заменяет
миграцию существующих паролей и ключей в зашифрованный формат (#1945). - Защищённые одноимённые колонки в JOIN требуют явных уникальных алиасов:
неоднозначная выдача отклоняется целиком (#1484).
Все предупреждения, накопленные после v0.12.0, сохранены в
разделе v0.13.0 CHANGELOG.
Проверьте его перед обновлением рабочей базы: там отдельно описаны изменения
запросов, дат и периодов, маскирования, проведения, обмена и миграций.
Перед заменой бинаря сделайте резервную копию рабочей базы и проверьте свою
конфигурацию командой onebase check --project <каталог> на новой сборке.
Новые возможности, ещё не влитые в main, в этот релиз не входят.
Приёмка конфигураций колл-центра
Проверка частных oneservice-cc и oneservice-cc_v2 отложена на период после
выпуска платформы. Перед обновлением рабочей базы проведите их прикладную
приёмку на копии данных: onebase check, миграцию и рабочие сценарии под
ролями оператора и администратора на используемой СУБД.
Полный состав PR
Перечень включает 440 PR, вошедших в main после v0.12.0 до подготовки
самой заметки. Служебные и плановые PR перечислены для полноты; наличие
плана в перечне не означает, что описанная в нём возможность реализована.
- #1295, #1310, #1329, #1221, #1305, #1269, #1270, #1286, #1307, #1293, #1225, #1309, #1227, #1311, #1313, #1314, #1315, #1316
- #1317, #1319, #1324, #1374, #1231, #1367, #1380, #1375, #1340, #1265, #1383, #1387, #1403, #1407, #1410, #1171, #1481, #1489
- #1490, #1178, #1217, #1218, #1226, #1271, #1322, #1333, #1382, #1384, #1400, #1405, #1406, #1413, #1416, #1417, #1421, #1323
- #1267, #1312, #1402, #1491, #1377, #1392, #1512, #1401, #1418, #1419, #1420, #1422, #1425, #1429, #1430, #1431, #1432, #1453
- #1548, #1549, #1443, #1551, #1553, #1232, #1393, #1584, #1583, #1585, #1494, #1511, #1454, #1455, #1456, #1457, #1458, #1460
- #1461, #1462, #1592, #1463, #1604, #1464, #1465, #1466, #1467, #1468, #1474, #1476, #1477, #1478, #1502, #1504, #1615, #1616
- #1625, #1629, #1630, #1631, #1640, #1642, #1643, #1645, #1650, #1664, #1651, #1652, #1662, #1668, #1669, #1671, #1677, #1678
- #1681, #1550, #1376, #1682, #1426, #1695, #1692, #1522, #1414, #1395, #1498, #1506, #1503, #1507, #1508, #1698, #1700, #1220
- #1409, #1469, #1475, #1483, #1499, #1510, #1513, #1514, #1746, #1515, #1517, #1603, #1632, #1633, #1638, #1342, #1687, #1697
- #1639, #1641, #1648, #1653, #1654, #1655, #1656, #1658, #1665, #1666, #1667, #1675, #1679, #1680, #1686, #1688, #1689, #1690
- #1691, #1694, #1708, #1722, #1495, #1696, #1769, #1777, #1789, #1790, #1810, #1791, #1793, #1824, #1755, #1757, #1760, #1764
- #1768, #1735, #1771, #1835, #1779, #1794, #1795, #1800, #1801, #1811, #1829, #1837, #1781, #1838, #1839, #1809, #1818, #1825
- #1827, #1845, #1774, #1848, #1849, #1813, #1847, #1846, #1766, #1828, #1834, #1850, #1853, #1753, #1851, #1854, #1843, #1788
- #1856, #1762, #1786, #1858, #1855, #1859, #1867, #1869, #1378, #1518, #1649, #1659, #1727, #1728, #1729, #1857, #1731, #1792
- #1798, #1799, #1804, #1805, #1807, #1815, #1831, #1832, #1872, #1875, #1870, #1699, #1868, #1918, #1943, #1647, #1657, #1674
- #1806, #1947, #1873, #1953, #1923, #1952, #1957, #1956, #1960, #1961, #1964, #1965, #1967, #1968, #1969, #1962, #1971, #1970
- #1972, #1944, #1945, #1955, #1977, #1978, #1980, #1985, #1986, #1987, #1989, #1991, #1992, #1993, #1994, #1995, #1997, #1999
- #2000, #2001, #2002, #2003, #2004, #2005, #2006, #2007, #2008, #2009, #2010, #2013, #2014, #2015, #2016, #2017, #2018, #2020
- #2021, #2022, #2023, #2025, #2026, #2028, #2035, #2036, #2037, #2038, #2039, #2040, #2041, #2042, #2043, #2046, #2047, #2048
- #2011, #2050, #2051, #2052, #2055, #2056, #2058, #2053, #2060, #2062, #1998, #1725, #2019, #1724, #1509, #1917, #2027, #2098
- #2099, #2101, #2102, #2095, #2107, #2109, #2111, #2114, #1976, #1950, #2115, #2116, #2118, #2123, #2124, #2125, #2126, #2129
- #2132, #2135, #2097, #2136, #2137, #2139, #1723, #2146, #2147, #2152, #2155, #2156, #2158, #2163, #1954, #2159, #2161, #2164
- #1484, #1386, #2166, #1519, #2169, #2167, #1914, #2113, #2153, #2183, #2176, #2179, #2168, #2182, #1979, #1916, #1996, #2012
- #2024, #2057, #1963, #1520, #1676, #1922, #1924, #1926, #1988, #2171, #1459, #1473, #2044, #2151, #2200, #2203, #2204, #2205
- #2207, #2209, #2208, #2211, #2212, #2213, #1966, #2049
Подготовка этой заметки и раздела CHANGELOG — #1874.
What's Changed
- fix(ui): дата в простой таблице (no_grid) — поле даты, а не сырой текст by @AnnaSIceberg in https://github.com/ivanarama/onebase/pull/2212
- fix(auth): страница входа — свой список пользователей вместо datalist, смена имени очищает пароль by @AnnaSIceberg in https://github.com/ivanarama/onebase/pull/2213
- fix(backup): снимать FK после миграции при импорте .obz by @ivanarama in https://github.com/ivanarama/onebase/pull/1966
- feat(forms): добавить изолированную runtime-модель формы by @ivanarama in https://github.com/ivanarama/onebase/pull/2049
- docs(release): подготовить заметку v0.13.0 by @ivanarama in https://github.com/ivanarama/onebase/pull/1874
Full Changelog: build-1487...v0.13.0