Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1С: Лабораторная работа №4.doc
Скачиваний:
46
Добавлен:
23.03.2016
Размер:
586.75 Кб
Скачать

Программная установка свойств документа

В системе «1С: Предприятие» имеется объект ДокументОбъект, который позволяет обратиться к значениям реквизитов, задаваемых в конфигураторе. Для получения данного объекта следует воспользоваться методом ПолучитьОбъект(). Используя этот объект можно не только считывать, но и устанавливать необходимые реквизиты документа. В листинге 4 приведена процедура, которая позволяет сменить даты документов на текущую дату. Ее можно расположить в качестве процедуры обработки нажатия на кнопку, размещенную на форме. Метод Записать() позволяет записать элемент справочника в базу данных; если его не вызвать, изменения будут утеряны.

Листинг 4. Процедура установки даты документов

&НаСервере

Процедура ВыполнитьОбработкуНаСервере()

ВыборкаЗаказ = Документы.Заказ.Выбрать();

Пока ВыборкаЗаказ.Следующий() Цикл

Объект = ВыборкаЗаказ.ПолучитьОбъект();

Объект.Дата = ТекущаяДата();

Объект.Записать(РежимЗаписиДокумента.Проведение);

КонецЦикла;

КонецПроцедуры

&НаКлиенте

Процедура ВыполнитьОбработку(Команда)

ВыполнитьОбработкуНаСервере();

КонецПроцедуры

Рис. 14. Результат изменения дат документов

Задание для самостоятельного выполнения

  1. Для документа Заказ создайте форму с элементом управления кнопка с именем Выполнить.

  2. Напишите процедуру, которая позволяет изменить даты документов на текущую дату, и обслуживающую кнопку Выполнить, воспользовавшись примером, приведенным выше.

  3. Просмотрите полученный результат в режиме «1С: Предприятие «.

Заполнение документа на основании имеющихся данных

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

Создадим документ Заявка. Область шапки документа содержит один дополнительный реквизит – ФирмаЗаказчик (тип данных – СправочникСсылка.Фирмы). Табличная часть документа имеет имя ПереченьТоваров и два реквизита:

  • Номенклатура (тип данных - СправочникСсылка.Номенклатура);

  • Количество (тип данных – Число без дробной части) для внесения количества заявляемых изделий.

На Рис.15 показано окно редактирования документа Заявка.

Рис. 15. Окно редактирования документа Заявка

Создадим форму для обработки РаботаСДокументами. На форме нужно расположить поле ввода Заявка с типом данных ДокументСсылка.Заявка. Далее необходимо создать процедуру обслуживающую кнопку Выполнить, которая позволит формировать документ Заказ на основании документа Заявка. Текст процедуры приведен в листинге 5.

Листинг 5. Процедура создания заказа на основании заявки

&НаСервере

Процедура ВыполнитьОбработкуНаСервере()

НовыйЗаказ = Документы.Заказ.СоздатьДокумент();

НовыйЗаказ.Заказчик = Заявка.ФирмаЗаказчик;

НовыйЗаказ.Дата = ТекущаяДата();

Для Каждого СтрокаЗаявка Из Заявка.Перечень Цикл

СтрокаЗаказТовар = НовыйЗаказ.Перечень.Добавить();

СтрокаЗаказТовар.Товар = СтрокаЗаявка.Товар;

СтрокаЗаказТовар.Количество = СтрокаЗаявка.Количество;

КонецЦикла;

НовыйЗаказ.Записать(РежимЗаписиДокумента.Проведение);

КонецПроцедуры

&НаКлиенте

Процедура ВыполнитьОбработку(Команда)

ВыполнитьОбработкуНаСервере();

КонецПроцедуры

С помощью метода СоздатьДокумент() создается новый документ Заказ. С помощью метода Цикл производится добавление строки в формируемый документ Заказ и заполнение табличной части в этом документе. С помощью метода НовыйЗаказ.Записать() созданный документ вносится в базу данных.

На Рис.16 представлена форма обработки, для заполнения Заказа на основании Заявки.

Рис. 16. Форма обработки для создания заказа на основании заявки

Для проверки работоспособности созданной обработки в режиме «1С: Предприятие» необходимо открыть созданную форму и выполнить процедуру обработки кнопки Выполнить, получим новый документ Заказ (Рис.17).

Рис. 17. Созданный документ Заказ

Задание для самостоятельного выполнения

  1. Создайте документ Заявка.

  2. Шапка документа содержит один дополнительный реквизит – ФирмаЗаказчик (тип данных – СправочникСсылка.Фирма).

  3. Табличная часть документа имеет имя Перечень и два реквизита: Товар (тип данных - СправочникСсылка.Номенклатура) и Количество (тип данных – Число).

  4. В режиме «1С: Предприятие» заполните несколько документов по созданному шаблону (сформируйте несколько заявок).

  5. Для обработки РаботаСДокументами создайте форму.

  6. На форме расположите поле ввода Заявка (тип данных – ДокументСсылка.Заявка).

  7. Напишите процедуру, которая позволяет создать заказ на основании заявки, и обслуживающую кнопку Выполнить, воспользовавшись примером, приведенным выше.

  8. В режиме «1С: Предприятие» просмотрите полученный результат.