Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
14 Дек 2017, 09:44
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: 1С 8.2 СХ "ИнАгро" РасчетНДФЛ  (Прочитано 361 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн EritikWoW

  • *
  • Сообщений: 31
  • РЕПУТАЦИЯ: 1
  • КПД: 3%
  • Регистрация: 2012-03-19
  • Сайт: 
  • Профессия: Ученик 1С
Ребят кому не сложно помогите оптимизировать и решить проьлему зацикливания создания строк, а то я уже не соображаю ! За ранее ООООГРОМНОЕ СПАСИБО ! =)

Функция РасчетНДФЛ()
Ставка = РегистрыСведений.СтавкиНДФЛ.Выбрать(Дата(01,01,0001),КонецГода(Дата));
ТабНДФЛ = НДФЛПроводки.Выгрузить();
ТабНач = НачисленияПроводки.Выгрузить();
ТабВзнос = ВзносыПроводки.Выгрузить();
ТабОтрВБУ = ОтражениеВРеглУчете.Выгрузить();
НольОдин = Число("0,01");
Для Каждого Строчка из ТабНач Цикл
Если Строчка.СчетКт.Ссылка = ПланыСчетов.Хозрасчетный.РасчетыПоДругимВыплатам.Ссылка Тогда
Работник = Строчка.Сотрудник;
Для каждого Строка из ТабНДФЛ Цикл
Если Строка.Сотрудник = Работник Тогда
СуммНач = 0;
СуммВзн = 0;
СумБоль = 0;
СумНДФЛ = 0;
СумВС = 0;
СуммаВС663 = 0;
СуммаНДФЛ663 = 0;
СуммаВС661 = 0;
СуммаНДФЛ661 = 0;
Для Каждого Стр Из ТабВзнос цикл //
Если Стр.Сотрудник = Работник И НЕ Стр.Результат = 0 и
Стр.СчетДТ.Ссылка = ПланыСчетов.Хозрасчетный.РасчетыПоДругимВыплатам.Ссылка Тогда //
СумВзн = Стр.Результат; //
СуммВзн = СуммВзн + СумВзн; //
СуммаВзн = СуммВзн //
Иначе Продолжить //
КонецЕсли; //
КонецЦикла; //
РазмерЛьготы = РегистрыСведений.РазмерыЛьготНДФЛ.ПолучитьПоследнее(ТекущаяДата()); //
Для Каждого Строк из ТабОтрВБУ Цикл //
Если Строк.СубконтоКт1 = Работник Тогда //
СумНач = Строк.Сумма; //
СуммНач = СуммНач + СумНач; //
СуммаНач = СуммНач //
КонецЕсли;
КонецЦикла; //
Для каждого ст из ТабНач Цикл
Если Строчка.СчетКт.Ссылка = ПланыСчетов.Хозрасчетный.РасчетыПоДругимВыплатам.Ссылка и Ст.Сотрудник = Работник Тогда
СуммБоль = ст.Результат;
СумБоль = СумБоль + СуммБоль;
СуммаБоль = СумБоль;
КонецЕсли;
КонецЦикла;
Для каждого Стро из ТабНДФЛ цикл
Если Стро.Сотрудник = Работник Тогда
Если НЕ Стро.ДоходНДФЛ.Ссылка = Справочники.ВидыДоходовНДФЛ.ВоенныйСбор.Ссылка Тогда
СуммНДФЛ = Стро.Результат;
СумНДФЛ = СумНДФЛ + СуммНДФЛ;
СуммаНДФЛ = СумНДФЛ;
КонецЕсли;
Если Стро.ДоходНДФЛ.Ссылка = Справочники.ВидыДоходовНДФЛ.ВоенныйСбор.Ссылка Тогда
СуммВС = Стро.Результат;
СумВС = СумВС + СуммВС;
СуммаВС = СумВС;
КонецЕсли;
КонецЕсли;
Если НЕ СуммаБоль = 0 И НЕ СуммаНДФЛ = 0 И НЕ СуммаВС = 0 И
НЕ СуммаБоль = Неопределено и НЕ СуммаНДФЛ = Неопределено И НЕ СуммаВС = Неопределено Тогда
ПроцентБольничных = (СуммаБоль*100)/СуммаНач;
СуммаНДФЛ663 = (СуммаНДФЛ/100)*ПроцентБольничных;
СуммаНДФЛ663 = Число(Формат(СуммаНДФЛ663,"ЧДЦ=2"));
СуммаНДФЛ661 = СуммаНДФЛ - СуммаНДФЛ663;
СуммаВС663 = (СуммаВС/100)*ПроцентБольничных;
СуммаВС663 = Число(Формат(СуммаВС663,"ЧДЦ=2"));
СуммаВС661 = СуммаВС - СуммаВС663;
КонецЕсли;
КонецЦикла;
НовСтрока = ТабНДФЛ.Добавить();
НовСтрока.БазовыйПериодНачало = Строка.БазовыйПериодНачало;
НовСтрока.ДоходНДФЛ = Строка.ДоходНДФЛ;
Если СуммаНДФЛ661 > Число(0) Тогда
НовСтрока.Результат = СуммаНДФЛ661;
СуммаНДФЛ661 = Число(0)
КонецЕсли;
Если СуммаВС661 > Число(0) И СуммаНДФЛ661 < Число(0)Тогда
НовСтрока.Результат = СуммаНДФЛ661;
СуммаНДФЛ661 = Число(0)
КонецЕсли;
НовСтрока.Сотрудник = Работник;
НовСтрока.СубконтоДт1 = Работник;
НовСтрока.СубконтоКт1 = Строка.СубконтоКт1;
НовСтрока.СчетДт = ПланыСчетов.Хозрасчетный.РасчетыПоДругимВыплатам.Ссылка;
НовСтрока.СчетКт = Строка.СчетКт;
Если СуммаНДФЛ663 > Число(0) Тогда
Строка.Результат = СуммаНДФЛ663;
СуммаНДФЛ663= Число(0)
КонецЕсли;
Если СуммаВС663 > Число(0) и СуммаНДФЛ663 < Число(0) Тогда
Строка.Результат = СуммаВС663;
СуммаВС663= Число(0)
КонецЕсли;
Строка.СчетДт = ПланыСчетов.Хозрасчетный.РасчетыПоДругимВыплатам.Ссылка;
СуммаНДФЛ663 = 0
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
НДФЛПроводки.Очистить();
НДФЛПроводки.Загрузить(ТабНДФЛ);
КонецФункции


Теги:
 

Какие ответственные лица могут быть указаны в регистре сведений "Ответственные л

Автор DDDРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 4309
Последний ответ 25 Ноя 2008, 11:07
от DDD
Бесплатная конференция «Отчетность за I полугодие: актуальные вопросы подготовки и требования законодательства"

Автор mixqnРаздел Мероприятия

Ответов: 0
Просмотров: 1603
Последний ответ 15 Июн 2014, 18:16
от mixqn
Какие преимущества получит менеджмент компании, сменив программу "1С:Торговля и

Автор БоняРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 3308
Последний ответ 25 Июл 2008, 09:35
от Боня
Для контрагента в договоре установлен вариант ведения взаиморасчетов "По заказам

Автор DDDРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 3914
Последний ответ 25 Ноя 2008, 10:33
от DDD
Не получается сделать пример из книги "1С Предприятие Эффективное программирова

Автор v.k.l.chr.byРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 2999
Последний ответ 02 Ноя 2011, 15:16
от has

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
180 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
40 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 753
  • Точка Скрытых: 0
  • Точка Пользователей: 14
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal