Опыт использования ГТД в УТ 10.3

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

Недостатки хранения ГТД в сериях

Схема, при которой ГТД хранится в сериях, неудобна:

  1. В накладных реализации приходится заводить две строки на товар, если он продается по разным номерам ГТД
  2. Если в учете не используются серии, то только ради ГТД приходится их использовать. А если используются в других целях (серийные номера), то приходится еще проставлять в них ГТД.
  3. В перемещениях между складами приходится указывать номера ГТД.

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

Вариант игнорирования серий

Если учет по сериям ведется только для учета ГТД, то можно хранить в документах поступления и реализации серии, но не проводить их по регистрам остатков товаров. Чтобы сделать такое поведение максимально прозрачным для программы, нужно в функции ОбщегоНазначенияформироватьЗапросПоТабличнойЧасти отключить выдачу поля СерияНоменклатуры. Тогда программа будет считать, что в документе серии не заполнены.

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

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

Вариант параллельного учета ГТД

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

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

Недостатком решения будет:

  1. Необходимость переписать форму счет-фактуры, чтобы выводить ГТД из нужной табличной части.
  2. Необходимость вносить изменения в правила обмена, если настроен обмен с бухгалтерией, т.к. в БП переносятся именно номера серий, как номера ГТД.

Изменения в обмен между УТ и БП

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

При конвертации в поля НомерГТД и СтранаПроисхождения  нужно будет написать свой код получения номера ГТД, например из ранее рассчитанной колонки «Номер ГТД».

Вот исходный типовой код:

Если ЗначениеЗаполнено(ОбъектКоллекцииерияНоменклатуры) И ЗначениеЗаполнено(ОбъектКоллекции.СерияНоменклатуры.НомерГТД) Тогда

       Значение = ОбъектКоллекцииерияНоменклатуры.НомерГТД;

Иначе

       Значение = Неопределено;

       Отказ    = Истина;

КонецЕсли;

Вот на что его можно заменить:

Если ЗначениеЗаполнено(ОбъектКоллекцииомерГТД) Тогда

       Значение = ОбъектКоллекцииомерГТД;

Иначе

       Значение = Неопределено;

       Отказ    = Истина;

КонецЕсли;

Конвертацию номеров ГТД из БП в УТ при таком подходе лучше отключить, чтобы рассчитывать номера ГТД только в УТ. Хотя при необходимости можно реализовать и двухсторонний обмен.

Подбор ГТД

В типовой УТ серии ГТД подбираются не всегда. Поэтому логичным будет сделать для пользователя дополнительную подключаемую внешнюю обработку, которая подбирает серии ГТД.

Пример такой обработки выложен ниже.

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

Обработка получает остатки по ГТД на момент времени документа и по партиям списывает их в табличную часть документа, при необходимости дробя строки.

Проверял на рабочей базе – сумма и количество документа не меняется.

Контроль остатков ГТД

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

Реализация

В файле содержатся:

  1. Подключаемая внешняя обработка по заполнению серий в документ
  2. Подключаемая внешняя обработка по проверке остатков ГТД

Скачать