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

13.04.16

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

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

Скачать файл

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

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

ВНИМАНИЕ! Уважаемые коллеги, получилась комичная ситуация, что 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С v8.3 1С:Документооборот Россия Платные (руб)

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

29400 руб.

29.06.2023    6400    17    5    

26

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    4454    17    1    

35

Печатные формы Адаптация типовых решений Бухгалтер Пользователь Платформа 1С v8.3 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, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с установленными именами. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

3000 руб.

07.02.2023    7059    75    17    

32

Адаптация типовых решений Программист Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Абонемент ($m)

Маленькая заметка (в трех разных масштабах) для тех, кто часто видит окно при входе в ЗУП «Новые сообщения для расшифровки по 1С-Отчетность», которое появляется через 60 секунд после запуска программы, как раз когда вы уже добрались до интересующей вас формы и начали в ней что-то активно делать:

1 стартмани

17.06.2024    2617    38    Znata_PI    5    

12

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

Каждый из нас сталкивается с ситуацией, когда какой-нибудь менеджер показывает свой Excel и рассказывает, как он что-то из 1С копирует в него, снабжает пояснениями, выделяет цветом и т.д. и т.п. Заканчивается все просьбой сделать вот чтобы также было в 1С. И оказывается такой человек (почти с гарантией) либо лучшим продажником, либо каким-то важным, за все отвечающим, - на ком все держится.

2 стартмани

22.04.2024    5454    dimanich70    15    

22

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    8004    dimanich70    10    

21

Адаптация типовых решений Программист Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

Доработка типового отчета "Связанные документы" позволяет просто и быстро расширять состав объектов для построения структуры подчиненности документов, используя объекты основной конфигурации и любых расширений.

1 стартмани

27.10.2023    3896    31    TempTablesManager    14    

54
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. GeterX 1370 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) Вы правы, даты удержания в табличной части нет.
Оставьте свое сообщение