По приходной накладной мы будем получать комплектующие от поставщиков. Проводка по этому документу сложнее (Д 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);
  Операция.Автор = АвторДокумента;
  Операция.Записать();
КонецПроцедуры
Теперь, когда создан документ "Приходная накладная",
нам надо внести соответствующую поправку в Субконто ПриходнаяНакладная.
Укажем в этом Субконто тип как Д.ПриходнаяНакладная.
Документ "Приходная накладная" создан, в интерфейс внесен сам документ и его журнал.
Давайте попробуем поработать с этим документом.
Войдем в 1С:Предприятие и создадим Приходную накладную №1 от 02.01.2001.
Цены попытаемся вводить как с НДС, так и без НДС. Попробуем менять валюту.
И наконец, проведем этот документ и посмотрим на получившуюся операцию и проводки.
Создана одна операция на сумму 270 рублей и четыре проводки,
три по дебету 10-ого счета на сумму 75, 100 и 50 рублей,
и одна по дебету 19-ого счета на сумму 45 рублей.
Документ попробуем проводить с разной валютой.
Используем теперь документ "Учет НДС" для списания с налогов суммы уплаченного
поставщику НДС за купленные нами комплектующие. Вводим УчетНДС №1 от 03.01.2001.
Сумма – 45 рублей. Проводим. Смотрим на операцию и проводку.
Посмотрим как действует журнал проводок (меню Действия, команда "Перейти в журнал проводок").
Попробуем разделить по журналам нашим флажком. Все работает.