Дополнение
Создаем форму документа. Поля АвторДокумента и Курс сделаем недоступными. В полях валюта и ДатаКурса в формуле укажем процедуру Валюта().
Разместим реквизиты формы документа в более-менее приемлемом виде.
В модуле формы напишем:
Перем СтВалюта;
Перем СтДатаКурса;
Перем СтКурс;
//Переменные для пересчета суммы при изменении валюты документа
//==========================================================
Процедура ВводНового()
АвторДокумента=СокрЛП(ИмяПользователя());
ФирмаДокумента=Константа.ОснФирма;
Валюта=Константа.ОснВалюта;
ДатаКурса=ДатаДок;
Курс=1;
// Заполняем значения по умолчанию
СтВалюта=Валюта;
СтДатаКурса=ДатаКурса;
СтКурс=Курс;
КонецПроцедуры
//==========================================================
Процедура ПриОткрытии()
СтВалюта=Валюта;
СтДатаКурса=ДатаКурса;
СтКурс=Курс;
ПриЗаписиПерепроводить(1);
// При записи изменений перепроводить обязательно
КонецПроцедуры
//==========================================================
Процедура Валюта()
КурсС=СтКурс;
КратС=СтВалюта.Кратность;
КурсН=Валюта.Курс.Получить(ДатаКурса);
КратН=Валюта.Кратность;
Коэфф=Окр((КурсС*КратН)/(КурсН*КратС),6,1);
// Переводим в валюту документа
Курс=КурсН;
Сумма=Окр(Сумма*Коэфф,2,1);
// Пересчитываем сумму
СтВалюта=Валюта;
СтДатаКурса=ДатаКурса;
СтКурс=Курс;
КонецПроцедуры
Перейдем к модулю документа. Учет мы будем вести в базовой валюте. Здесь мы напишем самый наипростейший вариант модуля проведения. В данном случае нам надо только перевести сумму с одного счета на другой одной проводкой. Напишем процедуру проведения:
Процедура ОбработкаПроведения()
КурсД=Курс;
КратД=Валюта.Кратность;
КурсУ=Константа.ОснВалюта.Курс.Получить(ДатаДок);
КратУ=Константа.ОснВалюта.Кратность;
Коэфф=Окр((КурсД*КратУ)/(КурсУ*КратД),6,1); // переводим в валюту документа
СуммаО=Окр(Сумма*Коэфф,2,1);
// Пересчитали сумму документа в сумму операции в базовую валюту
ПривязыватьСтроку(0);
// Следующая за этой командой новая проводка к строке документа не
// привязывается
Операция.НоваяПроводка();
// Создаем проводку (простую) по операции
Операция.Дебет.Счет = СчетПоКоду("68.1",ПланыСчетов.Наш);
Операция.Кредит.Счет = СчетПоКоду("19.3",ПланыСчетов.Наш);
// Указали корреспонденцию проводки
Операция.Сумма = СуммаО;
// Сумма проводки
Операция.Фирма = ФирмаДокумента;
Операция.Комментарий = "Учет НДС за приобретенные комплектующие";
Операция.НомерЖурнала = " ";
// Дополнительные сведения по проводке
Операция.Содержание = "Учет НДС";
Операция.СуммаОперации = СуммаО;
Операция.Автор = СокрЛП(ИмяПользователя());
// Дополнительные сведения по операции
Операция.Записать();
КонецПроцедуры
2.32 Работа с документом УчетНДС.
Документ создан. Давайте его проверим. Входим в 1С:Предприятие и создаем новый документ "Учет НДС" на сумму 1000 тугриков (для примера), затем меняем валюту на рубли и получаем 22.77 рубля (при курсе 22.77 руб. за 1000 тугриков) все сходится, вернем тугрики. Сохраним и проведем документ. Смотрим журнал операций (Меню Действия команда "Перейти в журнал операций"). Сумма операции 22.77 (при сумме документа 1000) – верно. Проверяем проводку – тоже все верно. Документ написан правильно. Удалим этот документ, чтобы не мешал.
2.33 Документ ПриходнаяНакладная.
По приходной накладной мы будем получать комплектующие от поставщиков. Проводка по этому документу сложнее (Д 10.2 – К 60, Д 19.3 – К 60). В данном документе нас интересует следующее: кто поставил нам комплектующие, на какой склад мы их приняли, что конкретно пришло, в каком количестве, по какой цене без НДС, на какую сумму. Сведем все в таблицу:
Идентификатор: ПриходнаяНакладная Журнал: ПриходныеНакладные Нумератор: Нет Периодичность: Год Длина: 5 Тип: число Уникальность: да Автонумерация: да Может являться основанием для документа любого вида?: нет |
|
Проводить: да Автоматическое удаление движений: да Автоматическая нумерация строк: да |
Бухгалтерский учет: да Расчет: нет Оперативный учет: нет |
Создавать операцию: Всегда Редактировать операцию: нет |
|