Sphere
Войти

Доработка приходной накладной в 1С

Сначала мы доработаем оба наши документа (ПриходнаяНакладная и ОказаниеУслуги) так, чтобы они «поставляли» данные не только для регистров накопления, но и для регистра бухгалтерии.

Затем мы создадим бухгалтерский отчет Оборотно-сальдовая ведомость, который будет показывать нам состояние товародвижения в ООО «На все руки мастер», основываясь на данных регистра бухгалтерии.

При проведении наши документы будут создавать следующие бухгалтерские проводки – записи в регистре бухгалтерии (таблица 1).


photoArticle


Эти проводки мы отразим при создании движений документов в регистре бухгалтерии. Итак, сначала изменим процедуру проведения документа ПриходнаяНакладная, а затем в режиме 1С:Предприятие перепроведем все эти документы, чтобы отработал новый, измененный нами алгоритм проведения документа ПриходнаяНакладная.


В режиме «Конфигуратор»

В окне редактирования объекта конфигурации Документ ПриходнаяНакладная перейдем на закладку Движения. В списке регистров отметим, что документ будет создавать теперь движения и по регистру бухгалтерии Управленческий. Перейдем на закладку Прочее и откроем модуль объекта. Откроем процедуру обработчика события ОбработкаПроведения. В самом конце цикла перед строкой КонецЦикла добавим строки кода, создающие движения регистра Управленческий.


// Регистр Управленческий

Движение = Движения.Управленческий.Добавить();

Движение.СчетДт = ПланыСчетов.Основной.Товары;

Движение.СчетКт = ПланыСчетов.Основной.РасчетыСПоставщиками;

Движение.Период = Дата;

Движение.Сумма = ТекСтрокаМатериалы.Сумма;

Движение.КоличествоДт = ТекСтрокаМатериалы.Количество;

Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Материалы] = ТекСтрокаМатериалы.Материал;


Перед началом цикла установим свойство Записывать набора записей регистра Управленческий в значение Истина для записи изменений регистра в базу данных. В результате процедура ОбработкаПроведения будет выглядеть следующим образом.


photoArticle


Прокомментируем этот код. Как видите, движения для регистра бухгалтерии формируются таким же образом, как и для регистра накопления. Но платформа (при создании таблицы хранения данных) добавила к созданным нами реквизитам регистра еще ряд полей, которые явились следствием использования плана счетов Основной.

Прежде всего, это поля СчетДт и СчетКт. В этих полях указываются счета, дебет и кредит которых затрагивает данная проводка.

Кроме этого, для измерений и ресурсов регистра, связанных с признаками учета, платформа создает пару полей для хранения значения каждого ресурса отдельно по дебету и отдельно по кредиту проводки – КоличествоДт и КоличествоКт. А также для счетов, по которым ведется учет в разрезе субконто, платформа создает коллекции СубконтоДт и СубконтоКт. Если обратиться к таблице 1, то при проведении приходной накладной счетом по дебету должен быть счет Товары (41), а счетом по кредиту – счет РасчетыСПоставщиками (60).

К счету мы обращаемся с помощью свойства глобального контекста ПланыСчетов. Оно предоставляет доступ ко всем планам счетов, созданным в конфигурации. Через точку от него мы указываем имя нужного нам плана счетов – Основной. А далее, тоже через точку, указываем имя предопределенного счета в этом плане счетов – Товары. Этот счет (и три других) мы создали в конфигураторе.

Так как количественный учет у нас ведется только для счета Товары (41), то поле регистра КоличествоДт заполняется количеством товара из табличной части документа. Поле регистра КоличествоКт не заполняется, так как по счету кредита проводки (РасчетыСПоставщиками) количественный учет не ведется.

Теперь рассмотрим последнюю строку цикла, в которой присваивается значение субконто дебета.

Дело в том, что количество субконто на счете дебета и на счете кредита в каждой проводке будет различное, в зависимости от того, как определены счета в используемом плане счетов. Поэтому для каждой записи движения регистра бухгалтерии платформа хранит две коллекции значений: коллекцию субконто дебета и коллекцию субконто кредита. Каждая из них содержит ровно столько элементов, сколько видов субконто указано использовать для соответствующего счета (дебета или кредита) в плане счетов.

Обратиться к элементу коллекции можно, указав в квадратных скобках ссылку на соответствующий вид субконто (ПланыВидовХарактеристик.ВидыСубконто.Материалы).

Другой способ – в явном виде указать имя предопределенного вида субконто через точку от коллекции субконто дебета. Другими словами, запись Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто. Материалы] равносильна записи Движение.СубконтоДт.Материалы.

Коллекция регистра СубконтоКт не заполняется, так как по счету кредита проводки (РасчетыСПоставщиками) учет в разрезе субконто у нас не ведется.

В заключение отредактируем командный интерфейс формы документа, чтобы в панели навигации формы иметь возможность переходить к списку записей регистра Управленческий, связанному с документом. Для этого откроем форму документа ПриходнаяНакладная. В левом верхнем окне перейдем на закладку Командный интерфейс. В разделеПанель навигации раскроем группу Перейти и установим видимость для команды открытия регистра бухгалтерии Управленческий.


В режиме «1С:Предприятие»

Запустим «1С:Предприятие» в режиме отладки. Платформа предупредит нас, что регистр бухгалтерии Управленческий и справочник Субконто не включены ни в одну подсистему. Проигнорируем это сообщение.

Откроем документ Приходная накладная № 1 и нажмем Провести. Выполним команду перехода к регистру Управленческий и посмотрим, какие движения сформировал документ в регистре бухгалтерии.


photoArticle


photoArticle


Обратите внимание: поскольку на счете 60 (РасчетыСПоставщиками) отсутствует аналитика и ведется только суммовой учет, в записях движений регистра Субконто1Кт, Субконто2Кт и КоличествоКт не указаны.

Обратите внимание: поскольку на счете 60 (РасчетыСПоставщиками) отсутствует аналитика и ведется только суммовой учет, в записях движений регистра Субконто1Кт, Субконто2Кт и КоличествоКт не указаны.


Доработка документа «Оказание услуги»

photoAccount
Опубликовано
imageviews 27
EDGESECTION Sphere