Доработка блока НДС в стандартных базах

12.07.15

Разработка - Математика и алгоритмы

Хочу поделиться своим опытом в доработке НДС не обновляемой конфигурации, а также своими доработками того, чего нет в типовой конфигурации

Итак, наша конфигурация нетиповая, а бухгалтерия и не обновлялась бог весть сколько. Я только устроился на работу в данную компанию и решил подсмотреть все, что есть в типовой, и доработать все, чего там нет.Вот что получилось.

  1. Алгоритм заполнения поля «продавец» в счетах-фактурах.

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

    Если данный счет-фактура перевыставляется далее (то есть компания выступает теперь в роли агента) – в счете-фактуре выданном, связанном с указанным счетом-фактурой полученным – поле «продавец» копируется из полученного счета-фактуры.

    При записи выданного счета-фактуры выполняется проверка и в том случае, если он выписан на основании акта возмещения услуг/материалов (то есть перевыставляется) – тогда проверяется полученный счет-фактура. Если счет-фактура полученный составлен от имени другого контрагента-продавца, значит, текущий контрагент - это субагент. Производится заполнение поля «субагент» в полученном счете-фактуре и запись.

    Номер входящего документа в выданном счете-фактуре – номер входящего документа из счета-фактуры полученного.

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

    Так как компания перевыставляет услуги своим же юридическим лицам, выгрузка документов (акты возмещения, поступления товаров/услуг) выполняется обработкой обмена.

    В правила обмена внесены изменения для конвертации поля «продавец».

    В настоящее время поиск контрагента в справочнике производится по ИНН, КПП, Наименование, Наименование полное.

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

    Для приведения наименований контрагентов в соответствие с тем, как они хранятся в ФНС – пользователям предоставлена обработка проверки контрагента по данным сайтов федерального реестра и ФНС.

     

  2. Алгоритм заполнения табличной части «платежные поручения» в счетах-фактурах выданных.

    Стандартный механизм зачета авансов полученных не полностью удовлетворяет требованиям бухгалтерского учета, а именно: при высвобождении авансов сумма авансов учитывается на документе-движении (в качестве субконто 3 на счетах авансов) – а документ-движение (в частности корректировка реализации) – не является платежно-расчетным документом. При вводе на основании корректировки реализации счета-фактуры на аванс (контрагент вправе потребовать счет-фактуру на аванс в случае уменьшения суммы исходной продажи, в соответствии с письмом Минфина от 31.08.2012 № 030715/118, если после предоплаты стоимость отгруженных товаров уменьшилась, сумму переплаты, возникшую у продавца после изменения стоимости отгруженных товаров в сторону уменьшения, в счет которой в последующем будет осуществлена новая поставка товаров покупателю, следует признать суммой частичной оплаты, полученной в счет предстоящей поставки товаров) нельзя указывать номер и дату корректировки реализации (документа-основания) в качестве платежно-расчетного документа.

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

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

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

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

    Остатки по регистру и по бухгалтерскому учету, по счетам учета авансов полученных совпадают в разрезе аналитик контрагент/договор. В разрезе аналитик контрагент/договор/документ остатки могут не совпадать (по указанным выше причинам) – и это нормальная ситуация.

  3. Алгоритм заполнения табличной части платежных поручений в счете-фактуре выданном.

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

    б) Если основание – списание с расчетного счета или поступление на расчетный счет – подбираются входящие номер/дата документа-основания

    в) Если основание – акт возмещения услуг:

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

    - в остальных случаях подбираются номера и даты списаний с расчетного счета, которыми компания оплатила перевыставляемое поступление товаров/услуг.

            г) если основание – корректировка реализации:

- если это счет-фактура на аванс, то из регистра расшифровок получается список всех платежных документов, на которых корректировка-основание высвободила аванс;

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

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

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

  1. Для отображения в отчете «Книга продаж» номеров и дат платежно-расчетных документов (номера и даты документов оплаты) – счет-фактура выданный при проведении, если у него заполнена табличная часть платежных документов – записывает номера и даты в регистр «НДС Продажи». Этот алгоритм скопирован из типовой конфигурации, за исключением того, что в типовой бухгалтерии все значений измерений берутся также из регистра «НДС Продажи» (там на момент проведения счета-фактуры они уже есть, так как «НДС Продажи» двигает реализация товаров/услуг). В нашем случае «НДС Продажи» всегда двигаются документом формирования записей, поэтому значения измерений берутся из регистров входящего НДС. Указанные записи формируются без сумм (также, как и в типовой бухгалтерии), в отчете далее они группируются и таким образом производится заполнение колонки «номера и даты оплаты».

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

См. также

Метод Дугласа-Пойкера для эффективного хранения метрик

Математика и алгоритмы Платформа 1C v8.2 Конфигурации 1cv8 Россия Абонемент ($m)

На написание данной работы меня вдохновила работа @glassman «Переход на ClickHouse для анализа метрик». Автор анализирует большой объем данных, много миллионов строк, и убедительно доказывает, что ClickHouse справляется лучше PostgreSQL. Я же покажу как можно сократить объем данных в 49.9 раз при этом: 1. Сохранить значения локальных экстремумов 2. Отклонения от реальных значений имеют наперед заданную допустимую погрешность.

1 стартмани

30.01.2024    1870    stopa85    12    

34

Алгоритм симплекс-метода для решения задачи раскроя

Математика и алгоритмы Бесплатно (free)

Разработка алгоритма, построенного на модели симплекс-метода, для нахождения оптимального раскроя.

19.10.2023    4662    user1959478    50    

34

Регулярные выражения на 1С

Математика и алгоритмы Инструментарий разработчика Платформа 1С v8.3 Мобильная платформа Россия Абонемент ($m)

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

1 стартмани

09.06.2023    7652    4    SpaceOfMyHead    17    

56

Модель распределения суммы по базе

Математика и алгоритмы Платформа 1С v8.3 Россия Абонемент ($m)

Обычно под распределением понимают определение сумм пропорционально коэффициентам. Предлагаю включить сюда также распределение по порядку (FIFO, LIFO) и повысить уровень размерности до 2-х. 1-ое означает, что распределение может быть не только пропорциональным, но и по порядку, а 2-ое - это вариант реализации матричного распределения: по строкам и столбцам. Возможно вас заинтересует также необычное решение этой задачи через создание DSL на базе реализации текучего интерфейса

1 стартмани

21.03.2022    7929    7    kalyaka    11    

44

Изменения формата файлов конфигурации (CF) в 8.3.16

Математика и алгоритмы Платформа 1С v8.3 Бесплатно (free)

Дополнение по формату файлов конфигурации (*.cf) в версии 8.3.16.

16.12.2021    4546    fishca    13    

36

Интересная задача на Yandex cup 2021

Математика и алгоритмы Бесплатно (free)

Мое решение задачи на Yandex cup 2021 (frontend). Лабиринт. JavaScript.

12.10.2021    8934    John_d    73    

46

Механизм анализа данных. Кластеризация.

Математика и алгоритмы Анализ учета Платформа 1С v8.3 Анализ и прогнозирование Бесплатно (free)

Подробный разбор, с примером использования, встроенного механизма кластеризации 1С.

31.08.2021    7957    dusha0020    8    

70
Оставьте свое сообщение