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

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

8.1 Приходная накладная

Самая важная и сложная часть задачи - описание товарооборота. Первым документом здесь будет приходная накладная. Необходимо занести остатки на склады, иначе нечего будет перемещать и списывать.

Номер накладной зависит от поставщика. Значит, нужно сделать возможность заносить не уникальные номера приходных накладных. В накладной, кроме полей Номер документа и Дата документа, присутствуют стороны, участвующие в товарообороте - "От кого" и "Кому". В приходной накладной им будут соответствовать поля "Поставщик" — контрагент и "Склад" - склад. Добавим еще одно поле - "Договор", нам надо знать, на основании чего произошла поставка товара.

Перейти к табличной части. Имеется графа "Наименование товара". Этой графе будет соответствовать графа "Товар", графы "Кол", "Цена", "Сумма". Кроме этих граф, добавятся следующие - "Ед" (единица измерения). Она покажет, в чем измеряется количество. "КолО" - если количество в графе "Кол", например, для яблок можем указать или в килограммах, или в ящиках и написать в произвольной единице измерения, то в графе "КолО" - привести к основной единице измерения товара. По графам "КолО" и "Сумма" понадобится итог по колонке. Документ разместить в журнале накладных.

Идентификатор: ПриходнаяНакладная

Журнал: Накладные

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

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

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

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

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

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

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

Шапка

Реквизит

Описание

ТипЗначения

Доп.

Поставщик

От кого пришел товар

С.Контрагенты

Договор

Основание отгруз­ки товара

С. Договора

Склад

Куда пришел товар

С.С клады

Таблица

Реквизит

Описание

ТипЗначения

Доп.

Товар

Товар

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

Кол

Количество в про­извольной ед. из­мерения

Число 8.2

+

Ед

Единица измере­ния

С. Единицы

КолО

Количество в ос­новной ед. измере­ния

Число 8.2

+,И

Цена

Цена поставки

Число 7.2

+

Сумма

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

Число 15.2

+, И

Здесь:

+ - неотрицательный;

И - итог по колонке.

  1. Создать в конфигураторе эти документ и журнал.

  2. В регистре "ОстаткиТоваров" исправить тип измерения "Партия" с "Неопределенный" на "Д.ПриходнаяНаклад-ная".

  3. Создать экранную форму документа.

  4. В свойствах поля "Договор" на закладке "Дополнительно" указать, что оно связано с полем "Поставщик" (как в документе "Приход денег").

  5. В свойствах колонки "Ед" на закладке "Дополнительно" указать, что она связана с колонкой "Товар" (справочник "Единицы" принадлежит справочнику "Номенклатура").

  6. В свойствах колонки "Товар" на закладке "Дополнительно" написать формулу Товар(). Эта процедура будет заполнять колонки "Кол", "Ед", "КолО", "Цена", "Сумма" сразу после ввода товара.

  7. При изменении значения в колонке "Кол" изменять "КолО" и "Сумма". В свойствах колонки "Кол" на закладке "Дополнительно" написать формулу Кол().

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

Процедура Кол()

КолО=Окр(Кол*(Ед.Коэффициент), 2,1);

Сумма-Окр(КолО*Цена,2,1);

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

  1. Теперь необходимо при изменим единицы измерения пересчитывать "КолО" и "Сумма". В свойствах колонки "Ед" на закладке "Дополнительно" написать формулу Ед().

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

Процедура Ед()

КолО=Окр(Кол*(Ед.Коэффициент),2,1);

Сумма=Окр(КолО*Цена,2.1);

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

  1. Колонки "КолО" и "Сумма" сделать недоступными для редактирования.

  2. Цена в приходной накладной устанавливается из справочника. Оставить себе возможность изменять цену в приходной накладной.

  3. При изменении цены накладной должна пересчитываться сумма. В свойствах колонки "Цена" на закладке "Дополнительно" написать формулу Цена().

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

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

Сумма=Окр(КолО*Цена,2,1);

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

  1. При изменении поля шапки "Поставщик" поле "Договор" должно очищаться. В свойствах поля "Поставщик" на закладке "Дополнительно" написать формулу Поставщик().

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

Процедура Поставщик()

Договор=ПолучитьПустоеЗначение("Справочник. Договора");

// Функция ПолучитьПустоеЗначение() возвращает пустое значение

// заданного типа

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

  1. Добавить в форму документа ниже табличной части элемент диалога Текст. В свойствах текста на закладке "Общие" очистить содержимое поля "Заголовок". На закладке "Дополнительно" в поле "Формула" написать: Итог("КолО"). Функция Итог() вернет итог по указанной колонке таблицы если для реквизита табличной части документа была указана опция "Итог по колонке - да".

  2. Добавить в форму документа, рядом с предыдущим полем, еще один элемент диалога Текст. В свойствах текста на закладке "Общие" очистить содержимое поля "Заголовок". На закладке "Дополнительно" в поле "Формула" написать: Итог("Сумма").

  3. Экранная форма почти готова. Добавить в документ печатную форму. В остальные документы печатные формы добавлять не будем.

  4. Добавить в форму документа, правее кнопки [Закрыть], элемент диалога Кнопка.

  5. Заголовок ей дать "Печать". Формула Печать().

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

Процедура Печать() Таб=СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Таблица "); Таб.ВывестиСекцию("Шапка");

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

НС=НомерСтроки;

// атрибут НомерСтроки возвращает номер текущей строки

И табличной части

Таб.ВывестиСекцию("Строка");

КонецЦикла;

ИтогПр=Формат(Итог("Сумма"),"ЧПДС");

// В переменную ИтогПр мы выведем сумму прописью

Таб.ВывестиСекцию("Подвал");

Таб.ТолькоПросмотр( 1);

Таб.ПараметрыСтраницы( 1,100,1);

Таб.Показать("");

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

  1. Перейти на закладку "Таблица" формы документа.

  2. Создать шаблон таблицы.

  3. Перейти в модуль документа.

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

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

// Долг за поставленный нам товар возрос

Регистр. Взаиморасчеты. Контрагент = Поставщик;

Регистр. Взаиморасчеты. Договор = Договор; Ре

гистр.Взаиморасчеты.Сумма - Итог("Сумма");

Регистр. Взаиморасчеты.Флаг Движения = 1;

Регистр. Взаиморасчеты..ДвижениеПриходВыполнить();

// по каждой строке

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

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

// Увеличиваем количество товара на складе

Регистр. ОстаткиТоваров.Склад = Склад;

Регистр.ОстаткиТоваров.Товар = Товар;

Регистр.ОстаткиТоваров.Партия = ТекущийДокумент();

Регистр.ОстаткиТоваров.Количество = КолО; Ре

гистр.ОстаткиТоваров.СуммаП = Сумма; Ре

гистр.ОстаткиТоваров.СуммаД = Сумма: Ре

гистр.ОстаткиТоваров.ФлагДвижения = 1;

Регистр.ОстаткиТоваров. ПривязыватьСтроку( НомерСт

роки);

// Указав команду ПривязыватьСтроку() мы к каждой за

писи по движению

// регистра укажем - какая конкретно строка документа

произвела это движение

Регистр.ОстаткиТоваров.ДвижениеПриходВыполнить();

// Добавляем запись о росте товарооборота Ре

гистр.ОборотьТоваров.Склад = Склад;

Регистр.Обороты Товаров.Товар = Товар;

Регистр.Обороты Товаров. Количество = КолО; Ре

гистр.Обороты Товаров.СуммаУ = Сумма; Ре

гистр.Обороты Товаров.ФлагДвижения = 1; Ре

гистр.Обороты Това

ров.ПривязыватьСтроку(НомерСтроки); Ре

гистр.ОборотыТоваров.ДвижениеВыполнить();

// Оборотный регистр осуществляет не приход/расход а,

движение

КонецЦикла;

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

Перейти теперь к журналу "Накладные".

  1. Добавить графу. Назвать ее "Кол". Для графы выберем значение Документ.ПриходнаяНакладная.КолО. Как видно, в списке доступных реквизитов из табличной части присутствуют только те, которые помечены итогом по колонке. В журнал в дополнительную графу тоже попадут значения итога по указанной колонке;

  2. Добавить еще графу — "Сумма". Документ. ПриходнаяНакладная.Сумма.

  3. Создать форму журнала.

  4. Отредактировать размеры и расположение граф.

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

  6. Загрузить 1С:Предприятие.

  7. Создать приходную накладную.

  8. Теперь сохранить и провести эту накладную.

  9. Открыть журнал "Накладные".

  10. Найти накладную.

  11. Посмотреть, какие движения она совершила.

  12. Сделайте еще несколько накладных от разных поставщиков по разным договорам на разные склады.

  13. Посмотрите, как изменились данные в отчете "Взаиморасчеты".