1С Режим Конфигуратор

       

Дополнение


Товар

С.Комплектующие



Кол

Число 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 рублей. Проводим. Смотрим на операцию и проводку. Посмотрим как действует журнал проводок (меню Действия, команда "Перейти в журнал проводок"). Попробуем разделить по журналам нашим флажком. Все работает.

Глава 7

2.37 Документ НарядНаСборку.

Этим документом мы будем запускать в производство очередную партию комплектующих. В наряде будет указано с какого склада брать заготовки, кто из работников будет заниматься сборкой и, главное, какие изделия и в каком количестве должны быть сделаны. Количество и ассортимент комплектующих мы будем определять по справочнику Комплектация.



Проводка документа (Д 20 – К 10.2). Документ должен будет списать со склада некоторое количество комплектующих, при этом списание должно идти по методу FIFO, в первую очередь из более ранних накладных.

Документ будет помещен в специальный журнал.

Идентификатор: НарядНаСборку

Журнал: НарядыНаСборку

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

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

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

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

Проводить: да

Автоматическое удаление движений: да

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

Бухгалтерский учет: да

Расчет: нет

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

Создавать операцию: Всегда     Редактировать операцию: нет


Содержание раздела