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