
- •Ведение
- •1 Основные теоретические сведения
- •1.1 Архитектура среды 1с:Предприятие
- •1.2 Разработка конфигурации
- •1.3 Инструменты разработки
- •1.3.1 Дерево конфигурации
- •1.3.2 Палитра свойств
- •1.3.2.1 Основные свойства
- •1.3.2.2 Группа свойств «Представление»
- •1.3.2.3 Группа свойств «Разработка»
- •1.3.3 Объектные и необъектные данные
- •1.3.4 Конструкторы
- •1.3.4 Редакторы
- •1.3.4.1 Редактор экранных форм
- •1.3.4.2 Редактор интерфейсов
- •1.3.4.3 Табличный редактор
- •1.3.4.4 Редактор программных модулей
- •1.3.5 Встроенный язык
- •1.3.6 Синтакс – помощник
- •1.3.7 Отладчик
- •1.3.8 Замер производительности
- •1.3.9 Механизм запросов
- •1.3.10 Работа с конфигурацией
- •1.3.10.1 Сохранение конфигурации
- •1.3.10.2 Обновление конфигурации
- •1.3.10.3 Сохранение конфигурации в файл
- •1.3.10.4 Создание резервной копии иб
- •1.3.10.5 Сравнение и объединение конфигураций
- •1.3.11 Работа в пользовательском режиме
- •1.3.12 Основная конфигурация и конфигурация базы данных
- •1.3.13 Средства групповой разработки
- •1.4 Объекты системы
- •1.4.1 Классификация объектов конфигурации
- •1.4.1.1 Прикладные объекты
- •1.4.1.2 Подчиненные объекты
- •1.4.2 Типы данных
- •1.4.3 Встроенный язык программирования
- •1.4.3.1 Виды модулей
- •1.4.3.2 Контекст выполнения модуля
- •1.4.3.3 Формат описания элементов языка
- •1.4.3.4 Формат программного модуля
- •1.4.3.5 Формат операторов
- •1.4.3.6 Имена переменных, процедур и функций
- •1.4.3.7 Зарезервированные слова
- •1.4.3.8 Структура программного модуля
- •1.4.3.9 Специальные символы, используемые в исходном тексте
- •1.4.3.10 Примитивные типы данных
- •1.4.3.10.2 Булево (Boolean)
- •1.4.3.10.3 Дата (Date)
- •1.4.3.10.4 Неопределено (Undefined)
- •1.4.3.10.5 Строка (String)
- •1.4.3.10.7 Число (Number)
- •1.4.3.11 Оператор присваивания
- •1.4.3.12 Выражения языка
- •1.4.3.12.1 Арифметические операции
- •1.4.3.12.2 Логические операции
- •1.4.3.12.3 Операции сравнения:
- •1.4.3.12.4 Булевы операции:
- •1.4.3.13 Оператор объявления переменной
- •1.4.3.14 Оператор условного выполнения
- •1.4.3.15 Операторы цикла
- •1.4.3.16 Оператор управления циклом
- •1.4.3.17 Оператор прерывания цикла
- •1.4.3.17 Оператор перехода
- •1.4.3.18 Оператор обработки исключительных ситуаций
- •1.4.3.19 Процедуры и функции
- •1.4.3.19.1 Описание процедур и функций
- •1.4.3.19.1.1 Процедура
- •1.4.3.19.1.2 Функция
- •1.4.3.19.1.3 Предварительное описание процедур и функций
- •1.4.3.19.2 Вызов процедур и функций. Передача параметров
- •1.4.4 Основные приемы работы с объектами в программе
- •1.4.4.1 Обращение к свойствам объектов
- •1.4.4.2 Дополнение контекста объектов и форм
- •1.4.4.3 Работа с прикладными объектами средствами встроенного языка
- •1.4.4.4 Специфические объекты
- •1.4.4.5 Взаимосвязь объектов
- •1.4.4.6 Иерархия объектов
- •1.4.5 Работа с коллекциями значений
- •1.4.5.1 Использование номеров и индексов
- •1.4.5.2 Массив
- •1.4.5.3 Структура
- •1.4.5.4 Соответствие
- •1.4.5.5 Список значений, таблица значений, дерево значений
- •1.4.5.5.1 Список значений
- •1.4.5.5.2 Таблица значений
- •1.4.5.5.3 Дерево значений
- •1.5 Варианты работы системы
- •1.5.1 Файл - серверный вариант
- •1.5.2 Клиент - серверный вариант
- •1.5.2.1 Сервер 1с:Предприятия
- •1.5.2.2 Безопасная зона
- •1.6 Постановка задачи
- •2.1.1.2 Подсистемы
- •2.1.1.3 Константы
- •2.1.1.4. Перечисления
- •2.1.2 Задание на лабораторную работу
- •2.1.3 Контрольные вопросы
- •2.2 Лабораторная работа № 2. Справочники.
- •2.2.1 Теоретические сведения
- •2.2.1.1 Создание справочника с табличной частью
- •2.2.1.2 Создание иерархического справочника
- •2.2.1.3 Создание справочника с предопределенными элементами
- •2.2.1.4 Создание подчиненного справочника
- •2.2.1.5 Создание формы для работы со связанными справочниками
- •2.2.2 Задание на лабораторную работу
- •2.2.3 Контрольные вопросы
- •2.3 Лабораторная работа № 3. Документы
- •2.3.1 Теоретические сведения
- •2.3.1.1 Проведение документа
- •2.3.1.2 Создание документа
- •2.3.1.3 Создание формы документа
- •2.3.1.4 Создание процедуры обработки события в модуле формы
- •2.3.1.5 Создание процедуры обработки события в общем модуле
- •2.3.1.6 Усовершенствование формы документа
- •2.3.1.7 Ввод документов на основании
- •2.3.2 Задание на лабораторную работу
- •2.3.3 Контрольные вопросы.
- •2.4 Лабораторная работа № 4. Регистры сведений
- •2.4.1 Теоретические сведения
- •2.4.1.1 Регистр сведений «КурсыВалют»
- •2.4.1.2 Отбор в диалоге
- •2.4.1.3 Чтение значения курса валют
- •2.4.1.4 Регистр сведений «Цены поставщиков»
- •2.4.1.5 Регистр сведений «Цены номенклатуры»
- •2.4.1.6 Создание функции РозничнаяЦена()
- •2.4.1.7 Автоматическое заполнение цены документа «ОказаниеУслуги»
- •2.4.2 Задание на лабораторную работу
- •2.4.3 Контрольные вопросы
- •2.5 Лабораторная работа № 5. Регистры накопления
- •2.5.1 Теоретические сведения
- •2.5.1.1 Проведение документа по нескольким регистрам
- •2.5.1.2 Регистр «Остатки номенклатуры»
- •2.5.1.2 Проведение документа «РасходнаяНакладная»
- •2.5.1.3 Оборотный регистр накопления «Продажи»
- •2.5.2 Задание на лабораторную работу
- •2.5.3 Контрольные вопросы
- •2.6 Лабораторная работа № 6. Журналы документов. Критерии отбора.
- •2.6.1 Теоретические сведения
- •2.6.1.1 Создание журнала документов
- •2.6.1.2 Создание критерия отбора
- •2.6.2 Задание на лабораторную работу
- •2.7.1.2 Макеты
- •2.7.1.2.1 Фиксация таблицы (шапки и боковика).
- •2.7.1.2.2 Защита от редактирования.
- •2.7.1.2.3 Перемещение по таблице.
- •2.7.1.2.4 Управление видом таблицы.
- •2.7.1.2.5 Масштабирование изображения.
- •2.7.1.3 Построение отчета
- •2.7.1.4 Печатная форма элемента справочника
- •2.7.1.5 Печатная форма списка справочника
- •2.7.1.6 Расшифровка ячейки печатной формы
- •2.7.1.7 Печатная форма документа
- •2.7.1.8 Печатная форма журнала документов
- •2.7.2 Задание на лабораторную работу
- •2.7.3 Контрольные вопросы
- •2.8 Лабораторная работа № 8. Отчеты и обработки.
- •2.8.1 Теоретические сведения
- •2.8.1.1 Создание отчета «Материалы»
- •2.8.1.2 Печать прайс-листа
- •2.8.1.3 Отчет «ЦеныПоставщиков» на заданную дату
- •2.8.2 Задание на лабораторную работу
- •2.8.3 Контрольные вопросы
- •Список литературы
1.4.5.5.3 Дерево значений
Дерево значений – это объект похожий на таблицу значений, но, в отличие от нее, строки дерева значений могут образовывать иерархические структуры: каждая строка дерева может иметь набор подчиненных строк и т. д.
Для иллюстрации данной возможности заполнения дерева значений создадим обработку, в которой определен реквизит «Дерево» (тип «ДеревоЗначений»). В диалоге определено табличное поле, связанное через свойство данные с реквизитом «Дерево» (имя элемента управления «Дерево»). Следующая процедура произведет запись данных в дерево значений.
Процедура ЗаполнениеДерева(Кнопка)
Дерево.Колонки.Очистить();
Дерево.Колонки.Добавить(«ИмяКолонки»);
//Создать первую строку, т.е. создать элемент коллекции
// и поместить в переменную «СтрокаВерхнегоУровня»
СтрокаВерхнегоУровня=Дерево.Строки.Добавить();
//В колонку «ИмяКолонки» записать значение «Старшая»
СтрокаВерхнегоУровня.ИмяКолонки= «Старшая»;
//Создать строку подчиненную «Старшей»
ПодчиненнаяСтрока=СтрокаВерхнегоУровня.Строки.Добавить();
ПодчиненнаяСтрока.ИмяКолонки= «ПерваяПодчиненная»;
ПодчиненнаяВторогоУровня=ПодчиненнаяСтрока.Строки.Добавить();
ПодчиненнаяВторогоУровня.ИмяКолонки= «ПерваяНижняя»;
ПодчиненнаяВторогоУровня=ПодчиненнаяСтрока.Строки.Добавить();
ПодчиненнаяВторогоУровня.ИмяКолонки= «ВтораяНижняя»;
ПодчиненнаяСтрока=СтрокаВерхнегоУровня.Строки.Добавить();
ПодчиненнаяСтрока.ИмяКолонки= «ВтораяПодчиненная»;
//Использование метода позволяет увидеть результаты работы
// с деревом в табличном поле
ЭлементыФормы.Дерево.СоздатьКолонки();
КонецПроцедуры
Следующая процедура показывает один из вариантов установки текущего значения в элементе управления, связанного с деревом (табличном поле).
Процедура ОткрытиеВетки(Кнопка)
//Сделать текущим именно элемент коллекции «Строки»
РезультатПоиска=Дерево.Строки.Найти(«ПерваяНижняя»,
«ИмяКолонки»,Истина);
Если РезультатПоиска<>Неопределено Тогда
ЭлементыФормы.Дерево.ТекущаяСтрока= РезультатПоиска;
КонецЕсли;
КонецПроцедуры
1.5 Варианты работы системы
Традиционно для линейки 1С:Предприятие, рассматриваемая система поддерживает два варианта организации работы: файловый и клиент-серверный. И в том и в другом варианте все прикладные решения работают полностью идентично, что позволяет выбирать один или другой вариант работы без изменения существующего прикладного решения. Можно полностью перенести конфигурацию и данные с одного варианта на другой при помощи выгрузки информационной базы в файл и загрузки из него. Для работы клиент-серверного варианта используется SQL сервер компании Microsoft.
Платформа изолирует разработчика от понятий и подробностей более низкоуровневых технологий. При создании прикладных решений разработчик 1С:Предприятия не обращается к базе данных напрямую. Непосредственно он работает с платформой 1С:Предприятия. При этом он может:
Описывать структуры данных в конфигураторе;
Манипулировать данными с помощью объектов встроенного языка;
Составлять запросы к данным, используя язык запросов.
Платформа 1С:Предприятия обеспечивает операции выполнения запросов, описания структур данных и манипулирования данными, транслируя их в соответствующие команды. Это могут быть команды SQL Server в случае клиент – серверного варианта работы, или команды собственной СУБД для файлового варианта работы.
Рассмотрим классификацию программ 1С:Предприятия в зависимости от архитектуры и структуры БД.
По организации БД :
Файловый вариант;
Клиент - серверный вариант – сервер БД MS SQL Server 2000 или 2005.
В различных вариантах работы системы (файловый или клиент - серверный) 1С:Предприятие использует различные хранилища данных.
В файловом варианте работы все данные информационной базы хранятся в одном файле – 1Сv8.1CD. Этот файл имеет специальный формат, поддерживаемый системой 1С:Предприятие.
В клиент – серверном варианте все данные хранятся в базе данных SQL Server.
По архитектуре системы 1С:Предприятие делятся на:
Локальную;
Клиент-серверную;
Трехзвенную.
Рис. 2 Архитектуры программных систем
Прежде, чем перейти к описанию архитектур, необходимо ввести понятие масштабируемости.
Масштабируемость – показатель качества многопользовательских программных систем, определяющий зависимость времени отклика на стандартный запрос от числа одновременно работающих пользователей. В общем случае представляет собой кривую. При сравнительно небольшой нагрузке кривая сохраняет линейность, но с ростом числа пользователей время отклика возрастает нелинейно вплоть до точки «зависания» системы. Масштабируемость считается хорошей, если на интервале числа пользователей до максимально возможного на практике кривая сохраняет линейный характер. При этом угол наклона кривой на линейном участке не играет определяющей роли, так как он в значительной степени зависит от параметров аппаратного обеспечения.
Рис. 3 К понятию масштабируемости
Локальная архитектура обеспечивает прямое обращении всех пользователей к БД. Исторически это первый вариант организации доступа к БД. Его недостатки очевидны – неуправляемый доступ пользователей приводит к быстрому нелинейному увеличению времени обработки запросов. Следовательно, эта архитектура обладает принципиально самой низкой масштабируемостью.
Клиент-серверная архитектура обеспечивает частичную диспетчеризацию и полную оптимизацию запросов на сервере БД. Масштабируемость этого варианта существенно выше по сравнению с локальным. Однако при значительном увеличении числа пользователей кривая масштабируемости становится нелинейной. Это объясняется тем, что сервер БД является специализированным ПО, ориентированным на управление большими БД в целом. Механизмы управления входящим потоком запросов у них реализованы сравнительно слабо.
Трехзвенная архитектура обеспечивает максимальную масштабируемость за счет использования специализированного ПО – сервера приложения, назначением которого является управление потоком запросов от клиентов к серверу БД. За счет этого обеспечивается оптимальная загрузка сервера БД.
1С:Предприятие 8 – это новая современная версия. Имеет ряд существенных преимуществ:
Масштабируемая платформа;
Среда разработки и язык программирования на уровне мировых стандартов;
Современный гибкий интерфейс;
Расширенный функционал;
Хранение данных - все в одном: или файле 1cv8.1cd или на сервере MS SQL Server 2000;
Реализована трехзвенная архитектура.
Формат хранения данных – Unicode.
Варианты лицензирования: либо лицензии по числу пользователей, либо лицензия на сервер приложения