gifts2017

1С:Предприятие 8.1. Первый взгляд

Опубликовал Павел Чистов (GROOVY) в раздел Программирование - Теория программирования

Первый взгляд на новую платформу. Или все таки не новую?
Очевидные изменения.
Первое что бросается в глаза это новые объекты в ветке "Общие".
Что-то очевидно. Кое-что абсолютно ново.
Подписки на события.

Вот что написано в документации о этом объекте:

Реализован объект конфигурации Подписка на событие. С помощью этого объекта можно назначать обработчики для не интерактивных событий одного или нескольких прикладных объектов.

На практике объект вроде позволяет указывать обработчики событий из общего модуля. Процедуры обработчики событий должны удовлетворять следующим требованиям:

процедура должна быть расположена в общем модуле;
процедура должна быть объявлена с ключевым словом Экспорт;
у общего модуля, в котором расположена процедура, должны быть заданы следующие свойства:
флаг Глобальный - сброшен;
флаг Клиент - установлен;
флаг Сервер - установлен;
флаг Внешнее соединение - установлен;
количество параметров процедуры должно быть на единицу больше, чем количество параметров, которое имеет обработчик выбранного события (т.к. дополнительно к параметрам, передаваемым в обработчик события, передается еще и объект-источник данного события).

На мой взгляд действительно удобно. Подобный функционал позволит регламентировать одинаковые события для разных объектов.

Последовательность обработки событий следующая: обработка в модуле объекта, обработка подписки события. Вот например как обрабатывается событие записи документа:

1. Модуль объекта
2. Подписка события
3. Форма
Пакеты XDTO.
Принципиально новый объект

Далее слегка нудный текст из документации.

Механизм XDTO является универсальным способом представления данных для взаимодействия с различными внешними источниками данных и программными системами.

Аббревиатура XDTO обозначает XML Data Transfer Objects.

Механизм XDTO позволяет создать модель представления данных (модель типов и значений), которая, с одной стороны, обеспечивает возможность просто и естественно манипулировать данными в среде 1С:Предприятия 8.1, а с другой стороны, данная модель хорошо приспособлена для прозрачного преобразования данных в другие форматы, главным образом XML.

Можно выделить несколько задач, для решения которых используется механизм XDTO:

· обмен данными между конфигурациями 1С:Предприятия 8.1 с существенно разными схемами данных;

· обмен данными на основе схем XML, не привязанных к той или иной конфигурации (например, обмен с информационными системами, построенными не на основе 1С:Предприятия 8);

· организация работы с Web-сервисами. Механизм XDTO позволяет описывать типы параметров и возвращаемых значений Web-сервисов, а также манипулировать передаваемыми и возвращаемыми данными.

Web сервисы.
Механизм Web-сервисов в системе 1С:Предприятие 8.1 является средством поддержки сервисно-ориентированной архитектуры (Service-Oriented Architecture, SOA).

Сервисно-ориентированная архитектура представляет собой прикладную архитектуру, в которой все функции определены как независимые сервисы с вызываемыми интерфейсами. Обращение к этим сервисам в определенной последовательности позволяет реализовать тот или иной бизнес-процесс

Сервисно-ориентированная архитектура предлагает новый подход к созданию распределенных информационных систем, в которых программные ресурсы рассматриваются как сервисы, предоставляемые по сети. Такой подход позволяет обеспечить быструю консолидацию распределенных компонентов — сервисов — в единое решение для поддержки определенных бизнес-процессов.

Механизм Web-сервисов позволяет использовать 1С:Предприятие 8.1 как набор сервисов в сложных распределенных и гетерогенных системах, а также позволяет интегрировать 1С:Предприятие 8.1 с другими промышленными системами использованием сервисно-ориентированной архитектуры.

Конфигурация 1С:Предприятия 8.1 может экспортировать свою функциональность через Web-сервисы. Определения Web-сервисов задаются в дереве конфигурации, и становятся доступны произвольным информационным системам благодаря публикации их на веб-сервере.

Кроме этого 1С:Предприятие 8.1 может обращаться к Web-сервисам сторонних производителей как через статические ссылки, определенные в дереве конфигурации, так и используя динамические ссылки, создаваемые средствами встроенного языка.

В основе сервисной архитектуры 1C:Предприятия 8.1 находится менеджер сервисов. Менеджер сервисов выполняет следующие функции:

· управление пулом соединений с информационными базами;
· поддержка WSDL описания сервиса;
· реализация протокола SOAP, сериализация сообщений, вызов соответствующего сервиса.

Менеджер сервисов выполняется в процессе сервисного хоста, который выполняет функцию приема/передачи сообщений из/в менеджер сервисов. В качестве сервисного хоста может использоваться веб-сервер IIS или Apache.

Менеджер сервисов содержит в себе пул соединений, через которые идет взаимодействие с базами данных 1С:Предприятия 8.1.

WS ссылки.
Объект предназначен для использования внешних web сервисов.

Так как я понятия не имею как работают эти новые штуки, описание последних трех объектов взял из документации.



Не столь очевидные изменения.

Общие модули.
В общих модулях появился флаг "Глобальный".

Свойство Глобальный определяет, являются ли экспортируемые методы общего модуля частью глобального контекста.

Если свойство Глобальный установлено в значение Истина, то экспортируемые методы общего модуля доступны как методы глобального контекста.

Если свойство Глобальный установлено в значение Ложь, то в глобальном контексте создается свойство с именем, соответствующим имени общего модуля в метаданных. Данное свойство доступно только для чтения. Значением данного свойства является объект ОбщийМодуль. Через данный объект доступны экспортируемые методы данного общего модуля. Таким образом, обращение к методам неглобальных общих модулей выглядит как XXXXX.YYYYY, где XXXXX – это имя свойства, соответствующее контексту общего модуля, а YYYYY – имя экспортируемого метода общего модуля.

Блокировка данных, полнотекстовый поиск.
Для многих объектов добавлены опции блокировки данных и полнотекстового поиска.

Однако в справке про новое свойство ни слова, однако написано про свойство "Оперативный" которого нет в регистре:

Оперативный (используется в оперативном учете)
Установка этого свойства означает, что запись движений регистров выполняется в реальном времени. Граница актуальности для документов, записывающих в такой регистр, будет определяться только по оперативным регистрам.


Судя по описанию есть подозрение что это свойство должно присутствовать на закладке "Основные" регистра накопления. Ну да подождем следующей версии платформы.

Что же такое "Разрешить разделение итогов"?

Это механизм который обеспечивает параллельность работы (имеется ввиду увеличение производительности при параллельной работе нескольких задач с одним регистром). Механизм реализован для регистров накопления и регистров бухгалтерии.

Задачи.
Для объекта задачи добавили свойство нумерации "Автопрефикс".
Установив который в номер задачи добавляется номер бизнес-процесса точка маршрута которого создала эту задачу.

Отчеты.
В отчетах пожалуй самые яркие изменения. Схема компановки данных!

Схема компоновки данных позволяет реализовать следующие возможности:

· создание отчета без программирования;
· использование автоматически генерируемых форм просмотра и настройки отчета;
· разбиение исполнения отчета на этапы;
· исполнение отдельных этапов построения отчета на различных компьютерах;
· независимое использование отдельных частей системы компоновки данных;
· программное управление процессом выполнения отчета.

Схема компановки описывается в макетах:
Создание схемы компоновки данных чем-то напоминает конструктор выходных форм :)

Основой схемы является запрос описывающий набор данных которые будут представлены пользователю.
Далее на многочисленных закладках описываются параметры, вычисляемые поля, ресурсы. При необходимости можно нарисовать макет, если автоматически созданная форма не устраивает. На последней закладке описываются общие настройки, что выводится в строки, что в колонки, для диаграмм - серии и точки.

Я бы сказал что схема компоновки данных мощный механизм разработки отчетов, избавляющий разработчика от нудных описаний вывода макета, связей данных и пр.

Более подробно про систему компоновки данных можно прочитать тут: http://www.v8.1c.ru/beta81/datacomposition.htm

Также были замечены изменения в конструкторе запросов => и в тексте запроса. И незначительные изменения в синтксисе языка. Но об этом позже.

Жду отзывов о статье. Про какую новую "фишку" Вы хотели бы прочитать более подробно? Все в комментарии.

При написании обзора использовалась документация к 1С:Предприятие 8.1 и информация с сайта 1С.

Обзор подготовил
Павел Чистов (aka GROOVY)
Институт технологий сопровождения

www.its-spb.ru

Специально для портала infostart.ru

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сhe Burashka (CheBurator) 23.07.06 16:24
Все это хорошо...
Хотелось бы понять.
Вот в 7.7 не сильно сложный язык, что давало возможность разработчику уметь "программировать" на 1С и при этом еще оставалось время на поддержание/развитие своих знаний по предметной области (бухгалтерский учет, торговля, склад).
Теперь, при явном усложнении самой предметной области 1С (языка) останется ли у разработчика время на совершенствование своих знаний по примыкающим областям? Или надо будет между программеров и юзером вставлять еще одну прокладку - постановщика задачи...? Пойдут ли мелкие и средние фирмы на такое...? Потянут ли...?
В непонятках...
2. Kandellaster 24.07.06 07:37
если будет веб-сервисы поддерживать то это есть гут а то я на php к семерке еще нормально цеплялся а вот к восьмерке через маленькие извращения даж не потянуло, а так когда будет в функционале реализована поддержка этой технологии да еще и с apache то вообще шикарно
3. Павел Чистов (GROOVY) 24.07.06 10:17
to Сhe Burashka 23.07.2006:
Ну это из той же облпсти что и "Я вот программировал на бейсике 4.0, а теперь мне надо программировать на вижел бейсике и ассемблере. У меня еще на чтонить время останется?
ИМХО, все зависит от человека. Моя работа - это постоянное изучение нового софта, но остается время и на клиентов.
4. Сhe Burashka (CheBurator) 24.07.06 19:37
Это хорошо если
> Моя работа - это постоянное изучение нового софта,
а вот если моя работа - устранение проблем, а не изучение нового софта ;-)
то как - все за счет личного времени...
5. Сhe Burashka (CheBurator) 24.07.06 19:38
Основной вопрос не втом надо или нет изучать новое - надо!
просто уже пойдет специализация и тут:
Теперь, при явном усложнении самой предметной области 1С (языка) останется ли у разработчика время на совершенствование своих знаний по примыкающим областям? Или надо будет между программеров и юзером вставлять еще одну прокладку - постановщика задачи...?
6. Худой 28.07.06 08:28
А чего тут непонятного? Все идет к дикой специализации. Я, например, как пользователь машины, обязан знать правила движения и кое что еще. Так что, загоняю машину на ремонт и мне ее ремонтируют. В 7.7 тоже определенный уровень абстракции. Ты же не изучаешь ассемблер, для того, чтобы программить на 7.7. Или по этому поводу тоже будешь слезы лить - лишили куска хлеба!
Был я в SAP. Прямо в самой компании в Германии. Там прогеры даже не знают предметной области. А сама предметная область поделена на подсистемы. И консультант по финансам посылал меня подальше с вопросом, каксающимся складского учета. Типа, "Иди к Андерсу, он этот кусок учета знает ".
Тенденция токова, что с расширением функционала системы, растет и усложнение участков учетной системы. А фирма 1с, явно хочет заняться этим делом. По крайней мере, делает такую попытку. Так что, думай, остваться ли "тупым прогером"(шутка) или рулить одной из подсистем.
7. Сhe Burashka (CheBurator) 28.07.06 16:55
Если рулить, то лучше - финансами...
8. Serjant (GreyK) 31.07.06 11:38
Если есть финансы и их рулители, то програмист становится мелкой сошкой, далёкой от миски с финансами.
9. Black Romeo (Black Romeo) 30.08.06 10:41
Черта с два маленькие и средние фирмы периферии пойдут на введение в свой штат постановщика задач, программерам придется поднапрячься и тянуть и придметную область и решение проблем по ней
10. Сhe Burashka (CheBurator) 30.08.06 11:32
Чем собственно у себя в фирме и занимаемся по большому счету ген.директор и я. Все остальные - либо решение сиюминутных задач либо просто неспособность предложить что-либо, повышающее общий "рейтинг" компании...
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа