Указание номера платежно-расчетного документа в счет-фактуре выданном

18.07.15

Разработка - Универсальные функции

Типовая ТиС 7.7
Руководство к исправлению типовой печатной формы для указания номера(ов) платежно-расчетного(ых) документа(ов) в выданном счет-фактуре.

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


основной вопрос: как ПРАВИЛЬНО и на основании чего трактовать данный п.4?
а) номер указывается только в СЧФ на аванс?
б) номер указывается в СЧФ отгрузки, по которым зачтены авансы?

 

Для нас, неспециалистов в области БУ, НУ, налогового законодательства и прочих "нормативно-правовых" документов, становится очевидно: что трактуют все как хотят. Чья версия правильнее - решать не нам (в конфликтных ситуациях решает только суд?). Общее правило такое: налогоплательщики трактуют "по минимуму", налоговики - "по макисмуму", т.е. "приплетая" то, что явно в НК не указано, обосновывая это фиг знает чем. Например, следующая подборочка:

http://www.pravcons.ru/publ09-02-05-1.php
http://www.r59.nalog.ru/document.php?id=136370&topic=imm59
http://www.gazeta-unp.ru/doc.htm?id=230

Делать будем просто - как поступает много бухгалтеров, по принципу: больше бумаги - чище апож - будем указывать ВСЁ.

Необходимые действия.

1. Берем внешнюю печатную форму типовой формы счет-фактуры выданного.

2. В начало модуля внедряем следующую функцию:

 

Функция глПолучитьСписокПлатежноРасчетныхДокументов(Докум)

Если Докум.Проведен() = 0 Тогда Возврат "№ от";

КонецЕсли;

Если Докум.Вид() <> "СчетаФактурыВыданные" Тогда Возврат "№ от";

КонецЕсли;

локТЗ = СоздатьОбъект("ТаблицаЗначений");

локТЗ.НоваяКолонка("НомерДок" ,"Строка");

локТЗ.НоваяКолонка("ДатаДок" ,"Дата");

СторнированАванс = Перечисление.КодыОпераций.СторнированАванс;

РегП = СоздатьОбъект("Регистр.Покупатели");

РегП.ВыбратьДвиженияДокумента(Докум.ДокОснование);

Пока РегП.ПолучитьДвижение()=1 Цикл

Если РегП.КодОперации <> СторнированАванс Тогда Продолжить;

КонецЕсли;

ПлРаДок = РегП.КредДокумент;

локТЗ.НоваяСтрока();

Если ПлРаДок.Вид()="ПКО" Тогда //кассовые чеки локТЗ.НомерДок = СокрЛП(ПлРаДок.НомерДок);

локТЗ.ДатаДок = ПлРаДок.ДатаДок;

Иначе //строки выписки банка и доки корректировки долгов... Попытка локТЗ.НомерДок = СокрЛП(ПлРаДок.НомерДокВходящий);

локТЗ.ДатаДок = ПлРаДок.ДатаДок;

Исключение ЗаписьЖурналаРегистрации("глПолучитьСписокПлатежноРасчетныхДокументов(): ПОПЫТКА: ошибка "+ОписаниеОшибки(),,,5);

локТЗ.УдалитьСтроку(локТЗ.КоличествоСтрок());

КонецПопытки;

КонецЕсли;

КонецЦикла;

Если локТЗ.КоличествоСтрок()=0 Тогда

Возврат "№ --- от ---" КонецЕсли;

локТЗ.Свернуть("ДатаДок,НомерДок",);

локТЗ.Сортировать("ДатаДок,НомерДок");

Результат = ""; локТЗ.ВыбратьСтроки();

Пока локТЗ.ПолучитьСтроку() = 1 Цикл Результат = Результат+РазделительСтрок+"№"+локТЗ.НомерДок+" от "+локТЗ.ДатаДок;

КонецЦикла;

Результат = СтрЗаменить(СокрЛП(Результат),РазделительСтрок,",");

Возврат Результат; КонецФункции //глПолучитьСписокПлатежноРасчетныхДокументов()

 

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

далее: ищем процедуру типа

Процедура ПодготовитьРеквизитыШапки(Докум, Рекв)

определяем в ней оператор типа

 

Рекв.ДобавитьЗначение(Шаблон("К платежно-расчетному документу...

и модифицируем этот оператор, чтобы он выглядел так:

Рекв.ДобавитьЗначение(Шаблон("К платежно-расчетному документу [глПолучитьСписокПлатежноРасчетныхДокументов(Докум)]"), "ПоДокументу");


В общем и главном - это все. В кончном итоге в счет-фактуре получаем что-то похожее на это: "К платежно-расчетному документу №566 от 14.09.09". В случае зачета нескольких авансов - реквизиты будут перечислены через запятую.

.

В данном материале не обсуждаем правильность/неправильность трактовок НК и правильность предложенного выше решения... Также никоим образом здесь я не буду обсуждать варианты определения платежно-расчетного документа на основании структуры подчиненности. Причины (кому охота) могут почитать здесь: //infostart.ru/projects/2375/

См. также

Универсальные функции Программист Платформа 1С v7.7 Россия Абонемент ($m)

В библиотеку собраны различные функции по работе с документами, журналами, типами данных, строками, датой и временем, таблицами значений, Excel, файлами, XML, JSON, Http-сервисами, SMTP серверами и т.п.

1 стартмани

22.12.2023    1371    14    user706545_kseg1971    0    

5

Универсальные функции Программист Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Получение реквизитов контрагентов из 1С:Контрагент для старых конфигураций под 1с 7.7.

25.04.2022    2339    zhenyat    7    

8

Универсальные функции Программист Платформа 1С v7.7 Россия Бесплатно (free)

Функция выводит таблицу значений в табличный документ. (v7.7) Особенно полезно при отладке. Не нужно вносить изменения в код, вызываем функцию как вычисляемое выражение при останове. Если таблица обрабатывается в несколько этапов, можно вывести её после каждого и визуально проследить эволюцию.

30.06.2021    5138    Zoltan_Black    11    

2

Универсальные функции Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Установка принтера по умолчанию в 1С 7.7. Обработка может быть полезна в том случае, когда нужно установить принтер по умолчанию, а доступа к рабочему столу нет (например, терминальный режим без рабочего стола или remoteApp)

1 стартмани

13.02.2019    13933    4    alsen    3    

5

Универсальные функции Программист Платформа 1С v7.7 Конфигурации 1cv7 1С:Комплексная 7.7 Абонемент ($m)

Предлагается набор функций 1с 7.7 для формирования строки json стандартными средствами.

1 стартмани

10.12.2018    10766    malovandrey    7    

19

Универсальные функции Работа с интерфейсом Программист Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

В статье дано описание создания индикатора на форме в среде разработки 1С:Предприятие 7.7 исключительно типовыми средствами.

1 стартмани

27.09.2016    18887    2    HAMMER_59    6    

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