Пример доработки ЗУП 2.5 для 6-НДФЛ и для сохранения галочки Исчисленный налог = Удержанный налог

13.04.16

Задачи пользователя - Адаптация типовых решений

В данной статье рассмотрено мое решение изменения ЗУП 2.5 для сохранения в настройках галки "Исчисленный налог = Удержанный налог". Подробно расписывать преимущества этой галки не буду, в инете есть множество материалов, где описано, что Вас ждет, если эту галку снять.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
ОтчетОСравнении.mxl
.mxl 113,75Kb ver:1
2 2 500 руб. Купить
ОбработкаПереброскиРеквизита
.epf 6,81Kb
3 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

ВНИМАНИЕ! Уважаемые коллеги, получилась комичная ситуация, что 1С доработало типовую Зуп 2.5 в 102 релизе так же, как и я, это сделал в начале Года! Тему можно отправлять в Архив.

Для тех, кто уже внес изменения, как у меня. Я написал небольшую обработку, для переброски из Доработанного реквизита в типовой, дату Удержания-Выплаты З/П. Не знаю как сделать Обработку бесплатной, поэтому пишите в личку.

 

Суть моей доработки  проста, создать Дату Удержанного НДФЛ в документе "Начисление зарплаты сотрудникам организаций" (Рис. 1), где мы можем проставить дату выплаты З/П по данному начислению. У кого-то возникнет ситуация выплаты начисления разными датами, для этого мы создаем и в Табличной части "НДФЛ" одноименный реквизит где имеем возможность проставить дату Удержания индивидуально для каждого сотрудника и суммы Налога. См. Рис 1.

Небольшое преимущество данного примера, это выведение добавленных реквизитов программным способом. И при обновлении Вам необходимо будет сохранять всего одну строку в Типовом модуле. (См. пункт 4 данной инструкции)

 

1. Создаем реквизит документа с типом дата в документе "Начисление зарплаты сотрудникам организаций", у меня имя "РТ_ДатаУдержанияНДФЛ"

2. Создаем одноименный реквизит с Типом значения Дата в ТЧ "НДФЛ".

3. Создаем Наш Общий модуль, у меня он называется "РТ_ОбщийМодуль".

Заполнение модуля:

#Область ДоработкаНДФЛУдержанный

Процедура РТ_УдалитьУдержаниеВВыплатеЗПОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт  
	
	//Если у нас не упрощенный режим, ничего не трогаем!
	УпрощенныйУчетНДФЛ = ПроцедурыУправленияПерсоналом.ЗначениеУчетнойПолитикиПоПерсоналуОрганизации(глЗначениеПеременной("глУчетнаяПолитикаПоПерсоналуОрганизации"), Источник.Организация, "УпрощенныйУчетНДФЛ");
	Если НЕ УпрощенныйУчетНДФЛ Тогда 
		Возврат
	КонецЕсли;
	
	//Удаляем чушь
	НДФЛ_Удерж = Источник.Движения.НДФЛРасчетыСБюджетом;
	НДФЛ_Удерж.Очистить();
	НДФЛ_Удерж.Записывать = Истина;
	
	НДФЛ_РасчетС_Бюджетом = Источник.Движения.РасчетыНалоговыхАгентовСБюджетомПоНДФЛ;
	НДФЛ_РасчетС_Бюджетом.Очистить();
	НДФЛ_РасчетС_Бюджетом.Записывать = Истина;
	
КонецПроцедуры

Процедура ВыводДополнительныхРеквизитов(ДокументОбъект, ФормаДокумента) Экспорт

    // Вывод или сохранение дополнительных реквизитов
    // Если элемент формы существует то сохраняем значение
    Элемент = ФормаДокумента.ЭлементыФормы.Найти("РТ_ДатаУдержанияНДФЛ");

	Если Элемент = Неопределено Тогда
		
        // Создание заголовка
        Элемент = ФормаДокумента.ЭлементыФормы.Добавить(Тип("Надпись"), "ЗаголовокРТ_ДатаУдержанияНДФЛ", Истина, ФормаДокумента.Панель);
        Элемент.Заголовок = "Дата Удержания НДФЛ:";

        // Настройка
        Элемент.Лево = 416;
        Элемент.Верх = 102;
        Элемент.Высота = 19;
        Элемент.Ширина = 140;

        // Установка привязок
	Элемент.УстановитьПривязку(ГраницаЭлементаУправления.Низ, ФормаДокумента.ЭлементыФормы.ЗаголовокРТ_ДатаУдержанияНДФЛ, ГраницаЭлементаУправления.Верх);
        Элемент.УстановитьПривязку(ГраницаЭлементаУправления.Право, ФормаДокумента.ЭлементыФормы.ПериодНачисленияДатаОкончания, ГраницаЭлементаУправления.Право);
        Элемент.УстановитьПривязку(ГраницаЭлементаУправления.Лево, ФормаДокумента.ЭлементыФормы.ПериодНачисленияДатаОкончания, ГраницаЭлементаУправления.Право);

        // Создание поле ввода
        Элемент = ФормаДокумента.ЭлементыФормы.Добавить(Тип("ПолеВвода"), "РТ_ДатаУдержанияНДФЛ", Истина, ФормаДокумента.Панель);
        Элемент.ТипЗначения = Новый ОписаниеТипов("Дата");
        Элемент.Данные = "РТ_ДатаУдержанияНДФЛ";

        // Настройка
        Элемент.Лево = 416 + 140;
        Элемент.Верх = 102;
        Элемент.Высота = 19;
        Элемент.Ширина = 92;

        // Установка привязок
	Элемент.УстановитьПривязку(ГраницаЭлементаУправления.Низ, ФормаДокумента.ЭлементыФормы.РТ_ДатаУдержанияНДФЛ, ГраницаЭлементаУправления.Верх);
	Элемент.УстановитьПривязку(ГраницаЭлементаУправления.Право, ФормаДокумента.ЭлементыФормы.Ответственный, ГраницаЭлементаУправления.Право);
        Элемент.УстановитьПривязку(ГраницаЭлементаУправления.Лево,ФормаДокумента.ЭлементыФормы.ПериодНачисленияДатаОкончания, ГраницаЭлементаУправления.Право);

		//Выводим в таличную часть реквизиты
		ЭлементыФормы = ФормаДокумента.ЭлементыФормы;
		ЭлементыФормы.НДФЛ.Колонки.Добавить("РТ_ДатаУдержанияНДФЛ", "Дата удержания НДФЛ");
		ЭлементыФормы.НДФЛ.Колонки.РТ_ДатаУдержанияНДФЛ.Данные = "РТ_ДатаУдержанияНДФЛ";
		ЭлементыФормы.НДФЛ.Колонки.РТ_ДатаУдержанияНДФЛ.УстановитьЭлементУправления(Тип("ПолеВвода"));
		ЭлементыФормы.НДФЛ.Колонки.РТ_ДатаУдержанияНДФЛ.ЭлементУправления.КнопкаВыбора = Истина;
		
    КонецЕсли;

КонецПроцедуры

Процедура РТ_ПроведениеНачислениеЗПОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт
	
	//Если у нас не упрощенный режим, ничего не трогаем!
	УпрощенныйУчетНДФЛ = ПроцедурыУправленияПерсоналом.ЗначениеУчетнойПолитикиПоПерсоналуОрганизации(глЗначениеПеременной("глУчетнаяПолитикаПоПерсоналуОрганизации"), Источник.Организация, "УпрощенныйУчетНДФЛ");
	Если НЕ УпрощенныйУчетНДФЛ Тогда 
		Возврат
	КонецЕсли;

	ДатаУдержанияНДФЛ = Источник.РТ_ДатаУдержанияНДФЛ;
	
	ТЗ_НДФЛ_сДатами = ПолучитьЛичныеДатыУдержания(Источник.Ссылка);
	Если ТЗ_НДФЛ_сДатами.Количество() = 0 Тогда 
		ДатыВТЧ = Ложь;
	Иначе 
		ДатыВТЧ = Истина;
	КонецЕсли;
	
	Если ДатаУдержанияНДФЛ <> Дата(1,1,1) Тогда 
		НДФЛ_Удерж = Источник.Движения.НДФЛРасчетыСБюджетом;
		НДФЛ_Удерж.Записывать = Истина;
		Для Каждого Записи из НДФЛ_Удерж Цикл
			
			Если Записи.ВидСтроки = Перечисления.НДФЛРасчетыСБюджетомВидСтроки.Удержание Тогда
				
				Записи.Период = ДатаУдержанияНДФЛ;
				
				//Проверяем даты Удержания НДФЛ в талице
				Если ДатыВТЧ Тогда 
					
					Для Каждого СтрокаТЗ из ТЗ_НДФЛ_сДатами Цикл 
						Если СтрокаТЗ.ФизЛицо = Записи.ФизЛицо И СтрокаТЗ.Налог = Записи.Налог И СтрокаТЗ.ПодразделениеОрганизации = Записи.ПодразделениеОрганизации  Тогда 
						Записи.Период = СтрокаТЗ.РТ_ДатаУдержанияНДФЛ;
						КонецЕсли;
					КонецЦикла;	
				КонецЕсли;
				
			КонецЕсли;
			
		КонецЦикла;		
	КонецЕсли;
	
КонецПроцедуры

Функция ПолучитьЛичныеДатыУдержания(Ссылка)

	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	НачислениеЗарплатыРаботникамОрганизацийНДФЛ.Ссылка,
		|	НачислениеЗарплатыРаботникамОрганизацийНДФЛ.ФизЛицо,
		|	НачислениеЗарплатыРаботникамОрганизацийНДФЛ.Налог,
		|	НачислениеЗарплатыРаботникамОрганизацийНДФЛ.РТ_ДатаУдержанияНДФЛ,
		|	НачислениеЗарплатыРаботникамОрганизацийНДФЛ.ПодразделениеОрганизации
		|ИЗ
		|	Документ.НачислениеЗарплатыРаботникамОрганизаций.НДФЛ КАК НачислениеЗарплатыРаботникамОрганизацийНДФЛ
		|ГДЕ
		|	НачислениеЗарплатыРаботникамОрганизацийНДФЛ.Ссылка = &Ссылка
		|	И НачислениеЗарплатыРаботникамОрганизацийНДФЛ.РТ_ДатаУдержанияНДФЛ <> &ПустаяДата";
	
	Запрос.УстановитьПараметр("Ссылка", Ссылка);
	Запрос.УстановитьПараметр("ПустаяДата", Дата(1,1,1));

	
	РезультатЗапроса = Запрос.Выполнить();
		
	Возврат РезультатЗапроса.Выгрузить();	

КонецФункции // ПолучитьЛичныеДатыУдержания(Источник.Ссылка);()

#КонецОбласти

4. В конце процедуры "ПриОткрытии" Формы документа "Начисление зарплаты сотрудникам организаций" вставляем:

//Измения +
	РТ_ОбщийМодуль.ВыводДополнительныхРеквизитов(ДокументОбъект,ЭтаФорма);
	//Изменения -

 Это единственное изменение, которое необходимо будет сохранять при Обновлении конфы.

5. Создаем Подписку на событие Источник = ДокументОбъект.НачислениеЗарплатыРаботникамОрганизаций, Событие = ОбработкаПроведения, Обработчик = РТ_ОбщийМодуль.РТ_ПроведениеНачислениеЗПОбработкаПроведения.

На этом все. Обращу внимание, что в моем Общем модуле есть процедура "РТ_УдалитьУдержаниеВВыплатеЗПОбработкаПроведения", она создана для Подписки при проведении Ведомости на выплату З/П. Не описывал создание этой подписки по причине того, что в релизе 2.5.101.2 разработчки убрал движение этого документа по регистру "НДФЛРасчетыСБюджетом", но я у себя оставил.

Так же для Бухгалтеров создал Внешний отчет для сверки 6-НДФЛ: //infostart.ru/public/505533/

Первые отчеты ушли на этой неделе, будем смотреть, что скажут в ИФНС, но в 6-НДФЛ все было красиво.

 

P.S

Знаю, что Код местами туповат, но сделал так...

Вступайте в нашу телеграмм-группу Инфостарт

6-НДФЛ Доработка

См. также

Адаптация типовых решений 1С:Предприятие 8 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

32330 руб.

29.06.2023    12203    35    15    

42

Банковские операции Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

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

9760 руб.

17.06.2025    3530    9    0    

8

Печатные формы Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с соответствующими именами, при выводе на печать в размещённые картинки будут выводиться факсимиле из прикреплённых рисунков. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

6000 руб.

07.02.2023    13079    117    23    

73

Адаптация типовых решений 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Расширение для вывода информации об остатках и ценах номенклатуры в форме списка и выбора номенклатуры. (УТ 11, КА 2, ERP). Позволяет получать информацию о ценах, остатках и доступности в разрезе складов и характеристик номенклатуры, информацию по документам резерва.

7930 руб.

16.10.2025    1311    2    0    

2

Адаптация типовых решений 1С 8.3 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Беларусь Россия Платные (руб)

Расширение "Дополнительные документы" предназначено для создания дополнительных документов различного назначения, как форм для внесения данных так и печатных форм в расширяемой конфигурации пользовательскими средствами, без работы в конфигураторе и внесения изменений в структуру данных. Тестировалось для "1С:БП", "1С:УНФ","1С:КА"

21859 руб.

29.12.2025    1351    1    8    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. GeterX 1453 16.04.16 16:38 Сейчас в теме
А в ЗКБУ 1.0 в качестве даты удержания используется дата документа, так планирую со следующем обновлением такое сделают и в ЗУП 2.5
2. Beta 11 19.04.16 10:07 Сейчас в теме
В ожидании чудо-релиза, прописала доработку, все работает!!!
3. lotan 63 19.04.16 10:14 Сейчас в теме
(2) Beta, наверное зря дописывали... Говорят там будет типовая дата Удержания в начислении З/П. Единственное наверное чего не будет, так даты Удержания в Табличной части.
Если так будет в 102 релизе, сюда выложу обработку, переброски из доработанного реквизита в Типовой даты.
4. stroganov_ru 32 22.04.16 09:24 Сейчас в теме
(3) Вы правы, даты удержания в табличной части нет.
Для отправки сообщения требуется регистрация/авторизация