В ЗУП 3.1 заполнение документа доход в натуральной форме

1. sajmon45 14.11.19 22:10 Сейчас в теме
В ЗУП 3.1 заполнение документа доход в натуральной форме реализовано с помощью внешней обработки с excel. Но не могу программно передать НДФЛ, при проведении остается пустое поле. Может кто с этим сталкивался?
По теме из базы знаний
Найденные решения
10. sajmon45 15.11.19 14:40 Сейчас в теме
Спасибо большое за помощь, нужно было заполнить в ТЧ НДФЛ не только "Категорию дохода", но "Подразделение". Но вы очень помогли.
user1036607; Hla; +2 Ответить
5. Hla 82 15.11.19 10:42 Сейчас в теме
(3) добавьте "Категорию дохода" в таблицу НДФЛ. И заполните таблицу Физические лица.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Hla 82 15.11.19 06:57 Сейчас в теме
(1) А можно посмотреть, как вы заполняете программно НДФЛ? В документе "ДоходВНатуральнойФорме" начисления и налог в различных табличных частях.
3. sajmon45 15.11.19 10:13 Сейчас в теме
(2)
&НаКлиенте
Процедура ПослеВыбораЛиста(ВыбранныйЭлемент, Об_Конект) Экспорт 

	Если ВыбранныйЭлемент = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	СтрокаСписка = ВыбранныйЭлемент.Значение;
	
	Если СтрокаСписка <> Неопределено Тогда
		//Сообщить("Выбран лист "+СтрокаСписка);
		ТекстЗапроса = "SEL ECT * FR OM ["+СтрокаСписка+"]";
		
		Попытка			
			//RecordSet = Об_Конект.Execute(ТекстЗапроса); //не работало количество строк RecordSet.RecordCount
			RecordSet = Новый COMОбъект("ADODB.Recordset");
			RecordSet.CursorType = 3;
			RecordSet.Open(ТекстЗапроса, Об_Конект);
		Исключение			
			Сообщить("Не удалось выполнить запрос к файлу Excel 
			|"+ ОписаниеОшибки(),СтатусСообщения.Важное);			
			Возврат;			
		КонецПопытки;
		
		Сч = 0;
		
		RecordSet.AbsolutePosition = 12;

		ВидВычета =  ВидВычета();
		
		Пока НЕ RecordSet.EOF() Цикл 
			
			Сч = Сч + 1;
			
			RecordSet.MoveNext();	
			
			
			//Состояние("Идет считывание с файла xls", (Сч/RecordSet.RecordCount)*100);	
			
			//Проверим период
			//Если СокрЛП(RecordSet.Fields(1).value) = "структурное подразделение" Тогда
			//	ДатаНачала = RecordSet.Fields(35).value;
			//	ДатаОкончания = RecordSet.Fields(39).value;
			//КонецЕсли;
			
			//обойдём всех сотрудников
			Если RecordSet.EOF = Ложь Тогда
			Если ТипЗнч(RecordSet.Fields(1).value) = Тип("Строка") Тогда
				
				ОбработкаПрерыванияПользователя();
				
				ФИОСотрудника = RecordSet.Fields(1).value;
				Результат = RecordSet.Fields(4).value;
				НДФЛ = RecordSet.Fields(5).value;
				КоличествоСлов = КоличествоСлов(ФИОСотрудника);
				//ТабНомер = Найти(ФИОСотрудника, "(");
				
				Если КоличествоСлов = 3 Тогда
					//ТабНомер = Прав(ФИОСотрудника, СтрДлина(ФИОСотрудника)-ТабНомер);
					//ТабНомер = СтрЗаменить(ТабНомер, ")", "");
					Сотрудник = ПолучитьСотрудникаПоНаименованию(ФИОСотрудника);
					Подразделение = ИнформацияОФизЛиц(Сотрудник);
					СтрокаВР = ВладелецФормы.Объект.Начисления.Добавить();
				    СтрокаВР.Сотрудник = Сотрудник;
					СтрокаВР.КодВычета = ВидВычета;
	                СтрокаВР.Результат = Результат;
					СтрокаВР.Подразделение = Подразделение;
					СтрокаВР.НДФЛ = НДФЛ;
					СтрокаВРН = ВладелецФормы.Объект.НДФЛ.Добавить();
					СтрокаВРН.ФизическоеЛицо = ПолучитьФизЛицоСотрудника(Сотрудник);
					СтрокаВРН.Налог = НДФЛ;
					СтрокаВРН.МесяцНалоговогоПериода = ВладелецФормы.Объект.ДатаПолученияДохода;
					//НачисленияПриНачалеРедактирования();

					//СтрокаВРН.ФизическоеЛицо = Сотрудник;
				КонецЕсли;
												
				ВладелецФормы.Модифицированность = Истина;
				
				//СтрокаВР = ВладелецФормы.Объект.Начисления.Добавить();
				//СтрокаВР.Сотрудник = Сотрудник;
				//СтрокаВР.ЭтоПерваяСтрокаПоСотруднику = Истина;
				НоваяСтрока = Истина;
				ВтораяСтрока = Неопределено;
				
			КонецЕсли;
	КонецЕсли;

			
			//Если СокрЛП(RecordSet.Fields(1).value) = "ВСЕГО:" Тогда
			//	Состояние("Идет считывание с файла xls",100);	
			//	Прервать;
			//КонецЕсли;
			
		КонецЦикла;
		
	КонецЕсли;
	
	
	//закрываем соединение с Excel
	Об_Конект.Close();
	Об_Конект = Неопределено;	
			
	//УчетРабочегоВремениРасширенныйКлиентСервер.ТабельУстановитьИнфонадписьВысотаСтрок(ВладелецФормы);
	
	ВладелецФормы.ОбновитьОтображениеДанных();
	

КонецПроцедуры // ()
Показать
4. Hla 82 15.11.19 10:32 Сейчас в теме
(3)
СтрокаВР = ВладелецФормы.Объект.Начисления.Добавить();
, в этой талбице в конфигураторе я не вижу реквизита НДФЛ, но есть другая таблица, так и называется НДФЛ, там реквизит Налог, м.б. туда писать ваш прочитанный НДФЛ.

Ой извиняюсь не увидела, что вы и туда добавляете запись.
5. Hla 82 15.11.19 10:42 Сейчас в теме
(3) добавьте "Категорию дохода" в таблицу НДФЛ. И заполните таблицу Физические лица.
6. sajmon45 15.11.19 10:43 Сейчас в теме
Вот здесь я так и делаю, но получается что отображается при нажатии на реквизит НДФЛ (в общей форме ПодробнееОРасчетеНДФЛ) две записи и она не распознает за какой месяц!

 СтрокаВРН = ВладелецФормы.Объект.НДФЛ.Добавить();
СтрокаВРН.Налог = НДФЛ;
7. Hla 82 15.11.19 10:51 Сейчас в теме
(6) Вы заполните сначала документ врукопашную в 1С, можно 1-го сотрудника. Затем через универсальный отчет посмотрите какие таблицы заполняются и какими данными, сравните с документом который пытаетесь заполнить из экселя.
8. sajmon45 15.11.19 11:11 Сейчас в теме
А как посмотреть через универсальный отчет? Подскажите пожалуйста?
9. Hla 82 15.11.19 11:48 Сейчас в теме
(8) Администрирование -> Печатные формы, отчеты и обработки -> Универсальный отчет.
Прикрепленные файлы:
10. sajmon45 15.11.19 14:40 Сейчас в теме
Спасибо большое за помощь, нужно было заполнить в ТЧ НДФЛ не только "Категорию дохода", но "Подразделение". Но вы очень помогли.
user1036607; Hla; +2 Ответить
11. Hla 82 18.11.19 06:47 Сейчас в теме
12. user1036607 11.12.23 15:41 Сейчас в теме
Всем привет!
Вот бы еще ТЧ Удержания при этом рассчитывались если они есть (исп листы).
Непонятно как эту ТЧ заполнять программно.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот