gifts2017

Несколько видов НДС. Как нумеровать налоговые накладные.

Опубликовал Валерий Завалко (ValeryZ) в раздел Программирование - Практика программирования

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

Я понимаю, что решение, может, не самое элегантное, однако оно изменяет конфигурацию минимально.

  1. Для начала следует сохранить данные, а то мало ли что я тут понаписал.
  2. В документе "НалоговаяНакладная" следует установить периодичность нумератора "В пределах месяца", отключить контроль уникальности и автоматическую нумерацию.
  3. В модуле формы документа "НалоговаяНакладная" создайте процедуру
Процедура УстановитьНомерНалоговойНакладной()
	Перем МаксНом;
	МаксНом = 0;
	//выяснить максимальный номер в текущем периоде
	НН = СоздатьОбъект("Документ.НалоговаяНакладная");
	НН.ВыбратьДокументы(НачМесяца(ДатаДок),КонМесяца(ДатаДок));
	Пока НН.ПолучитьДокумент() =1 Цикл
		//непроведенные документы маршируют в сад
		Если НН.Проведен() = 0 Тогда
			Продолжить;
		КонецЕсли;
		//Используем атрибут .Родитель для того, чтобы разграничить 
		//нумерацию налоговых накладных, принадлежащих разным декларациям.
		//При этом разные группы НДС, в зависимости от декларации, должны
		//быть разнесены в справочнике НалогиИОтчисления в разные подгруппы, 
		//внутри группы «НДС» справочника
		//Этот вид контроля приемлем как для одной декларации, так и для 
		//нескольких.
		Если НН.ВидНДС.Родитель <> ВидНДС.Родитель Тогда
			Продолжить;
		КонецЕсли;
		// Элементарный выбор максимального значения из списка.
		Если Число(НН.НомерДок)>МаксНом Тогда
			МаксНом = Число(НН.НомерДок);
		КонецЕсли;
	КонецЦикла;
	НомерДок = МаксНом+1;
КонецПроцедуры
  1. В модуле формы документа "НалоговаяНакладная" откорректируйте процедуры, использующие вызов глобальной процедуры глУстановитьНомерДокумента() таким образом, чтобы с определенной даты вызывалась процедура УстановитьНомерНалоговойНакладной().
  2. Добавьте вызов УстановитьНомерНалоговойНакладной() в процедуру ПриНачалеВыбораЗначения(Рекв,ФлагСтандОбр) таким образом, чтобы с определенного периода она вызывалась в конце обработки действий по реквизиту "ВидНДС".
  3. Запустите 1С:Предприятие.
  4. В справочнике "Налоги и отчисления", в группе НДС создайте подгруппы согласно видов деклараций. Переместите элементы справочника, описывающие виды НДС, в эти подгруппы согласно того порядка, в котором они должны будут отображаться в реестрах накладных.
  5. Вновь созданные налоговые накладные должны будут нумероваться согласно их отношению к декларации.
  6. Естественно, ранние "глюки внесенные руками" придется править тоже руками.

 Буду благодарен за комменты, усовершенствования, предложения и плюсеги.

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Damian (Damian) 16.03.11 23:14
А если надо вести сквозную нумерацию налоговых накладных и Приложения 2? Есть идеи как соорудить общий нумератор с возможностью, в случае чего, вернуть все как было?
ИМХО, менять периодичность налоговой на "Месяц" я бы не советовал, потому как нашей налоговой завтра стукнет в башку вернуть все на место, ан нет - исправить все получиться только с 01.01.2012.
Плюс ко всему неизвестно, как дальнейшие редакции регламентированных отчетов будут потрошить номер налоговой (исходя из изменений в 282 релизе).
Но в случае, который осветил автор, по ходу, без этого не обойтись...
А вообще я думаю, надо пересаживать юзеров на 8 (ИМХО) :)
2. Димка Андрусенко (Andrus) 17.03.11 09:50
Зря парились, мы со старта когда эта канитель началась написали в инфоподдержку ДПА и через 5 дней нам свалилось письмецо с ответом где были вот такие вот абзацы


Відповідно до п. 9.1 та п. 9.3 Порядку ведення реєстру виданих та отриманих податкових накладних, затвердженого наказом ДПА України від 24.12.10 №1002, у графі 1 записується порядковий номер податкової накладної (порядковий номер податкової накладної відповідає порядковому номеру запису в Реєстрі), розрахунку коригування кількісних і вартісних показників до податкової накладної та у графі 3 вказується порядковий номер податкової накладної, що відповідає номеру з графи 1, номер розрахунку коригування кількісних і вартісних показників до податкової накладної.

Тобто, платник податку повинен при виписуванні податкової накладної присвоїти їй номер відповідно до порядкового номеру запису в реєстрі виданих та отриманих податкових накладних, при цьому нумерація записів в реєстрі виданих та отриманих податкових накладних здійснюється зручним для платника податку способом або з першого номера кожного звітного податкового періоду (помісячно, щоквартально), або наростаючим підсумком з початку року.


Вывод, надо было оставить все как есть.
3. Дмитрий Литовченко (kompas-dm) 17.03.11 10:00
(2) А кроме Вашего письма и ответа что есть еще :?: Ответ ДПА на запрос - это не инструкция. Ведь напрягают :idea:
4. Димка Андрусенко (Andrus) 17.03.11 10:36
kompas-dm,
Я бы сделал так
1. придется где то хранить последний номер например в константе
2. Если есть префиксы то их надо сделать идентичными
3. при записи проверять через найтипономеру() по каждому из видов документов занят ли этот номер и если занят то циклом ловить следующий свободный
4. при успешной записи обновлять сохраненный номер.
5. Валерий Завалко (ValeryZ) 21.03.11 13:55
(1)
А вообще я думаю, надо пересаживать юзеров на 8 (ИМХО)
К сожалению эти юзеры, в силу скудности средств предприятия, не могут позволить себе приобрести восьмерку, да ещё и сельхоз. Приходится "извращаться". :)

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