- •Лабораторная работа 10. Документ и регистр сведений
- •10.1. Основные понятия
- •10.2. Изменение настройки регистра сведений "ДанныеОс"
- •10.2.1. Изменение формы списка
- •10.3. Документ "Поступление"
- •10.3.1. Закладка "Основные"
- •10.3.2. Закладка "Данные"
- •10.3.3. Закладка "Нумерация"
- •10.3.7. Самостоятельная работа: закладка "Формы"
- •10.4. Работа с документами из встроенного языка системы
- •10.4.1. Менеджер документа
- •10.4.2. Самостоятельная работа: организация выборки
- •10.4.3. Работа с Документом как с объектом
- •10.5.1. Обработка событий от элементов формы
- •10.5.2. Получение итогов в подвале табличного поля
- •10.5.3. Обработка событий формы
- •10.6.2. Доработка процедуры ОбработкаПроведения(…)
- •10.6.3. Работа с движениями в форме документа
- •10.7. Работа с документом в режиме "1с:Предприятие"
- •10.8. Что мы узнали
- •Лабораторная работа 11(10_2). Отчеты и Запросы
- •11.1. Создание отчета (запроса) "вручную"
- •11.1.2. Особенности создания формы отчета
- •11.1.3. Модуль формы отчета
- •11.1.4. Изменение текста запроса и его выполнение
- •11.1.5. Выборка данных из результата запроса
- •11.2. Вызов отчета из интерфейса конфигурации
- •11.3. Обращение к отчету из встроенного языка системы
- •11.3.1. Модуль отчета
- •11.4. Конструктор выходных форм
10.4.2. Самостоятельная работа: организация выборки
Этот раздел Вы изучите самостоятельно.
Упражнение №10.9. |
Переключитесь на закладку "Макеты". Вызовите Конструктор печати и добавьте с его помощью кнопку "Печать" в основную форму документа "Поступление". Какой метод использовал конструктор для организации выборки? |
10.4.3. Работа с Документом как с объектом
У объектов типа ДокументСсылка и ДокументВыборка есть метод ПолучитьОбъект(), который позволяет получить доступ к объекту типа ДокументОбъект.<Имя документа>.
В этом и последующих разделах мы рассмотрим особенности объекта этого типа (по сравнению со справочниками).
Свойство Проведен. позволяет определить проведен ли документ.
Метод .Записать(…) имеет два параметра, которые определяют режим записи и режим проведения документа. Заметим, что провести можно только записанный документ:
НовыйДокумент=Документы.Имя.СоздатьДокумент(); НовыйДокумент.Дата = … ; НовыйДокумент.Номер = … ; НовыйДокумент.… = … ; ……………………………………………………… // Записываем и проводим документ в реальном времени НовыйДокумент.Записать( РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Оперативный); Если Не НовыйДокумент.Проведен Тогда Сообщить("Об ошибке проведения"); КонецЕсли;
Более подробно работу со свойствами, методами и событиями мы разберем ниже.
10.5. Форма документа В этом разделе мы выполним настройку формы документа и начнем с обработки событий от элементов формы.
10.5.1. Обработка событий от элементов формы
В этой форме мы будем использовать, в основном, событие "При изменении". Поэтому выполните следующее упражнение.
Упражнение №10.10. |
||||||||||
Установите свойство "При изменении" для следующих элементов формы:
Вставьте для каждой процедуры текст обработчика события согласно следующему назначению: // Обработчики событий от элементов формы // ФирмаПриИзменении(Элемент) - устанавливает новый номер // документа согласно префиксу фирмы Процедура ФирмаПриИзменении(Элемент) // Вставить содержимое обработчика. КонецПроцедуры // ДатаПриИзменении(Элемент) - изменяет дату курса, курс и // пересчитывает содержимое колонок "ЦенаУЕ" и "СуммаУЕ" по // новому курсу Процедура ДатаПриИзменении(Элемент) // Вставить содержимое обработчика. КонецПроцедуры // ДатаКурсаПриИзменении(Элемент) - изменяет курс и // пересчитывает содержимое колонок "ЦенаУЕ" и "СуммаУЕ" по // новому курсу Процедура ДатаКурсаПриИзменении(Элемент) // Вставить содержимое обработчика. КонецПроцедуры // КурсПриИзменении(Элемент) - пересчитывает содержимое // колонок "ЦенаУЕ" и "СуммаУЕ" по новому курсу Процедура КурсПриИзменении(Элемент) // Вставить содержимое обработчика. КонецПроцедуры Совет: при написании текстов процедур можно ориентироваться на текст модуля формы элемента справочника "ОсновныеСредства". |
Перейдем теперь к обработке событий полей ввода табличного поля. Для сокращения объема кодирования мы выполним только пересчет из рублей в УЕ и пересчет рублевой суммы.
Упражнение №10.11. |
||||||||
Сбросьте флаг "Редактирование текста" для полей ввода "ЦенаУЕ" и "СуммаУЕ". Установите для полей ввода свойство "При изменении":
Реализуйте процедуру ПересчетСтроки(…) самостоятельно. |
