Странное кодирование систем налогообложения

Клиенту нужно было делать различные действия в обработке в зависимости от используемой системы налогообложения. И вот тут возникла проблема — я не смог сходу отличить от «УСН + Патент» от «Только патент».

Система налогообложения хранится в регистре сведений:

При этом у перечисления систем налогообложения есть только такие значения:

А вот в форме организации появляется еще интересная галочка «Только патент», в целом форма не очень понятно как соответствует регистру:

Демка БП3 у меня была старой, там этой галочки еще не было. Ставить новую не хотелось, поэтому анализировал код.

Как обычно в 1С нет прозрачности, пришлось поковыряться. Но в конце концов нашел искомое, вот оно:

Т.е. патент тогда, когда у Организации применяется патент УСН и не применяется УСН и организация не является плательщиком НДС.

Код получился примерно такой:

Если Выборка.ПрименяетсяУСНПатент 
	И НЕ Выборка.ПрименяетсяУСН 
	И НЕ Выборка.ПлательщикНДС 
	Тогда
	//Патент
ИначеЕсли Выборка.ПрименяетсяУСНДоходы И НЕ Выборка.ПрименяетсяУСНПатент Тогда
	//Чистый УСН Доходы
ИначеЕсли Выборка.ПрименяетсяУСНДоходыМинусРасходы 
	//Чистый УСН Доходы-Расходы
	ИЛИ Выборка.ПрименяетсяУСН И Выборка.ПлательщикЕНВД
	//УСН с ЕНВД
	ИЛИ Выборка.ПрименяетсяУСН И Выборка.ПрименяетсяУСНПатент
	//УСН с Патентом
	Тогда
КонецЕсли;

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментариев 8

  1. Павел:

    Долбоящеры они конечно — определять сущность через отрицания, причем не особо очевидные. А если завтра еще признак вводится — еще одно отрицание будет в условии — «патент, но не этот»? Вымораживают типовые — чтобы понять как корректно признаки расставить в справочнике надо половину типовой просмотреть — как они это булево использовать будут

  2. rzd:

    Открываем общий модуль УчетнаяПолитика:

    Функция ПрименяетсяТолькоУСНПатент(Организация, Период) Экспорт

    Возврат ПрименяетсяУСНПатент(Организация, Период)
    И НЕ ПлательщикЕНВД(Организация, Период)
    И ПрименяетсяОсобыйПорядокНалогообложения(Организация, Период);

    КонецФункции

    • Павел:

      Заибца. 1ц во всей красе. Здесь мы функцию эту используем, а здесь нет. Тут поменяли, а тут забыли — ворох новых ошибок, есть что еще исправлять. Эта музыка будет вечной

      • Да, мне стыдно за методистов 1с. Похоже, что пишут с колёс… Нет там глубины мысли и системной проработки.

    • да, именно по этой функции я и понял, как считается «Только патент».

  3. Павел:

    Они невозможны в рамках текущего языка. В реализации на языке и парадигме «не курильщика» все эти поля были бы доступны максимум на чтение, а скорее всего вообще недоступны. И все бы было скрыто, кроме одной универсальной вменяемой функции, которая бы возвращала бы состояние учетной политики, причем без необходимости повторной интпрпритации ее результата — отгадайте дети, не усн и без ндс — что это на самом деле. 4 бинарных переключателя дают 16 вариантов, из которых сочетаний которые имеют смысл 5-7. А 1ц заставляет аналитика ломать голову — это неучтенный глюк или новая фича из НК, или интерпретация методологов с селезневской

Добавить комментарий для fixin Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *