Содержание

2.33 Документ ПриходнаяНакладная.

По приходной накладной мы будем получать комплектующие от поставщиков. Проводка по этому документу сложнее (Д 10.2 – К 60, Д 19.3 – К 60). В данном документе нас интересует следующее: кто поставил нам комплектующие, на какой склад мы их приняли, что конкретно пришло, в каком количестве, по какой цене без НДС, на какую сумму. Сведем все в таблицу:
Идентификатор: ПриходнаяНакладная
Журнал: ПриходныеНакладные
Нумератор: Нет       Периодичность: Год
Длина: 5         Тип: число
Уникальность: да       Автонумерация: да
Может являться основанием для документа любого вида?: нет
Проводить: да
Автоматическое удаление движений: да
Автоматическая нумерация строк: да
Бухгалтерский учет: да
Расчет: нет
Оперативный учет: нет
Создавать операцию: Всегда       Редактировать операцию: нет

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

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

Шапка

Реквизит Описание ТипЗначения

Доп.

Поставщик   С.Контрагенты  
Склад   С.Склады  

Таблица

Реквизит Описание ТипЗначения

Доп.

Товар   С.Комплектующие  
Кол   Число 5.0 +, И
ЦенаБНДС Цена без НДС Число 7.2 +
ЦенаСНДС Цена с НДС Число 7.2 +
СуммаБНДС Сумма без НДС Число 13.2 +, И
СуммаНДС Сумма НДС Число 13.2 +, И
СуммаСНДС Сумма с НДС Число 13.2 +, И
Отредактируем журнал ПриходныеНакладные. Добавим в него две графы – Кол из реквизита таблицы Кол, и Сумма из реквизита СуммаСНДС. Настроим форму журнала.
Перейдем к форме документа. Создаем ее. Поля АвторДокумента и Курс делаем недоступными. В полях ввода Валюта и ДатаКурса пишем формулу Валюта(). Поля табличной части СуммаБНДС, СуммаНДС, СуммаСНДС делаем недоступными. В поле Товар пишем формулу Товар(), в поле Кол – Кол(), в поле ЦенаБНДС – ЦенаБНДС(), в поле ЦенаСНДС – ЦенаСНДС(). Под таблицей добавим текст с формулой для вычисления суммы по колонке Итог("Кол"), Итог("СуммаБНДС"), Итог("СуммаБНДС"). В модуле формы документа пишем:
Перем СтВалюта;
Перем СтДатаКурса;
Перем СтКурс;
//==========================================================
Процедура ВводНового()
  АвторДокумента=СокрЛП(ИмяПользователя());
  ФирмаДокумента=Константа.ОснФирма;
  Валюта=Константа.ОснВалюта;
  ДатаКурса=ДатаДок;
  Курс=1;
  СтВалюта=Валюта;
  СтДатаКурса=ДатаКурса;
  СтКурс=Курс;
  Поставщик = Константа.ОснПоставщик;
КонецПроцедуры
//==========================================================
Процедура ПриОткрытии()
  СтВалюта=Валюта;
  СтДатаКурса=ДатаКурса;
  СтКурс=Курс;
  ПриЗаписиПерепроводить(1);
КонецПроцедуры
//==========================================================
Процедура Валюта()
// При смене валюты, либо даты курса
  КурсС=СтКурс;
  КратС=СтВалюта.Кратность;
  КурсН=Валюта.Курс.Получить(ДатаКурса);
  КратН=Валюта.Кратность;
  Коэфф=Окр((КурсС*КратН)/(КурсН*КратС),6,1); // переводим в валюту документа
  Курс=КурсН;
  ВыбратьСтроки();
  Пока ПолучитьСтроку()=1 Цикл
// Обходим строки
    ЦенаБНДС=Окр(ЦенаБНДС*Коэфф,2,1);
    ЦенаСНДС=Окр(ЦенаСНДС*Коэфф,2,1);
    СуммаБНДС=Окр(ЦенаБНДС*Кол,2,1);
    СуммаСНДС=Окр(ЦенаСНДС*Кол,2,1);
    СуммаНДС=СуммаСНДС-СуммаБНДС;
  КонецЦикла;
  СтВалюта=Валюта;
  СтДатаКурса=ДатаКурса;
  СтКурс=Курс;
КонецПроцедуры
//==========================================================
Процедура Товар()
// Изменили товар, пересчитаем цену с НДС
  ЦенаСНДС=Окр(ЦенаБНДС*(1+(Товар.НДС.Значение/100)),2,1);
  СуммаСНДС=Окр(ЦенаСНДС*Кол,2,1);
  СуммаНДС=СуммаСНДС-СуммаБНДС;
КонецПроцедуры
//==========================================================
Процедура Кол()
  СуммаБНДС=Окр(ЦенаБНДС*Кол,2,1);
  СуммаСНДС=Окр(ЦенаСНДС*Кол,2,1);
  СуммаНДС=СуммаСНДС-СуммаБНДС;
КонецПроцедуры
//==========================================================
Процедура ЦенаБНДС()
  ЦенаСНДС=Окр(ЦенаБНДС*(1+(Товар.НДС.Значение/100)),2,1);
// Определим цену с НДС по цене без НДС
  СуммаБНДС=Окр(ЦенаБНДС*Кол,2,1);
  СуммаСНДС=Окр(ЦенаСНДС*Кол,2,1);
  СуммаНДС=СуммаСНДС-СуммаБНДС;
КонецПроцедуры
//==========================================================
Процедура ЦенаСНДС()
  ЦенаБНДС=Окр(ЦенаСНДС*(1-(Товар.НДС.ОбрЗначение/100)),2,1);
// Определим цену без НДС по цене с НДС
  СуммаБНДС=Окр(ЦенаБНДС*Кол,2,1);
  СуммаСНДС=Окр(ЦенаСНДС*Кол,2,1);
  СуммаНДС=СуммаСНДС-СуммаБНДС;
КонецПроцедуры

Теперь переходим к модулю документа. В этом документе наша операция будет уже посложней, в одной операции будет объединено несколько проводок, причем одна проводка будет относиться ко всему документу целиком, а остальные будут формироваться по строкам документа. Пишем следующую процедуру
Процедура ОбработкаПроведения()
  Если Склад.Выбран()=0 Тогда
// Если склад не указан
    Сообщить("Документ Приходная накладная №"+НомерДок+" от "+ДатаДок+"
    |не проведен.
    |Не выбран склад получатель");
// Делаем сообщение
    НеПроводитьДокумент();
// Указываем, что документ проводить не надо
    Возврат;
// Выходим из процедуры
  КонецЕсли;
  Если Поставщик.Выбран()=0 Тогда
    Сообщить("Документ Приходная накладная №"+НомерДок+" от "+ДатаДок+"
    |не проведен.
    |Не выбран поставщик");
    НеПроводитьДокумент();
    Возврат;
  КонецЕсли;
  КурсД=Курс;
  КратД=Валюта.Кратность;
  КурсУ=Константа.ОснВалюта.Курс.Получить(ДатаДок);
  КратУ=Константа.ОснВалюта.Кратность;
  Коэфф=Окр((КурсД*КратУ)/(КурсУ*КратД),6,1);
// Переводим в валюту документа
  ВыбратьСтроки();
  Пока ПолучитьСтроку() = 1 Цикл
// Обходим строки
    ПривязыватьСтроку(НомерСтроки);
// Здесь мы хотим указать какая строка документа вызвала эту проводку
    Операция.НоваяПроводка();
    Операция.Дебет.Счет = СчетПоКоду("10.2",ПланыСчетов.Наш);
    Операция.Дебет.МестоХранения = Склад;
    Операция.Дебет.Комплектующее = Товар;
    Операция.Дебет.ПриходнаяНакладная = ТекущийДокумент();
    Операция.Кредит.Счет = СчетПоКоду("60",ПланыСчетов.Наш);
    Операция.Кредит.Контрагент = Поставщик;
    Операция.Кредит.ПриходнаяНакладная = ТекущийДокумент();
    Операция.Количество = Кол;
    Операция.Сумма = Окр(СуммаБНДС*Коэфф,2,1);
    Операция.Фирма = ФирмаДокумента;
    Операция.Комментарий = "Поступление комплектующих";
    Операция.НомерЖурнала = "6";
  КонецЦикла;
  ПривязыватьСтроку(0);
// Эта проводка по всему документу вцелом
  Операция.НоваяПроводка();
  Операция.Дебет.Счет = СчетПоКоду("19.3",ПланыСчетов.Наш);
  Операция.Кредит.Счет = СчетПоКоду("60",ПланыСчетов.Наш);
  Операция.Кредит.Контрагент = Поставщик;
  Операция.Кредит.ПриходнаяНакладная = ТекущийДокумент();
  Операция.Сумма = Окр(Итог("СуммаНДС")*Коэфф,2,1);
  Операция.Фирма = ФирмаДокумента;
  Операция.Комментарий = "Учет НДС по поступ. комплектующим";
  Операция.НомерЖурнала = "6";
  Операция.Содержание = "Поступление комплектующих";
  Операция.СуммаОперации = Окр(Итог("СуммаСНДС")*Коэфф,2,1);
  Операция.Автор = АвторДокумента;
  Операция.Записать();
КонецПроцедуры

Теперь, когда создан документ "Приходная накладная", нам надо внести соответствующую поправку в Субконто ПриходнаяНакладная. Укажем в этом Субконто тип как Д.ПриходнаяНакладная.

2.34 Работа с документом ПриходнаяНакладная.

Документ "Приходная накладная" создан, в интерфейс внесен сам документ и его журнал. Давайте попробуем поработать с этим документом. Войдем в 1С:Предприятие и создадим Приходную накладную №1 от 02.01.2001.

Цены попытаемся вводить как с НДС, так и без НДС. Попробуем менять валюту. И наконец, проведем этот документ и посмотрим на получившуюся операцию и проводки. Создана одна операция на сумму 270 рублей и четыре проводки, три по дебету 10-ого счета на сумму 75, 100 и 50 рублей, и одна по дебету 19-ого счета на сумму 45 рублей. Документ попробуем проводить с разной валютой.
Используем теперь документ "Учет НДС" для списания с налогов суммы уплаченного поставщику НДС за купленные нами комплектующие. Вводим УчетНДС №1 от 03.01.2001. Сумма – 45 рублей. Проводим. Смотрим на операцию и проводку. Посмотрим как действует журнал проводок (меню Действия, команда "Перейти в журнал проводок"). Попробуем разделить по журналам нашим флажком. Все работает.


Предыдущая Содержание Следующая