Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИСиТ. Методичка.doc
Скачиваний:
25
Добавлен:
04.11.2018
Размер:
745.47 Кб
Скачать

7. Лабораторная работа №6

7.1. Создание документа "Изменение цен"

Документы при проведении могут изменять значения периодических реквизитов справочников. Разумеется, документы могут изменять значения и непериодических реквизитов, но это мало интересно. При изменении периодических реквизитов программа будет запоминать, когда и с помощью чего меняли значения.

В справочнике "Номенклатура" имеются два реквизита интересующего типа: "ЦенаП" и "ЦенаР". В их свойствах было указано, что они могут изменяться документами. Спроектируем такой документ.

Пусть документ будет иметь возможность изменять цену не одного товара, а любого количества. Значит, он будет содержать многострочную часть. Документ должен иметь возможность изменять сразу и цену поступления, и цену реализации. При работе с ценами товара необходимо видеть, какие цены были до изменения. Эти поля должны быть не редактируемые. Для документа будет заведен отдельный журнал. Создать этот документ. Все данные по документу сведены в таблицу:

Идентификатор: ИзменениеЦен

Журнал: ИзменениеЦен

Нумератор: Нет Периодичность: Год

Длина: 5 Тип: число

Уникальность: да Автонумерация: да

Оперативный учет: нет

Может являться основанием для документа любого вида?: нет

Является основанием для

Вводится на основании

Шапка

Реквизит

Описание

ТипЗначения

Доп.

Таблица

Реквизит

Описание

ТипЗначения

Доп.

Товар

Товар

С.Номенклатура

СтЦенаП

Старая цена прихода

Число 7.2

ЦенаП

Новая цена прихода

Число 7.2

СтЦенаР

Старая цена расхода

Число 7.2

ЦенаР

Новая цена расхода

Число 7.2

  1. Создать новый документ.

  2. Идентификатор - "ИзменениеЦен", Синоним - "Изменение цен", Комментарий - "изменение цен товара".

  3. Документ будет проводиться и перепроводиться.

  4. Новый журнал - "ИзменениеЦен".

  5. В окне свойств документа заполнить позиции согласно таблицы.

  6. Создать форму документа.

  7. Графы "СтЦенаП" и "СтЦенаР" сделать недоступными.

  8. На поле ввода "Товар" поместить формулу ВыбТовар().

  9. На поле ввода "ЦенаП" поместить формулу ЦенаП().

  10. В модуль формы добавить две процедуры:

Процедура ВыбТовар()

СтЦенаП=Товар.ЦенаП.Получить(ДатаДок); Це

наП=Товар.ЦенаП.Получить(ДатаДок); СтЦе

наР=Товар.ЦенаР.Получить(ДатаДок); Це

наР=Товар.ЦенаР.Получить(ДатаДок);

// Получаем значения периодических реквизитов справочника на

дату документа

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

//

Процедура ЦенаП()

ЦенаР=Окр(ЦенаП*( 1

+(Константа..ПроцентНаценки/100 )),2,1);

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

  1. Перейти к модулю документа;

  2. Написать процедуру обработки проведения документа:

Процедура ОбработкаПроведения()

ВыбратьСтроки();

Пока ПолучитьСтроку()=1 Цикл

УстановитьРеквизитСправочни

ка(Товар,"ЦенаП",ЦенаП);

УстановитьРеквизитСправочннка(Товар,"ЦенаР",ЦенаР);

// Мы указываем периодические реквизиты элемента

справочника,

// указанного в поле Товар и значения, которые они будут

теперь

иметь

КонецЦикла;

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

  1. Сохранить конфигурацию.

  2. Загрузить 1С:Предприятие и ввести новый документ "Изменение цен".