
- •Ведение
- •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 Контрольные вопросы
- •Список литературы
2.3.1.7 Ввод документов на основании
Одним из режимов ввода новых документов в процессе работы пользователя с системой является режим ввода «на основании». С точки зрения пользователя режим ввода «на основании» позволяет вводить документы, заполняя их реквизиты из других объектов информационной базы. (Можно ввести документ одного вида на основании данных из документа другого вида и т. п.).
Механизм ввода на основании может быть использован для ввода новых объектов различного типа (документы, справочники, планы видов характеристик и т.д.). Мы рассмотрим этот механизм на примере ввода новых документов, как наиболее распространенном.
Для каждого объекта конфигурации Документ можно разрешить его ввод на основании других объектов базы данных и возможность являться основанием для других объектов. Действия по заполнению реквизитов при вводе на основании должны быть описаны в модуле объекта Документ, в обработчике события «Обработка заполнения». Есть возможность использовать конструктор ввода на основании, который позволяет визуальными средствами конструировать текст обработчика.
Познакомимся
с данным механизмом на примере «заведения»
документа «Доверенность» на основании
документа «Счет». Откроем документ
«Доверенность» и перейдем на вкладку
«Ввод на основании». В списке «Вводится
на основании» надо щелкнуть по кнопке
«Редактировать элемент списка», в ответ
откроется диалог «Выбор объекта», в
котором надо поставить флажок напротив
документа «Счет» и щелкнуть на [ОК].
Рис. 85 Выбор объекта - основания
Рис. 86
В
ответ выбранный документ появится в
списке формы. После этого надо вызвать
конструктор ввода на основании щелчком
по кнопке
,
в ответ откроется его диалог, в котором
надо щелкнуть по кнопке [Заполнить
выражения]. После щелчка по кнопке [ОК]
откроется текстовый редактор с процедурой
«ОбработкаЗаполнения()» в модуле объекта.
Рис. 87
Рис. 88
Перейдем
в пользовательский режим, создадим там
новый документ «Счет», запишем его, а
затем на панели инструментов щелкнем
по кнопке
«Ввести на основании», в появившемся
списке выберем тип документа «Доверенность»,
и в ответ откроется форма документа
доверенность с уже заполненными
реквизитами.
Второй способ использования ввода на основании заключается в заполнении реквизитами вновь создаваемого документа «Доверенность» по выбранному документу – основанию «Счет». Для этого в форме документа необходимо задать обработчик «Обработка выбора» поля ввода «ДокументОснование», скопировав туда тело процедуры «ОбработкаЗаполнения».
Рис. 89 Задание обработчика «ОбработкаВыбора»
Рис. 90 Текст обработчика «ОбрвботкаВыбора »
Запустите 1С:Предприятие в режиме отладки и проверьте работу ввода на основании. Обратите внимание, что в командной панели формы списка документа «Счет» появилась кнопка «Ввести на основании»:
2.3.2 Задание на лабораторную работу
1. Создать перечисление «ВидыОплаты» с элементами: «Наличный», «Безналичный», «Взаиморасчет».
2. Создать новые типы документов и формы ввода для них:
ПРИХОДНАЯНАКЛАДНАЯ с реквизитами:
Наименование
Тип элемента шапки
Тип элемента табличной части
Длина
Дробь
Склад
СправочникСсылка.Склады
Поставщик
СправочникСсылка.Контрагенты
РасчетныйСчет
СправочникСсылка.РасчетныеСчета
ВидОплаты
Перечисление.ВидыОплаты
СуммаДокумента
Число
15
2
Материалы
Табличная Часть
Материал
СправочникСсылка.Номенклатура
Цена
Число
15
2
Количество
Число
15
3
Сумма
Число
15
2
ОКАЗАНИЕУСЛУГИ с реквизитами:
Наименование
Тип элемента шапки
Тип элемента табличной части
Длина
Дробь
Склад
СправочникСсылка.Склады
Мастер
СправочникСсылка.Сотрудники
Клиент
СправочникСсылка.Клиенты
ВидОплаты
Перечисление.ВидыОплаты
СуммаДокумента
Число
15
2
ПереченьНоменклатуры
Табличная Часть
Номенклатура
СправочникСсылка.Номенклатура
Цена
Число
15
2
Количество
Число
15
3
Сумма
Число
15
2
Услуги
Табличная Часть
Услуга
СправочникСсылка.Номенклатура
Сумма
Число
15
2
РАСХОДНАЯНАКЛАДНАЯ с реквизитами:
Наименование
Тип элемента шапки
Тип элемента табличной части
Длина
Дробь
Склад
СправочникСсылка.Склады
ДокументОснование
ДокументСсылка
Контрагент
СправочникСсылка.Клиенты
ВидОплаты
Перечисление.ВидыОплаты
СуммаДокумента
Число
15
2
Материалы
Табличная Часть
Материал
СправочникСсылка.Номенклатура
Цена
Число
15
2
Количество
Число
15
3
Сумма
Число
15
2
СЧЕТ с реквизитами:
Наименование
Тип элемента шапки
Тип элемента табличной части
Длина
Дробь
Склад
СправочникСсылка.Склады
Контрагент
СправочникСсылка.Клиенты
СуммаДокумента
Число
15
2
Материалы
Табличная Часть
Материал
СправочникСсылка.Номенклатура
Цена
Число
15
2
Количество
Число
15
3
Сумма
Число
15
2
ДОВЕРЕННОСТЬ с реквизитами:
Наименование
Тип элемента шапки
Тип элемента табличной части
Длина
Дробь
Склад
СправочникСсылка.Склады
ДокументОснование
ДокументСсылка
Контрагент
СправочникСсылка.Клиенты
ФИО
Строка
50
ВидОплаты
Перечисление.ВидыОплаты
СуммаДокумента
Число
15
2
Материалы
Табличная Часть
Материал
СправочникСсылка.Номенклатура
Цена
Число
15
2
Количество
Число
15
3
Сумма
Число
15
2
ПРИХОДНЫЙКАССОВЫЙ ОРДЕР с реквизитами:
Наименование
Тип элемента шапки
Тип элемента табличной части
Длина
Дробь
КонтактноеЛицо
СправочникСсылка
ДокументОснование
ДокументСсылка
СуммаОплаты
Число
15
2
РАСХОДНЫЙКАССОВЫЙ ОРДЕР с реквизитами:
Наименование |
Тип элемента шапки |
Тип элемента табличной части |
Длина |
Дробь |
КонтактноеЛицо |
СправочникСсылка |
|
|
|
ДокументОснование |
ДокументСсылка |
|
|
|
СуммаОплаты |
Число |
|
15 |
2 |
3. Настроить ввод на основании:
РасходнаяНакладная на основе Счета;
Доверенность на основе Счета;
ПриходныйКассовыйОрдер на основе РасходнойНакладной, ОказанияУслуг;
РасходныйКассовыйОрдер на основе ПриходнойНакладной.
4. В документах предусмотреть автоматическое заполнение колонки «Стоимость» на основе значений колонок «Цена» и «Количество», реквизита «СуммаДокумента» как суммарного значения колонки «Стоимость».
5. Продемонстрировать работающую конфигурацию.