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