Какие операции делают в 1с

Обновлено: 06.07.2024

Для начала я бы хотел написать, что в принципе сподвигло меня на написание данной статьи, а именно, отсутствие в принципе какой либо информации (во всяком случае в моем информационном поле) касательно темы написания типовых операций для БГУ 2. У меня есть подозрение, что написав такой шикарный адекватный механизм в новой версии (по сравнению с которым БГУ 1 нервно курит в сторонке), методисты расслабились, программисты ушли на перекур, а комьюнити осталось абсолютно обделенным. Приходя во многие учреждения, каких только операций я не видел. Отсутствующие реквизиты в проводках, поголовно все реквизиты вынесенные в дополнительные, на каждом шагу внутри прописаные реквизиты вручную, остатки копи-пасты в виде корявых описаний, а сверху, вишенкой на торте, красуются кривые ЖО, бессмысленные субконто, и не дай бог конечно (если у уникума был доступ к конфигуратору) снятый с поддержки релиз. Эта статья зрела 3 года внутри меня, и наконец-то получила шанс реализоваться.

Что такое типовая операция? Типовая операция это механизм формирования бухгалтерских проводок в конфигурации БГУ 2 (БГУ 1 касаться не будем). На этом моменте колени внедренцев ERP начинают нервно дрожать, ведь аналогичный механизм по хорошему сильно облегчил бы им жизнь во внедрении, но увы и ах, такая прерогатива доступна только госсектору, с его перегруженым учетом. Давайте разберемся для начала, почему для нас никогда не хватит стандартных типовых операций, которые идут из коробки? А дело все в том, что стандартные операции не покрывают наши потребности полностью. Если мы с вами заглянем под капот конфигурации, то обнаружим, что у многих механизмов до сих пор нет оптимального решения, из-за чего каждый раз, когда приходишь туда, где тебя не было (или был, но давно) приходится разгребать громадную свалку.

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

Итак, приступим. В принципе, для написания мало-мальских операций, вам хватит статьи на ИТС (при наличии подписки ИТС статью вы можете найти по запросу < Настройка типовых операций в редакции 2 "1С:Бухгалтерии государственного учреждения 8" >). Но мы же не за этим здесь собрались, чтобы просто сидеть и читать ИТС, верно?

Большой скриншот первой страницы типовой операции к описанию ниже


Начнем мы с того, что рассмотрим, из каких разделов состоят типовые операции. Открыв любую типовую мы с вами увидим:

1) Окно состояния поддержки. Здесь можно изменить состояние поддержки операции. В скопированной операции данное окно заменится ссылкой на типовую операцию оригинал (родитель)

2) Сравнить с поставляемой операцией. С помощью этой кнопки удобно сравнивать скопированные операции с операцией оригиналом (родителем)

3) Галочка "Не используется". Очень полезная штука, особенно когда вы переделываете операции за кем-то, и старье нужно куда-то скрыть с глаз бухгалтеров. Если вы нажимаете данную галочку, то операция перестанет показываться в списках типовых операций. Можно вернуть зайдя в справочник типовых и увидеть их (они будут выделены темно серым цветом)

4) Наименование типовой операции.

5) Документ к которому привязана типовая операция (без этой привязки ее существование невозможно)

6) Условие использования. Грубо говоря это условие отбора, при котором будет показываться операция в списке.

7) Используется внешняя процедура. Эта галочка скажет, что функцию формирования типовой возьмет на себя внешняя процедура.

8) Вкладки разделов типовой операции

9) Галочка устанавливать блокировку. Необходима в документах, где вычисляется стоимость чего-то, например перемещение-списание МЗ.

10) Формула получения организации для проводок

11) Формула получения даты для проводок

12) Условие формирования операции

13) Описание функции (если будете щелкать в разделе бухгалтерские операции в окошечке выше - покажет вам описание функций от разработчиков)

14) Текст при ошибке (напишется, если в проводке не будет соблюдено условие из поля 12

15) Настроить доступ для пользователей

Также наверху вы можете увидеть кнопку "Скопировать операцию", которая была намерено проигнорирована. Сейчас мы с нее как раз и начнем. Формат будет таким: мы рассмотрим составление операции от начала и до конца, в каждом пункте, я буду делать полезные заметки, которые помогут вам, вашим коллегам и вашим бухгалтерам комфортно работать. Так-же я приверженец автоматического импорта/экспорта типовых операций, в следствии чего вы научитесь как писать операции, которые вы сможете потом просто экспортировать в файлик и установить необходимые скопом вашему клиенту меньше чем за минуту (в том числе во фреш).

Сейчас я набросаю подобие задачи, которую мы будем решать в процессе этой статьи:

В нашем учреждении 2 лицевых счета. По одному на каждый КФО (вид средств). Соответственно у нас проблема. При поступлении от поставщика партии, оплаченой единовременно по КФО 2 и КФО 4, денежные обязательства (санкционирование необходимости оплаты) встают сугубо на один раздел лицевого счета. А мы хотим, чтобы мало того, что раздел лицевого счета подтягивался в проводку, но и чтобы он определял сам, какой и где потребуется.

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

Предлагаю изначально не создавать пустую типовую операцию с нуля. Давайте скопируем ту, которая у нас уже есть. В данном случае это "Поступление по договорам купли-продажи, договорам поставки, другим аналогичным договорам" из документа "Поступление МЗ". Чтобы скопировать операцию нажмем на кнопку вверху "Скопировать операцию". На выбор мы увидим три пункта:


1) Установить связь с копируемой операцией

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

2) Установить связь, как у копируемой операции

Этот пункт свяжет нашу операцию с оригиналом (родителем) той операции, которую мы копируем (если он у нее есть). Данный пункт стоит выбирать, если вы будете копировать уже измененную типовую операцию у которой была связь.

3) Не устанавливать связь с операцией

Все логично. Абсолютно бессмысленный пункт по моему мнению. Если вы знаете что-то, чего не знаю я - пожалуйста напишите в комментариях.

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

Перейдем к формированию названия. Для себя хорошим тоном в написании операции, я считаю необходимость зафиксировать в названии оригинал типовой операции и дописать к ней своеобразный тег. При таком принципе наименования мы сразу с вами поймем, на базе чего строилась операция, какие проводки в теории она будет делать и по тегу мы можем предположить какой у нее смысл. Например, данную операцию я назову "Поступление по договорам купли-продажи, договорам поставки, другим аналогичным договорам \\ АВТО РАЗДЕЛ Л/С //". Сразу возникает вопрос, что я добавил в конце. Таким образом я выделяю свои теги. Вы можете использовать свои варианты с любыми символами. Например, я видел попытки помечать измененные операции плюсами, звездочками и прочим, но мне нравится данный вариант, потому что его никто не использует, он бросается в глаза бухгалтеру, да и встретить 2 слеша или 2 бекслеша в наименовании типовой - это надо постараться конечно (за счет этого я очень быстро нахожу свои операции в справочнике типовых). Написание тега так-же должно быть полностью осознанным. Не пытайтесь писать там проводки или счета корреспонденты. Очень часто я вижу теги из разряда *401.10 дир доп аналитика* в этот момент в голове происходит взрыв. И даже не потому, что из данного описания ничего не понятно, а потому, что сам автор уже забыл, что это и как это. Если кто-то хочет узнать, почему мое наименование более емкое в данном случае - объясняю. У этой операции есть только 1 проводка, которая будет использовать раздел лицевого счета, в данном случае это проводка 502.11 - 502.12. Предполагая, какие операции будут в данной типовой (мы же оставили оригинальное наименование), я могу понять, что здесь будет какая то автоматическая выборка раздела лицевого счета по определенным закономерностям.


Думаю, с наименованием мы разобрались, пойдем дальше. Условие использования трогать не будем. Меня полностью устраивает, что эта типовая возникнет именно в этом разделе и именно с данными отборами (скажу честно, это условие еще и багнутое, поэтому я крайне не рекомендую его изменять).

Последнее, что я бы хотел сделать на этой вкладке, это задать комментарий. И вы можете мне сказать, что его негде оставлять, и вы будете совершенно правы! Господа из 1С, если вы читаете эту статью, пожалуйста, сделайте еще одну вкладку с информацией о типовой операции. Вы можете даже ее не заполнять, она не для вас, она для нас. А теперь к делу. У нас с вами есть огромное бессмысленное поле с условием, в котором мы можем написать с вами послание потомкам или самому себе в будущее (которое позволит вам уже расшифровать ваш тег подробнее). Я предлагаю написать условие, которое точно всегда будет осуществимо.


Что-то вроде такого (сейчас это слабо похоже на то, что должно быть в результате, просто потому, что я пока не уверен в том, через какой механизм я буду это реализовывать, перепишем наш комментарий в перспективе).

Запишем нашу типовую операцию, и на этом пока закончим. В следующий раз я по максимуму постараюсь пройтись по следующим вкладкам. Думаю, будет смысл рассматривать эту статью в комплексе. Пока можете написать, если что-то не так.

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


1) Все реквизиты с данной вкладки соответствуют реквизитам в самом документе, при выборе данной операции (вкладка в любом документе называется "Бухгалтерская операция"

2) Если вы не видите сейчас часть реквизитов на вкладке бухгалтерская операция - не значит, что их нет. У нас существует понятие видимости реквизитов.

3) По сути, если вы сталкивались с понятием "Форма" в конфигураторе и так или иначе переделывали ее - структура данного раздела покажется вам очень знакомой.

4) Хоть эта вкладка и называется реквизиты, в дальнейшем, мы будем обращаться к ней как "Дополнительные реквизиты" (при описании структуры самой проводки). Пока этот факт вы можете не запоминать, но к этому пункту мы еще вернемся.


Структура страницы реквизитов достаточно проста. Для начала разберем кнопки:

1) Кнопка создать - содает реквизит

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

3) Кнопка проверить реквизиты - определяет есть ли ошибки в использовании реквизитов в типовой операции (например поспешив мы могли ошибиться в букве реквизита, в связи с этим типовая операция будет давать ошибку) можно считать это минимальной проверкой от разработчиков (очень жаль, что единственной)

4) Кнопка предварительный просмотр - позволяет нам увидеть вкладку "Бухгалтерская операция" не переключаясь на документ. Данный функционал помогает, как раз, когда вы реализовываете красивый пользовательский интерфейс.

Кнопки копирования-удаления-перемещения рассматривать не будем. Считаю их функционал понятным.


Давайте рассмотрим нашу рабочую область:

Колонка 1 - мы видим признак отбора (можно увидеть у какого реквизита стоит фильтр на реквизиты для пользователя)

Колонка 2 - признак предопределенности. На скриншоте его нет (потому что мы создали операцию копированием.

Колонка 3 "Заголовок" - название, которое видит пользователь. Когда мы смотрим на все то, что расположено на этой странице, мы должны акцентировать наше с вами внимание сугубо на реквизитах. Группы рассмотрим тогда, когда будем наводить порядок. Когда я смотрю на реквизиты, чаще всего, я думаю о том, что все они должны быть видны на форме (1С не делает реквизитов невидимыми), но иногда приходится делать поправку на предыдущих обслуживающих ребят.

Колонка 4 "Обязательный" - для скопированых операций она не работает. В операциях с поддержкой - в данной колонке ставится галочка при наличии заполненного поля "Проверка ввода" внутри реквизита значением "Выводить ошибку" (рассмотрим чуть далее)

Колонка 5 "Имя для формулы" - в кратце, это путь к реквизиту (как мы будем к нему обращаться при написании операции.

Колонка 6 "Тип реквизита" - собственно тип реквизита и есть (то какие значения сможет принимать наш реквизит, или еще проще - на какой справочник он ссылается, будет ли это число, или галочка (Булево) или вообще просто строка в которой пользователь напишет специфическое наименование чего-либо)


Теперь перейдем уже к созданию реквизитов.

Сначала разберем шапку:

Документ - к какому документу принадлежит типовая операция и соответственно наш реквизит

Типовая операция - Наша типовая операция

Группа элементов - в какую группу элементов он входит

Заголовок - подпись реквизита для пользователя (соответственно для нас тоже)

Имя для формулы - см. описание колонки 5 выше. Сгенерируется автоматически при написании заголовка. Важное уточнение - должен быть уникальным для всей типовой операции!

Первая страничка "Основные свойства":

Тип реквизита - см. описание колонки 6 выше.

Вид элемента - чаще всего это поле ввода, т.е. строка в которой мы либо пишем либо выбираем значение. Для реквизитов типа "Булево" или в простонародье "Галочка" будет выбор, если выберем "Поле ввода", то программа даст нам строчку с выбором "Да" или "Нет", если выберем "Поле флажка", то будет галочка.

Проверка ввода - если нам необходимо контролировать ввод определенного реквизита (например, наш бухгалтер в спешке может забыть проставить номер накладной, который в дальнейшем должен потянуться у нас в описание проводки), мы можем изменить значение данного реквизита на "Выводить ошибку". Тогда если реквизит будет не заполнен - типовая операция будет ругаться и откажется проводить документ.

Положение заголовка - определяет положение заголовка относительно нашего реквизита. Может быть слева-справа-вверу-внизу или вообще отсутствовать если выбрать "Нет". Положение "Авто" обычно равнозначно положению "Лево"

Только чтение - реквизит, который запретит пользователю изменять значение (например в данном документе есть реквизит типа "Виды движений НФА", который тянется в отчетность (через страшно неоднозначное поле "Характеристика движения", гадать на кофейной гуще которого будем чуть позже). Так как его должны ставить только те, кто понимает, как это должно тянуться - в данной операции этот реквизит проставлен в позиции "Только для чтения". То бишь, если вы хотите показать его пользователю и так, чтобы пользователь не смог изменить его руками - ставьте галочку)

Видимость - будет ли виден наш реквизит. Если вы не видите какой-то реквизит на вкладке "Бухгалтерская операция" или во вкладке предварительного просмотра - проверяйте наличие галочки в нем.

Значение по умолчанию - здесь можно задать стандартное значение, которое будет принимать реквизит в случае, если вы выберете данную операцию в списке. Если вы уже использовали данную операцию для проведения, то при установке данного реквизита - все остальные операции не изменятся автоматом. Вам придется их перевыбрать руками, либо прибегнуть к свойствам автоматической простановки реквизитов. (пример: мы сделали операцию для бухгалтера, который заносит поступления. Она утверждает, что у нее каждый день множество поступлений по КФО 4. Мы с вами знаем, что КФО 4 проставляется не в дополнительных реквизитах, поэтому его не имеет смысл засовывать в реквизиты, а вот лицевой счет или его раздел - самое милое дело. Если у нее чаще проходит КФО 4, то мы поставим раздел лицевого счета соответствующий ее разделу с КФО 4 в реквизит по умоланию. Как результат - каждый раз когда бухгалтер будет заносить документ - она не будет лишний раз выбирать этот раздел, только в том случае (как она утверждает крайне редком), когда что то приходит по другому КФО)

Продолжение прозаического отступления бухгалтерских флешбеков автора

(Бывали и другие случаи, когда бухгалтера ставили белиберду на отвали в реквизитах, которые не понимали, также значение по умолчанию помогло, в конце отчетного периода закрывались спокойнее и с меньшим количеством переделок, так как реквизиты всегда подставлялись автоматом, неквалифицированные бухгалтера не жахали туда все подряд. Для тех, кто считает, что людей на местах не плохо-бы сначала обучить - политика обучения не входила в планы главбуха в данной ситуации. Как результат - контракт был съеден чрезвычайно быстро. Если хотите поделиться опытом внедрения - прошу в комментарии)


Отбор элементов - если заполнить данный раздел, то вы установите фильтр реквизитов, которые сможет выбрать пользователь. Как пользоваться отборами, надеюсь, все знают. Для тех кто не очень - используйте реквизит "Ссылка" с видом сравнения "В списке" и подбирайте нужные вам позиции справочника. Для более изысканных решений, мы можем с вами обсудить эту тему позже.

Связи параметров выбора - данный реквизит может установить отбор в соответствии с реквизитом документа или другим дополнительным реквизитом. (например вы могли видеть, когда вы выбираете контрагента и при выборе договора - фильтруются все договора конкретно по данному контрагенту. Это как раз именно это поле.)

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

Реквизиты форматирования. Работают везде одинаково:

Авто максимальная ширина - если снять эту галочку, то можно будет задать значение максимальной ширины

Растягивать по горизонтали - реквизит пытается заполнить все пространство отведенное ему. Значение "Авто" эквивалентно "Да"

Растягивать по вертикали - реквизит аналогичен предыдущему

Высота заголовка - высота заголовка в строчках

Реквизиты подсказки рассматривать не будем. Итак уже очень много всего. Как наводить красоту поговорим отдельно.

Вторая страничка "Функциональные опции":

Здесь можно установить видимость реквизита в зависимости от включенных настроек в конфигурации (не использовал, но если у вас есть интересные решения, связанные с этим разделом - прошу вас описать их в комментариях)


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

Как мы и говорили до этого, имя для формулы заполнилось автоматически.

Заголовок был выбран именно таким, так как лицевой счет будет выбираться только для КФО 4 и никакой другой лицевой счет туда не должен вставать (исключение, где в рамках одного лицевого счета ведутся 2 раздела с разными КФО).

Тип реквизита поставлен "Лицевые счета", почему не раздел лицевого счета, а именно лицевой счет - расскажу, как доберемся до написания типовой операции.

Проверку ввода не проверяю потому, что бывают ситуации, когда учреждение не принимает денежные обязательства, а зависимость от Булево 1С пока не умеет.

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

Значение по умолчанию - заполнится тем лицевым, который у них отвечает за КФО 4

Связи параметров выбора - проставились автоматически. В данном случае это значение говорит, что если пользователь решит выбрать другой лицевой счет, их список ограничится лицевыми счетами организации выбранной в документе.
Ну и подсказка ввода - написал для примера. Если по каким то причинам не заполнится - бухгалтер увидит эту подсказку прямо в поле серым цветом.


Смотрю в предварительный просмотр и что я вижу - мои реквизиты красиво подписанные, текст описания как и положено для реквизитов слева (а не как для Булево справа), но вот стоят они не в том разделе. Просто перенесу мышкой их в раздел "Денежное обязательство"


И снова вроде все более-менее, но что-то не так. Все верно, настал момент разбора групп. Скажу сразу, я не хотел бы расписывать здесь всё касаемо форматирования - за меня это сделали уже специалисты ИТС.


Пока мы видим, что все очень похоже на реквизиты при создании реквизита типовой операции.

Имя для формулы - зачем оно существует в данном контексте не понятно, мы его не будем использовать. Скорее всего это отсылка к тому, что структура построения операций скопирована со структуры формы в конфигураторе 1С (там каждому элементу присваивается уникальное наименование, чтобы можно было к нему обращаться)

Отображение - будет работать если включите следующую опцию. Имеет несколько значений слабый-средний-сильный, выберите под себя и свой стиль.

Группировка - самый важный для нас реквизит, потому что показывает направление группировки. Вертикальная - все наши группы и реквизиты будут идти сверху вниз в столбик. Горизонтальная - все наши группы и реквизиты будут идти слева направо в строчку.

Этих данных нам будет достаточно, чтобы осуществить то, что мы хотим.

Я люблю, когда у меня все реквизиты упорядочены по колонкам и красиво расположены. Поэтому я бы хотел:

1) Сделать 2 колонки, одну с галочкой принимать обязательства а вторую с лицевыми счетами

2) Убрать раздел л/с и сделать его невидимым (потом убрать насовсем, если будет мешаться)


Создаю 2 группы (колонки) с одинаковыми настройками (наименование такое потому, что больше колонок не планируется)


Проверяю реквизиты в группе "Денежное обязательство", то, что нужно, две вертикальные колонки будут у нас сгруппированы в ней горизонтально (слева направо в строчку), но каждая колонка расставит реквизиты (сверху вниз в столбик).


И в завершение скрываю реквизит "Раздел л/с", то бишь снимаю с него галку видимости.


С изучением данного раздела предлагаю закончить. Следующим разделом мы с вами уже двинемся во вкладку "Проводки". Вкладку Источники данных пока рассматривать не будем, в связи с тем, что она жестко прописана в коде программы и имеет для нас сугубо платонический смысл на данный момент (если мы залезем в код и порезвимся - думаю, и в нее влезем).

personal photo

В программе 1С 8.3 Бухгалтерия 3.0 предусмотрен ввод операций в ручном режиме. Осуществляется это через типовой документ «Операции, введенные вручную», найти можно на вкладке программы «Операции» в одноименном разделе:

Операции, введенные в ручную

С помощью данного документа возможно:

Создание проводок по БУ и НУ.

Создание записей в специальных регистрах.

Проводки по БУ и НУ (Операция);

Создание операции

Проводки по БУ и НУ создаются при выборе типа «Операция». Обязательными являются поля для заполнения:

Содержание – указывается назначение операции;

Дебет – номер счета, обязательно указать субконто (предпочтительный прописан серым цветом);

Кредит — аналогичное заполнение, как и у «Дебет»;

Сумма — необходимо указать сумму проводки по БУ и НУ.

Создание операции

Сторно документа применяется при необходимости сторнирования ранее сформированного документа.

Сторнируемый документ

В строке «Сторнируемый документ» выбираем тип документа из выпадающего списка:

Поступление(акт, накладная)

С указанием самого документа:

Выбор накладной

При этом все заполнение происходит автоматически по выбранному документу, но с отражением отрицательных значений:

Бухгалтерский и налоговый учет

Также с отрицательными значениями формируются записи в регистрах накопления:

НДС предъявленный

Если нужно, можно отредактировать все значения. После чего нажимаем «Записать и закрыть».

Вид «Типовая операция» является шаблоном для проводок по БУ и НУ. При создании открывается форма с одним единственным полем в шапке «Содержание»:

Содержание

Здесь указывается название шаблона. Заполнение табличной части происходит через нажатие «Добавить». Выбираем номер счета, при выборе субсчета будут предложены варианты:

Варианты заполнения

Получается шаблон типовой операции:

Шаблон типовой операции

После чего данный шаблон попадает в список типовых операций и, если необходимо, его можно использовать:

Типовые операции

Если выбираем из справочника типовую операцию, то получается вид «Операция, введенная вручную»:

Операция, введенная вручную

Через нажатие «Заполнить» на основании шаблона будет сформирована проводка:

Наконец, мы дошли до самого интересного. Написания типовой. Быстрый взгляд на таблицу рабочей части вкладки "Проводки" для того, чтобы понимать, что и как:


Колонка 1 - пометка отключения. Проводка с пометкой отключения не будет формироваться даже если условие формирования выполнено.

Колонка 2 - пометка предопределенности. В скопированных операциях ее не будет.

Колонка 3 - установлено условие. Эта колонка говорит нам о том, что проводка формируется при достижении определенного условия.

Колонка 4 "Наименование" - Чисто служебное наименование. Его стоит заполнять осознанно, как и наименование типовой операции.

Колонка 5 "Источник данных" - Место, откуда будут тянуться данные используемые в проводке. Если вы видите надпись "(доп. источник)" в конце, значит используется источник данных, автоматически формируемый самой программой (3 вкладка "Источники данных"). Они заведомо прописаны, и ничего с них вы не получите и не измените без вмешательства в код. Если же вы не видите надписи про дополнительный источник - значит, проводка берет данные из одноименной таблицы в документе.

Колонка 6 "Код" - Служебный код операции. Не будет нас интересовать.

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

Для чего это нужно? Например, отделить определенную группу проводок от другой. Сейчас если я опишу, вряд ли это будет доступно, поэтому коснемся этого чуть позже. Сейчас вам нужно знать только то, что проводки в группе будут проводиться от наименьшего к большему и так пока не закончатся источники проведения, далее алгоритм проведения перейдет к новой группе.


Перейдем наконец внутрь операции

Группа и Номер в группе - только что разобрали, далее будем смотреть на практике

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

Источник данных - про них мы уже говорили чуть выше. Простыми словами - это любая табличная часть, имеющаяся в документе или сформированная программой в разделе "Источники данных" (здесь они будут называться "Дополнительные источники данных". Сейчас быстро пробежимся по окнам, и я задержусь на этой теме подольше.

Иерархия операндов формул - это то, из чего мы будем компоновать операцию

Справа видим три вкладки:

Общие реквизиты проводки - реквизиты проводки, которые не принадлежат конкретно дебету или кредиту, а принадлежат строке проводки непосредственно

Реквизиты дебета и Реквизиты кредита - как понятно после написанного выше - реквизиты, принадлежащие либо кредиту, либо дебету.

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


Возвращаемся к источникам данных.

Если вы были внимательны, вы заметили, что на скриншоте слишком много таблиц. Сильно больше, чем в документе. И у них нет пометок дополнительного источника. Все верно, разработчики решили не перегружать нас этой информацией и просто бросили все в одну кучу. Как же определить, что и откуда будет браться?

Давайте представим, что мы хотим с вами делать проводку по приемке МЗ. Что нам для этого нужно?

Попытаемся прикинуть проводки, для начала на глаз:
ДТ КТ
105.36 302.34
Тоесть уже 2 счета.

11030000000000000 11030000000000244
*Допустим, мы будем спортивным учреждением (поэтому код главы 1103)*
По инструкции ведения бухгалтерского учета нам понадобятся 2 КПС, в данном случае оба КРБ

346 73*
2 КОСГУ (КЭК), один из которых оборотный

Один КФО
Одна сумма
Одно количество
Одно наименование первичного документа
Один номер и одна дата первичного документа
Один номер ЖО
Возможно характеристика движения

Но однозначно, еще субконто от счетов. В моем случае субконто от счета 105.36:

Номенклатура
ЦМО
И субконто от счета 302.34
Контрагент
Договор



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

На скриншоте вы можете заметить, что не все реквизиты верные, в рамках этой статьи мы разберемся со всеми вопросами и рассмотрим типичные багфиксы стандартных методов.

Так вот, где же взять все эти позиции?

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

Если мы внимательно посмотрим, то очень удобно в табличной части у нас расположилось множество строчек и как раз наш вариант. На каждой строке есть КФО, КПС , счет дебета, номенклатура, количество, сумма, а это уже почти половина.


Так вот, возвращаясь к нашим источникам данных. Если мы выберем источник данных <проводка по документу>, это будет значить, что все реквизиты мы возьмем, не пользуясь ни одной из табличных частей. У нас будет доступ к любым его частям, кроме таблиц. Это хорошо иллюстрируется, если мы посмотрим на иерархию операндов формул. Все реквизиты документа у нас стоят черными (активными) кроме таблиц документа. Также заметьте, что таблицы полностью соответствуют таблицам документа (так как мы открыли именно документ).


Если же мы, к примеру, выберем источник данных "Материалы" вы увидите, что в иерархии операндов таблица перестанет быть неактивной, раскрасится в черный и ее структура будет 1 в 1 наша таблица из документа. К сожалению, не все поля полностью соответствуют своему наименованию в документе, поэтому будьте внимательны, читайте, что написано справа в скобочках. Нередко бывает, что у документа есть реквизит "Контрагент", а вызываем мы его обращаясь к полю "Получатель".



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

У вас уже, наверное, назрел вопрос, а что если мне будет необходимо формировать одну проводку используя 2 таблицы одновременно? Этот вопрос меня тоже мучал первое время, но потом, проанализировав, как собираются проводки в типовой операции, я пришел к выводу, что это невозможно, и единственное правильное здесь решение то, что сделали разработчики 1С. Объяснять почему - не буду. Давайте перейдем к более интересным вещам. Просто запомните - ТОЛЬКО ОДНА ТАБЛИЧНАЯ ЧАСТЬ МОЖЕТ УЧАСТВОВАТЬ В ПРОВОДКЕ.


Наши с вами созданные реквизиты тихонько уселись в раздел "Дополнительные реквизиты" (помните, мы об этом говорили во второй части, пришел момент). Именно отсюда мы и будем их выцеплять.


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


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


Касательно раздела макросов - отлично расписано на ИТС, пока вкратце, вы просто ставите эту команду рядом с реквизитом, и программа сигнализирует вам, что вы что-то не заполнили. Очень удобная функция, так как мы не можем поставить проверку заполнения на реквизитах, не являющихся дополнительными.

Ну и собственно раздел ТекущаяПроводка позволяет нам использовать значения уже заполненных реквизитов проводки (удобно, чтобы не переписывать формулы и не дублировать их в других окнах)


Давайте сейчас еще вкратце рассмотрим с вами пример окна реквизитов дебета.

Как вы видите, у нас есть окна с формулами заполнения и есть поля, в которых мы можем заполнить операции вручную. Так вот, сразу хочу сказать, понравится вам это или нет, но если вы хотите писать типовые операции, которые будут универсальные, которые не отломятся после обновления, которые буду импортироваться-экспортироваться без глобального переписывания - вы ДОЛЖНЫ вытаскивать все реквизиты по формулам. У нас не должно быть ни единого реквизита, заполненного вручную. Только формулы и дополнительные реквизиты! Другого быть не должно! В зависимости от ситуации могут быть совершенно редкие исключения, но поверьте, шанс того, что у вас именно то самое исключение, стремится к нулю!

Все формулы в окошке для формул - есть ничто иное как интерпретация языка СКД с дополнительными функциями из модуля. Именно на языке (чем-то схожем на язык запросов) СКД мы будем с вам направлять нашу типовую операцию.

Теперь стоит поговорить немного о теории программирования. Так как СКД имеет своеобразный язык, мы должны понимать, что мы можем сделать, что мы можем ему дать. Об этом рекомендую почитать у вас в конфигурации. Для этого зайдите в F1 - > Поиск -> В поле поиска вводим "Язык выражений системы компоновки данных". Именно так, как там и описано, мы будем взаимодействовать с СКД. Скажу честно, я начал писать и написал почти половину всего этого в статье, а потом понял, что всем будет удобнее, если вы научитесь пользоваться тем, что у вас под рукой, поэтому научитесь пользоваться поисковиком. Если у вас возникнут какие-либо вопросы по прочтению - можете смело писать комментарии, но в перспективе я покажу все варианты применения (ну или большую их часть) и распишу вам их.

Сразу заострю ваше внимание на том, что я сам заметил на сразу. В самом низу статьи "Язык выражений системы компоновки данных" есть тип ЗНАЧЕНИЕ() и работает он только с перечислениями и предопределенными данными. Если то, что я написал, непонятно - мы это будем рассматривать в следующей части статьи.

Читайте также: