- •1. Концепция системы 1с:предприятие
- •1.1 Краткое описание понятий (объектов) системы
- •1.2. Технологические средства конфигурирования и администрирования системы 1с:Предприятие
- •1.3. Понятие «метаданные»
- •1.4. Конфигурация
- •2. Лабораторная работа №1
- •2.1. Постановка задачи
- •2.2. Создание конфигурации и начало работы с метаданными
- •3. Лабораторная работа №2
- •3.1. Константы в системе 1с:Предприятие
- •3.2. Справочники в системе 1с:Предприятие
- •3.3. Перечисления в системе 1с:Предприятие
- •3.4. Создание справочника товаров
- •4. Лабораторная работа №3
- •4.1. Создание справочника складов справочника контрагентов и справочника договоров с контрагентами
- •4.2. Создание справочника контрагентов
- •4.3. Создание справочника договоров с контрагентами
- •5. Лабораторная работа №4
- •5.1. Документы в системе 1с:Предприятие
- •5.2. Журналы в системе 1с:Предприятие
- •5.3. Регистры в системе 1с:Предириятие
- •5.4. Хранение данных по взаиморасчетам с контрагентами
- •6. Лабораторная работа №5
- •6.1. Отчеты в системе 1с:Предприятие
- •6.2. Создание отчета
- •7. Лабораторная работа №6
- •7.1. Создание документа "Изменение цен"
- •7.2. Создание регистров по товарам
- •8. Лабораторная работа №7
- •8.1 Приходная накладная
- •8.2. Отчет по остаткам на складе
- •9. Лабораторная работа №8
- •9.1. Создание перечисления "МетодСписания"
- •9.2. Создание расходной накладной
- •10. Лабораторная работа №9
- •10.1. Создание отчета "ОбороткаПоДолгам"
- •10.2. Создание отчета "ОбороткаПоСкладу"
- •10.3. Создание отчета по прибыли с товара
- •10.4. Создание отчета по обороту товара
- •11. Теоретические вопросы по компоненте «оперативный учет» системы 1с: предприятие
- •12. Примеры практических задании
8. Лабораторная работа №7
8.1 Приходная накладная
Самая важная и сложная часть задачи - описание товарооборота. Первым документом здесь будет приходная накладная. Необходимо занести остатки на склады, иначе нечего будет перемещать и списывать.
Номер накладной зависит от поставщика. Значит, нужно сделать возможность заносить не уникальные номера приходных накладных. В накладной, кроме полей Номер документа и Дата документа, присутствуют стороны, участвующие в товарообороте - "От кого" и "Кому". В приходной накладной им будут соответствовать поля "Поставщик" — контрагент и "Склад" - склад. Добавим еще одно поле - "Договор", нам надо знать, на основании чего произошла поставка товара.
Перейти к табличной части. Имеется графа "Наименование товара". Этой графе будет соответствовать графа "Товар", графы "Кол", "Цена", "Сумма". Кроме этих граф, добавятся следующие - "Ед" (единица измерения). Она покажет, в чем измеряется количество. "КолО" - если количество в графе "Кол", например, для яблок можем указать или в килограммах, или в ящиках и написать в произвольной единице измерения, то в графе "КолО" - привести к основной единице измерения товара. По графам "КолО" и "Сумма" понадобится итог по колонке. Документ разместить в журнале накладных.
Идентификатор: ПриходнаяНакладная Журнал: Накладные Нумератор: Нет Периодичность: Год Длина: 5 Тип: число Уникальность: нет Автонумерация: нет Оперативный учет: да Может являться основанием для документа любого вида?: нет |
|||
Является основанием для |
Вводится на основании |
||
Шапка |
|||
Реквизит |
Описание |
ТипЗначения |
Доп. |
Поставщик |
От кого пришел товар |
С.Контрагенты |
|
Договор |
Основание отгрузки товара |
С. Договора |
|
Склад |
Куда пришел товар |
С.С клады |
|
Таблица |
|||
Реквизит |
Описание |
ТипЗначения |
Доп. |
Товар |
Товар |
С. Номенклатура |
|
Кол |
Количество в произвольной ед. измерения |
Число 8.2 |
+ |
Ед |
Единица измерения |
С. Единицы |
|
КолО |
Количество в основной ед. измерения |
Число 8.2 |
+,И |
Цена |
Цена поставки |
Число 7.2 |
+ |
Сумма |
Сумма документа |
Число 15.2 |
+, И |
Здесь:
+ - неотрицательный;
И - итог по колонке.
-
Создать в конфигураторе эти документ и журнал.
-
В регистре "ОстаткиТоваров" исправить тип измерения "Партия" с "Неопределенный" на "Д.ПриходнаяНаклад-ная".
-
Создать экранную форму документа.
-
В свойствах поля "Договор" на закладке "Дополнительно" указать, что оно связано с полем "Поставщик" (как в документе "Приход денег").
-
В свойствах колонки "Ед" на закладке "Дополнительно" указать, что она связана с колонкой "Товар" (справочник "Единицы" принадлежит справочнику "Номенклатура").
-
В свойствах колонки "Товар" на закладке "Дополнительно" написать формулу Товар(). Эта процедура будет заполнять колонки "Кол", "Ед", "КолО", "Цена", "Сумма" сразу после ввода товара.
-
При изменении значения в колонке "Кол" изменять "КолО" и "Сумма". В свойствах колонки "Кол" на закладке "Дополнительно" написать формулу Кол().
-
В модуль формы добавить процедуру:
Процедура Кол()
КолО=Окр(Кол*(Ед.Коэффициент), 2,1);
Сумма-Окр(КолО*Цена,2,1);
КонецПроцедуры.
-
Теперь необходимо при изменим единицы измерения пересчитывать "КолО" и "Сумма". В свойствах колонки "Ед" на закладке "Дополнительно" написать формулу Ед().
-
В модуль формы добавить процедуру:
Процедура Ед()
КолО=Окр(Кол*(Ед.Коэффициент),2,1);
Сумма=Окр(КолО*Цена,2.1);
КонецПроцедуры
-
Колонки "КолО" и "Сумма" сделать недоступными для редактирования.
-
Цена в приходной накладной устанавливается из справочника. Оставить себе возможность изменять цену в приходной накладной.
-
При изменении цены накладной должна пересчитываться сумма. В свойствах колонки "Цена" на закладке "Дополнительно" написать формулу Цена().
-
В модуль формы добавить процедуру:
Процедура Цена()
Сумма=Окр(КолО*Цена,2,1);
КонецПроцедуры
-
При изменении поля шапки "Поставщик" поле "Договор" должно очищаться. В свойствах поля "Поставщик" на закладке "Дополнительно" написать формулу Поставщик().
-
В модуль формы добавить процедуру:
Процедура Поставщик()
Договор=ПолучитьПустоеЗначение("Справочник. Договора");
// Функция ПолучитьПустоеЗначение() возвращает пустое значение
// заданного типа
КонецПроцедуры.
-
Добавить в форму документа ниже табличной части элемент диалога Текст. В свойствах текста на закладке "Общие" очистить содержимое поля "Заголовок". На закладке "Дополнительно" в поле "Формула" написать: Итог("КолО"). Функция Итог() вернет итог по указанной колонке таблицы если для реквизита табличной части документа была указана опция "Итог по колонке - да".
-
Добавить в форму документа, рядом с предыдущим полем, еще один элемент диалога Текст. В свойствах текста на закладке "Общие" очистить содержимое поля "Заголовок". На закладке "Дополнительно" в поле "Формула" написать: Итог("Сумма").
-
Экранная форма почти готова. Добавить в документ печатную форму. В остальные документы печатные формы добавлять не будем.
-
Добавить в форму документа, правее кнопки [Закрыть], элемент диалога Кнопка.
-
Заголовок ей дать "Печать". Формула Печать().
-
В модуль формы добавить процедуру:
Процедура Печать() Таб=СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Таблица "); Таб.ВывестиСекцию("Шапка");
ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл
НС=НомерСтроки;
// атрибут НомерСтроки возвращает номер текущей строки
И табличной части
Таб.ВывестиСекцию("Строка");
КонецЦикла;
ИтогПр=Формат(Итог("Сумма"),"ЧПДС");
// В переменную ИтогПр мы выведем сумму прописью
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр( 1);
Таб.ПараметрыСтраницы( 1,100,1);
Таб.Показать("");
КонецПроцедуры.
-
Перейти на закладку "Таблица" формы документа.
-
Создать шаблон таблицы.
-
Перейти в модуль документа.
-
Написать процедуру проведения документа:
Процедура ОбработкаПроведения()
// Долг за поставленный нам товар возрос
Регистр. Взаиморасчеты. Контрагент = Поставщик;
Регистр. Взаиморасчеты. Договор = Договор; Ре
гистр.Взаиморасчеты.Сумма - Итог("Сумма");
Регистр. Взаиморасчеты.Флаг Движения = 1;
Регистр. Взаиморасчеты..ДвижениеПриходВыполнить();
// по каждой строке
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
// Увеличиваем количество товара на складе
Регистр. ОстаткиТоваров.Склад = Склад;
Регистр.ОстаткиТоваров.Товар = Товар;
Регистр.ОстаткиТоваров.Партия = ТекущийДокумент();
Регистр.ОстаткиТоваров.Количество = КолО; Ре
гистр.ОстаткиТоваров.СуммаП = Сумма; Ре
гистр.ОстаткиТоваров.СуммаД = Сумма: Ре
гистр.ОстаткиТоваров.ФлагДвижения = 1;
Регистр.ОстаткиТоваров. ПривязыватьСтроку( НомерСт
роки);
// Указав команду ПривязыватьСтроку() мы к каждой за
писи по движению
// регистра укажем - какая конкретно строка документа
произвела это движение
Регистр.ОстаткиТоваров.ДвижениеПриходВыполнить();
// Добавляем запись о росте товарооборота Ре
гистр.ОборотьТоваров.Склад = Склад;
Регистр.Обороты Товаров.Товар = Товар;
Регистр.Обороты Товаров. Количество = КолО; Ре
гистр.Обороты Товаров.СуммаУ = Сумма; Ре
гистр.Обороты Товаров.ФлагДвижения = 1; Ре
гистр.Обороты Това
ров.ПривязыватьСтроку(НомерСтроки); Ре
гистр.ОборотыТоваров.ДвижениеВыполнить();
// Оборотный регистр осуществляет не приход/расход а,
движение
КонецЦикла;
КонецПроцедуры
Перейти теперь к журналу "Накладные".
-
Добавить графу. Назвать ее "Кол". Для графы выберем значение Документ.ПриходнаяНакладная.КолО. Как видно, в списке доступных реквизитов из табличной части присутствуют только те, которые помечены итогом по колонке. В журнал в дополнительную графу тоже попадут значения итога по указанной колонке;
-
Добавить еще графу — "Сумма". Документ. ПриходнаяНакладная.Сумма.
-
Создать форму журнала.
-
Отредактировать размеры и расположение граф.
-
Сохранить конфигурацию.
-
Загрузить 1С:Предприятие.
-
Создать приходную накладную.
-
Теперь сохранить и провести эту накладную.
-
Открыть журнал "Накладные".
-
Найти накладную.
-
Посмотреть, какие движения она совершила.
-
Сделайте еще несколько накладных от разных поставщиков по разным договорам на разные склады.
-
Посмотрите, как изменились данные в отчете "Взаиморасчеты".