1C 8.2 СХ Инагро Релиз 1.2.30.2
Ребят есть задача автоматизировать снятие ВС и НДФЛ с больничных с(663 счет) Решил сделать это так же как советают делать в интернете (ручками поправить) только что бы это попровлялось при нажатии на кнопку (Заполнить и расчитать) ....
Может кто то под сказать может я что то не так делаю... бо не как не могу выйти на базу вычесления из-за того что (начисления, и налоги) в коде находят с разной суммой... соответственно не могу сделать базу для расчета... а именно из Начисления(больничных) высчитать ЕСВ далее вычесть данный ЕСВ из начисления и остаток поделить на ставку налога ВС и НДФЛ и списать с 663счета вот код:
Для каждого Строка из НачисленияПроводки Цикл
Если Строка.СчетКт.Ссылка = ПланыСчетов.Хозрасчетный.РасчетыПоДругимВыплатам.Ссылка Тогда
Работник = Строка.СубконтоКт1;
ТабНДФЛ = НДФЛПроводки.Выгрузить();
ТабЕСВ = ВзносыПроводки.Выгрузить();
СтрокаНДФЛ = ТабНДФЛ.Найти(Работник,"Сотрудник");
СтрокаЕСВ = ТабЕСВ.Найти(Работник,"Сотрудник");
Шкалы = РегистрыСведений.ШкалаСтавокНалогов.Выбрать(Дата(01,01,0001),КонецГода(Дата));
Пока Шкалы.Следующий()Цикл
Если Шкалы.СтатьяНалоговойДекларации = СтрокаЕСВ.СтатьяНалоговойДекларации Тогда
Ставка = Шкалы.Ставка;
КонецЕсли;
КонецЦикла;
СтрДоход = Строка.Результат * Ставка;
СтрДоход = Число(Формат(СтрДоход, "ЧДЦ=2"));
Для Каждого Стр из ТабЕСВ Цикл
Если Стр.Сотрудник = Работник и Стр.Результат = СтрДоход Тогда
СуммПосЕСВ = СтрДоход;
Иначе Продолжить
КонецЕсли;
КонецЦикла;
//Для Каждого Стр из ТабНДФЛ Цикл
// Если Стр.Сотрудник = Работник и Стр.Результат = СтрДоход Тогда
// НовСтр = ТабНДФЛ.Добавить();
// НовСтр = Стр;
// НовСтр.НомерСтроки = ""
// КонецЕсли;
//КонецЦикла;
//РассчитатьНДФЛ()
КонецЕсли;
КонецЦикла;
Цитата(EritikWoW @ 05.09.15, 12:25)
СтрокаНДФЛ = ТабНДФЛ.Найти(Работник,"Сотрудник");
СтрокаЕСВ = ТабЕСВ.Найти(Работник,"Сотрудник");
Вот этот кусок меня ооочень смущает но не знаю как более отимально выбрать строку для работы