
- •Тема 1. Обзор системы 1с:Предприятие 8.0
- •1.1. Обзор системы 1с:Предприятие 8.0
- •1.2. Объекты конфигурации
- •1.3. Инструменты разработки
- •1.4. Администрирование
- •1.5. Файловый и клиент-серверный варианты работы
- •Вопросы для повторения
- •Резюме по теме
- •Тема 2. Встроенный язык. Программные модули.
- •2.1. Встроенный язык
- •2.1.1. Программные модули
- •2.1.2. Разделы программного модуля
- •2.2. Контекст
- •2.3. Стандарты именования переменных, процедур и объектов конфигурации
- •2.4. Правила написания программных модулей
- •2.5. Конструкции встроенного языка
- •2.5.1. Условия
- •2.5.2. Циклы
- •2.5.3. Безусловные переходы
- •2.5.4. Обработка исключений
- •2.5.5. Процедуры и функции
- •2.6. Инструкции препроцессора
- •2.7. Типы данных
- •2.8. Редактор программных модулей
- •Вопросы для повторения
- •Резюме по теме
- •Тема 3. Основные объекты конфигурации
- •3.1. Константы
- •3.2. Справочники, их структура, предопределенные элементы, подчиненные справочники, иерархические справочники
- •3.2.1. Структура справочника
- •3.2.2. Предопределенные элементы
- •3.2.3. Подчиненные справочники
- •3.2.4. Табличные части
- •3.2.5. Иерархические справочники
- •3.2.6. Экранные формы
- •3.3. Документы и журналы документов
- •3.3.1. Структура документа
- •3.3.2. Экранные формы документа
- •3.3.3. Макеты документа
- •3.3.4. Проведение документов
- •3.3.5. Модуль документа
- •3.3.6. Нумерация документов
- •3.3.7. Журналы документов
- •3.3.8. Последовательности
- •3.4. Перечисления
- •3.5. Отчеты и обработки
- •3.6. Внешние обработки
- •Вопросы для повторения
- •Резюме по теме
- •Тема 4. Интерфейс пользователя
- •4.1. Интерфейсы
- •4.2. Экранные формы
- •4.3. Редактор форм
- •4.4. Элементы управления
- •4.4.1. Поле ввода
- •4.4.2. Надпись
- •4.4.3. Кнопка
- •4.4.4. Командная панель
- •4.4.5. Флажок
- •4.4.6. Переключатели
- •4.4.7. Табличное поле
- •4.4.8. Поле списка
- •4.4.9. Поле выбора
- •4.4.10. Панель
- •4.4.11. Поле табличного документа
- •4.4.12. Рамка
- •4.4.13. Картинка
- •4.4.14. Диаграмма
- •4.4.15. Индикатор
- •4.4.16. Полоса регулирования
- •4.4.17. Поле календаря
- •4.4.18. Поле текстового документа
- •4.4.19. Поле html-документа
- •4.4.20. Разделитель
- •4.5. Привязка границ
- •4.6. Приемы программирования
- •4.6.1. Открытие и закрытие форм
- •4.6.2. Формы для выбора
- •4.6.3. Внешний вид формы
- •4.6.4. Элементы формы
- •Вопросы для повторения
- •Резюме по теме
- •Тема 5. Коллекции значений
- •5.1. Массив
- •5.2. Структура и соответствие
- •5.3. Список значений
- •5.4. Таблица значений
- •5.5. Дерево значений
- •Вопросы для повторения
- •Резюме по теме
- •Тема 6. Взаимодействие с другими системами
- •6.1. Текстовые файлы
- •6.1.1. Объект «ТекстовыйДокумент»
- •6.1.2. Последовательный доступ к тексту
- •6.1.3. Объект «ЗаписьТекста»
- •6.1.4. Объект «ЧтениеТекста»
- •6.2. XBase (работа с dbf-файлами)
- •6.2.1. Запись dbf-файла
- •6.2.2. Чтение dbf-файла
- •6.2.3. Удаленные записи
- •6.2.4. Индексы
- •6.3.1. Запись xml
- •6.3.2. Чтение xml
- •6.4. Интернет-технологии
- •6.4.1. Интернет-соединение
- •6.4.2. Поле html-документа
- •6.4.3. Электронная почта (e-mail)
- •6.4.4. Работа с ftp
- •6.5. Работа с операционной системой
- •6.7. Механизм Automation
- •6.8. Технология внешних компонент
- •Вопросы для повторения
- •Резюме по теме
- •Практикум (лабораторный) Лабораторная работа №1. Знакомство с платформой 1с:Предприятие 8.0. Создание новой информационной базы.
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №2. Знакомство с объектом конфигурации «Справочник».
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №3. Знакомство с объектом конфигурации «Документ».
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №4. Знакомство с объектом конфигурации «Регистр накопления».
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №5. Знакомство с объектом конфигурации «Отчет».
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №6. Знакомство с объектом конфигурации «Макет».
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №7. Редактирование макетов и форм.
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №8. Периодический регистр сведений.
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №9. Знакомство с объектом конфигурации «Перечисление».
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №10. Проведение документа по нескольким регистрам.
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №11. Оборотный регистр накопления.
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа № 12. Знакомство с объектом конфигурации «Отчет» ч.1.
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа № 13. Знакомство с объектом конфигурации «Отчет» ч.2.
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
Список индивидуальных данных
Продолжается разработка выбранной в первой лабораторной работе индивидуальной темы.
Пример выполнения работы
На примере создания универсального отчета мы познакомимся с объектом встроенного языка ПостроительОтчета и узнаем, как работать со сводной таблицей.
Создание универсального отчета
Рассмотрим один из вариантов использования построителя отчета, в котором результаты отчета будут выводиться в сводную таблицу.
Создадим в конфигураторе новый объект конфигурации Отчет «Универсальный». Этот отчет будет иметь реквизит «ПостроительОтчета», с типом ПостроительОтчета.
В модуле отчета создадим текст запроса для построителя отчета. Для этого вставим в модуль следующие строки:
ПостроительОтчета.Текст =
;
Установим курсор перед символом точки с запятой и вызовем конструктор запросов (Текст | Конструктор запроса...).
В качестве таблицы выберем виртуальную таблицу регистра накопления «Продажи.Обороты». Из этой таблицы выберем все поля:
На закладке «Итоги» укажем получение общих итогов и выберем все ресурсы регистра:
Нажмем «ОК». В модуле отчета появится текст сформированного запроса:
Добавим в текст запроса указания для построителя отчетов:
Теперь создадим форму отчета и расположим на ней поле табличного документа (Форма | Вставить элемент управления I Поле табличного документа) с именем
«Поле ТабличногоДокумента».
Затем установим курсор в верхнюю левую ячейку поля табличного документа и выполним Таблица | Встроенные таблицы | Вставить сводную таблицу.
После этого создадим обработчик события формы отчета «При открытии», и добавим в него следующий текст:
Этим текстом мы устанавливаем сводной таблице в качестве источника данных построитель отчета.
Запустим 1С:Предприятие в режиме отладки и откроем отчет «Универсальный». На экране появится форма отчета, и окно выбора полей сводной таблицы:
Поместим значение ресурса «ВыручкаОборот» в данные, измерение «Номенклатура» в строки, а измерение «Мастер» в колонки. Отчет примет вид:
Теперь в окне выбора полей сводной таблицы раскроем группу «Номенклатура» и добавим значение «(Без иерархии)» в строки, а измерение «Клиент» добавим в колонки. Отчет изменит свой вид:
Таким образом, используя построитель отчета, мы предоставили пользователю возможность самостоятельно формировать отчет по регистру «ОказанныеУслуги» в том виде, который ему нужен.
Отчет Универсальный2
На примере создания второго универсального отчета рассмотрим способы непосредственного управления настройками построителя отчета и возможность формирования макетов на основе вариантов стандартного оформления.
Для более легкого понимания будем использовать практически тот же самый запрос по регистру накопления «Продажи». Таким образом, можно сказать, что в этом отчете просто познакомимся с другим вариантом управления настройками построителя отчета.
Создадим новый объект конфигурации Отчет с именем «Универсальный2».
На закладке «Данные» создадим реквизит отчета с именем «ПостроительОтчета» и типом ПостроительОтчета. На закладке «Формы» с помощью конструктора создадим основную форму отчета и приступим к ее редактированию.
Расположим в форме две надписи с именами «Поля» и «Порядок» и заголовками «Поля:» и «Порядок:» соответственно.
Под каждым текстовым полем расположим командную панель и табличное поле с именами «КоманднаяПанельПоля» и «ТабличноеПолеПоля» (соответственно «КоманднаяПанельПорядок» и «ТабличноеПолеПорядок»):
Теперь для табличного поля «ТабличноеПолеПоля» зададим источник данных как ОтчетОбъект.ПостроительОтчета.ВыбранныеПоля:
После этого для командной панели «КоманднаяПанельПоля» установим флаг «Автозаполнение» и в качестве источника действий укажем ТабличноеПолеПоля:
Затем аналогичные действия произведем для другой командной панели и табличного поля.
Табличному полю «ТабличноеПолеПорядок» укажем источник данных ОтчетОбъект.ПостроительОтчета.Порядок, и у командной панели «КоманднаяПанельПорядок» поднимем флаг «Автозаполнение» и укажем в качестве источника действий ТабличноеПолеПорядок:
Путем этих несложных действий мы связали элементы управления, расположенные в форме, со свойствами построителя отчета «ВыбранныеПоля» и «Порядок». Свойство «ВыбранныеПоля» позволяет управлять списком полей, которые войдут в результат запроса, а свойство «Порядок» позволяет настраивать порядок вывода строк результата запроса.
Кроме этого, для того, чтобы пользователь мог настраивать значения этих полей, мы расположили в форме две командные панели, связанные с этими табличными полями. Используя свойства командных панелей «Автозаполнение» и «ИсточникДействий» мы добились автоматического формирования команд в командных панелях, исходя из типа данных, содержащихся в каждом из табличных полей.
Теперь в нижней части формы разместим еще одну надпись с именем «Оформление» и заголовком «Оформление:», а под ним поле выбора с именем «ПолеВыбораОформление»:
Теперь откроем модуль формы и добавим в него текст запроса для построителя отчета:
Как видите это совсем простой запрос по регистру накопления «Продажи», в котором расположены управляющие конструкции для построителя отчета.
Конструкция «ВЫБРАТЬ» позволяет предоставить пользователю возможность выбирать в качестве полей запроса как сами исходные поля запроса, так и все поля «через точку» от данных полей.
Конструкция «УПОРЯДОЧИТЬ ПО» предоставляет пользователю возможность упорядочивать строки результата запроса.
Теперь, для того, чтобы привести состав полей в «исходное» состояние, добавим команду очистки выбранных полей построителя отчета, и затем в обработчик «КнопкаСформироватьНажатие» вставим команды выполнения построителя отчета:
Если построителю отчета не указывать объект, в который необходимо выводить результат, то результат будет выведен в новый табличный документ. Построитель отчета имеет возможность оформить макет результата, используя варианты стандартного оформления макетов. Для этого мы в начале процедуры получаем стандартный макет оформления, используя значение, которое будет выбрано пользователем в поле выбора, а затем на основе этого макета оформляем макет, созданный построителем отчета по умолчанию.
Здесь следует сказать о том, что построитель отчета предоставляет возможность полностью формировать макет будущего отчета, как задавая его целиком (свойство «Макет»), так и путем описания отдельных областей макета (свойства «МакетДетальныхЗаписей», «МакетЗаголовка» и т.д.).
Теперь, для завершения нашего универсального отчета следует заполнить список выбора поля выбора «ПолеВыбораОформление» и установить начальное значение поля. Для этого добавим в конце модуля формы следующий текст:
Запустим 1С:Предприятие в режиме отладки и откроем отчет «Универсальный2».
Выберем поля: «Мастер», «Номенклатура.ВидНоменклатуры», «Номенклатура» и «Выручка». Зададим следующий порядок сортировки:
«Мастер» по возрастанию,
«Номенклатура.ВидНоменклатуры» по убыванию,
«Номенклатура» по возрастанию.
Выберем оформление «Апельсин» и нажмем «Сформировать». Результат будет выглядеть следующим образом:
Теперь изменим условия формирования отчета. Выберем поля «Клиент», «Номенклатура» и «Выручка», порядок сортировки будет по возрастанию значения поля «Клиент», а вариант оформления - «Асфальт»:
Таким образом, на примере этого отчета мы познакомились с возможностью задания условий для построителя отчета и одним из способов формирования макета отчета на основе интерактивного выбора пользователя.
Использование построителя отчета в конструкторе выходной формы
В заключение рассмотрим некоторые из созданных нами только что отчетов, но построенные уже с использованием построителя отчета в конструкторе выходной формы.
Отчет Универсальный3
Посмотрим, как будет выглядеть отчет «Универсальный2», если, при создании его в конструкторе выходной формы, указать использование построителя отчета.
Создадим новый объект конфигурации Отчет с именем «Универсальный3». Запустим конструктор выходной формы, и выберем все поля из виртуальной таблицы регистра накопления «Продажи.Обороты».
На закладке «Итоги» отметим получение общих итогов и перейдем на закладку «Отчет»:
Используя построитель отчета можно вывести результат запроса в табличный документ, сводную таблицу, диаграмму или сводную диаграмму. Для каждого выбранного представления данных можно настроить параметры оформления (например, выбрать вариант стандартного оформления) и некоторые способы формирования представления (например, для табличного документа - размещение группировок, реквизитов, итогов, наличие группировок и т.д.).
В нашем случае согласимся с параметрами, которые конструктор предложил по умолчанию, единственное, что мы изменим - вариант стандартного оформления установим «Асфальт».
Перейдем на закладку «Выходная форма» и откроем закладку: «Форма настройки построителя отчета»:
Дело в том, что кроме самой формы отчета, на которой будет расположено представление данных, конструктор формирует сразу же форму настройки отчета, позволяющую пользователю интерактивно настраивать параметры отчета. В конструкторе мы имеем возможность выбрать, какие из параметров настройки будут доступны пользователю и, кроме того, определить, на какой из форм будет расположена настройка отбора: либо в форме настроек отчета, либо прямо на самой форме отчета.
В нашем случае мы снова согласимся с тем, что конструктор предлагает по умолчанию, и нажмем «ОК».
Конструктор сформирует форму отчета и форму настроек отчета.
Запустим 1С:Предприятие в режиме отладки, откроем отчет «Универсальный3», нажмем кнопку «Настройка...» и установим параметры выбранных полей и порядка такими же, как в последнем примере с отчетом «Универсальный2»:
выбранные поля: «Клиент», «Номенклатура», «ВыручкаОборот»,
порядок: «Клиент» по возрастанию:
Как вы видите, мы получили тот же самый результат, однако достигнуть его оказалось гораздо легче; кроме этого, в отчете появилась дополнительная функциональность - возможность установки отбора и изменения состава выбранных полей и порядка вывода результатов.
Отчет ВыручкаМастеров2
Теперь, мы создадим отчет, аналогичный отчету «ВыручкаМастеров», который будет выводить результат в сводную диаграмму.
Откроем конфигуратор и создадим новый объект конфигурации Отчет с именем «ВыручкаМастеров2». Запустим конструктор выходной формы, и выберем поля «Мастер», «Клиент», «Выручка», «Стоимость» и «Номенклатура.ВидНоменклатуры» из виртуальной таблицы регистра накопления «Продажи». На закладке «Итоги» укажем группировочные поля «Мастер» и «Клиент» и суммируемые поля «Выручка» и «Стоимость». В заключение на закладке «Отчет» отметим, что результат должен быть выведен только в сводную диаграмму. Нажмем «ОК».
Запустим 1С:Предприятие в режиме отладки и откроем отчет «ВыручкаМастеров2». На закладке «Настройка» укажем, что порядок вывода должен быть по убыванию значения поля «ВыручкаОборот». После этого двойным щелчком мыши по полю сводной диаграммы откроем окно выбора параметров диаграммы и в точки диаграммы поместим поле «Мастер», в серии - поле «Клиент», а поля «ВыручкаОборот» и «СтоимостьОборот» поместим в данные:
Теперь зададим условие отбора таким, что значение поля «Номенклатура.ВидНоменклатуры» должно быть равно «Материал» (для ввода условия отбора можно использовать клавишу «Insert», либо правую кнопку мыши и «Добавить»).
И в заключение, после того как диаграмма будет заново сформирована, раскроем группу серий «ВыручкаОборот»:
Таким образом, на примере этого отчета мы продемонстрировали возможность использования сводной диаграммы и построителя отчета при создании отчета конструктором выходной формы.
Как вы видите, использование этих инструментов позволяет предоставить пользователю достаточно широкие возможности по интерактивной работе с данными и в то же время упрощает задачу разработчика, сводя ее, в большинстве случаев, к визуальному описанию параметров будущего отчета.
Оформить отчет по лабораторной работе и ответить на контрольные вопросы.
Отчет оформляется стандартно, с обязательным указанием номера лабораторной работы, ее темы, сведений о лице, выполнившем лабораторную работу (ФИО, № группы), должен быть указан порядок выполнения работы (последовательность действий, какие объекты были созданы, их роль и обоснование необходимости создания), который должен подтверждаться необходимыми скриншотами и/или алгоритмами.