Книга знаний

Инф. технологии / Общие вопросы / Архитектура

1С и все, все, все: Программирование

В данной статье будет попытка сравнения 1С и других систем учета. В этой части рассматриваются вопросы программирования.Автор статьи: Гений 1С | Редакторы: Волшебник, Чума, alyuev,
Последняя редакция №4 от 06.05.06 | История
URL: http://kb.mista.ru/article.php?id=211

Ключевые слова: 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 функционал возможно с помощью внешних компонент.

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

Яндекс.Метрика