1С и все, все, все: Программирование Ключевые слова: 1С,axapta,navision,access
SQL-подобные запросы
* 1C 80
Только на чтение данных (SELECT), UPDATE нет.
см. также: Книга знаний: v8: Язык запросов 8.0
* 1C 77
Книга знаний: Запросы
Структура базы данных
База данных во всех системах представляет собой набор взаимосвязанных таблиц.
Идентификация записей
Система 1С на уровне платформы использует суррогатный ключ , системы Axapta/Navision используют на уровне платформы естественный ключ, в Access программист сам выбирает вид ключа.
В 1С 77 используется ключ объекта вида Тип+Вид+Номер в таблице, т.е. например Справочник+Номенклатура+11, естественно (Справочник+Номенклатура кодируется неким числом для экономии места).
В 1С 80 используется ключ объекта вида Тип+Вид+GUID, т.е. например Справочник+Номенклатура+{fff-ff-ssdf-dfsdf-ee}, где GUID - глобальный идентификатор.
В Axapta/Navision используется некий осмысленный ключ, например код контрагента или товара. При этом ключ записи можно менять, т.к. ключ несет осмысленную информацию, а она может меняться у объекта.
О преимуществах и недостатках различных ключей можно почитать здесь:
http://www.akzhan.midi.ru/devcorner/articles/NaturalKeysVersusAtrificialKeysByTentser.html
Составные колонки
* 1C 77/80
Использование суррогатных ключей, каждый из которых несет в себе тип и вид объекта позволяет хранить в одной колонке таблицы ссылку на записи из нескольких таблиц.
* Axapta/Navision
Для хранения ссылок на несколько таблиц нужно использовать составное поле Тип+Ключ.
Триггеры таблиц
Наличие триггеров - процедур проверки записи/удаления/изменения строк таблиц.
* 1C 77/80
нет
Расширяемость
* 1C 77
Для 1С 77 создано много полезных внешних компонент, которые создаются как OLE-объекты.
Возможно использование любых зарегистрированных в системе OLE-объектов.
* 1C 80
Возможно использование любых зарегистрированных в системе OLE-объектов. Насчет внешних компонент для 1С 80 Гений 1С пока ничего не слышал, а Волшебник слышал, что все внешние компоненты для 7.7 годятся и для 8.0, кроме тех редких компонент, которые открывают окна внутри главного окна 1С:Предприятия.
Объектно-ориентированное программирование
* 1C 77
Имеются только встроенные объекты, соответсвующие прикладным объектам, набор их методов и свойств изменить нельзя. Наследования нет
* 1C 80
Имеются только встроенные объекты, соответсвующие прикладным объектам, набор их методов и свойств можно расширять. Наследования нет, считает Гений 1С.
А Волшебник считает, что есть одноуровневое наследование от встроенных системных классов, типа "Справочник", "Документ" и т.д.
Пространство функций
* 1C 77
Все общие функции сосредоточены в одном глобальном модуле. Также у каждого объекта есть свои функции, которые может использовать только этот объект или другой объект, через ОткрытьФорму
* 1C 80
Общие функции могут быть разнесены по различным модулям. Также у каждого объекта есть свои функции. Открытые функции (Экспорт) могут вызываться как методы объекта, остальные функции (Private) может использовать только сам объект.
Управление элементами формы
* Axapta
На уровне платформы реализован morphX http://axapta.mazzy.ru/screenshots/common/example.html
morphX позволяет включать и выключать реквизиты, кнопки, закладки, отчеты, таблицы и поля в таблицах. Для каждого такого элемента можно назначить права доступа. Аксапта автоматически прячет выключенные элементы, при этом автоматически изменяются размеры формы таким образом, чтобы оптимально показывать только доступные на всех закладках реквизиты.
* 1С 80
Можно управлять видимостью и доступностью элементов формы, устанавливать привязки для элементов формы, которые указывают, как должны быть привязаны элементы формы к форме и куда они должны смещаться при отключении видимости других элементов формы. Программно можно создавать элементы формы, менять их размеры, привязки и т.п. Теоретически можно написать подобный morphX функционал.
* 1С 70
Можно управлять только видимостью и доступностью элементов формы. С помощью широко распространенной нетиповой внешней компоненты FormEx можно практически полностью управлять элементами формы, вплоть до их создания и удаления. Реализовать подобный morphX функционал возможно с помощью внешних компонент.
|