• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Помогите решить проблему!

  • Автор темы Mashino4ka
  • Дата начала
M

Mashino4ka

1с Бух УСН 7.7 При вводе сотрудника, на закладке налоги и отчисления есть вычеты на детей, там на здорового ребёнка есть 600-1200, а на инвалида 0т 1200-2400, так вот неоходимо поменять эти вычеты следующим образом на здоровых детей 1000-2000, а на инвалидов 2000-4000 и при составлении налоговой карточки 1-НДФЛ эти вычеты отражаются, но когда я поменяла в модуле справочника формы элемента цифры вот что получилось:
// Предопределенная процедура
//
Процедура ПриНачалеВыбораЗначения(ЭлементДиалога, Флаг)

Если (ЭлементДиалога = "СчетЗатрат") Тогда
СписокКорректныхПроводок = СоздатьОбъект("СписокЗначений");
СписокКорректныхПроводок.Установить("Счет", Сч70);
глЗначениеОтбора = СписокКорректныхПроводок;

ИначеЕсли ЭлементДиалога = "РазмерВычетаНаРебенка" Тогда
ВычетыНаРебенка = СоздатьОбъект("СписокЗначений");
Если ДатаГод(ИспользоватьДату()) < 2005 Тогда
ВычетыНаРебенка.ДобавитьЗначение(300);
ВычетыНаРебенка.ДобавитьЗначение(600);

Иначе
ВычетыНаРебенка.ДобавитьЗначение(1000);
ВычетыНаРебенка.ДобавитьЗначение(2000);
КонецЕсли;
ВычетыНаРебенка.ВыбратьЗначение(РазмерВычетаНаРебенка,,,, 2);
Флаг = 0;

ИначеЕсли ЭлементДиалога = "РазмерВычетаНаРебенкаИнвалида" Тогда
ВычетыНаРебенка = СоздатьОбъект("СписокЗначений");
ВычетыНаРебенка.ДобавитьЗначение(2000);
ВычетыНаРебенка.ДобавитьЗначение(4000);
ВычетыНаРебенка.ВыбратьЗначение(РазмерВычетаНаРебенкаИнвалида,,,, 2);
Флаг = 0;

ИначеЕсли ЭлементДиалога = "ХарактерРаботы" Тогда
СписокХарактеровРаботы.ВыбратьЗначение(ХарактерРаботы,,,, 2);
Флаг = 0;
КонецЕсли;

КонецПроцедуры // ПриНачалеВыбораЗначения()
Теперь вычеты на детей преобразовывают эти цифры, а когда составляю карточку 1-НДФЛ он мне не выдаёт эти цифры и не выщитывает налог, всё равно ставит 600-1200??Вопрос мой понятен?????Очень нужна помощь!!!
 
V

vbs

ИспользоватьДату(<Дата>,<Обновить>)
Назначение:
Установить дату, на которую будут записываться периодические реквизиты элемента справочника, форма которого открыта.
Параметры:
<Дата> - значение типа ''дата''. Дата, на которую будут записываться периодические реквизиты элемента справочника, форма которого открыта.
<Обновить> - необязательный параметр. Число: 1 - обновить периодические реквизиты формы на заданную дату; 0 - не обновлять периодические реквизиты формы.
Значение по умолчанию - 0;
 
M

Mashino4ka

Так может это в обновлении будет??потому что у меня уже второй человек спрашивает про это!
 
I

itsmith

А НДФЛ-1 надо уже за 2009 ? точно :(

Для нормальной работы надо во всех местах где РазмерВычета проверяется - руками фиксить
Спр. Сотрудники, док.Начисление ЗП, обработка НДФЛ-1, .....

для обработки исправлять тут
Код:
...
Если КодВычета = "101" тогда
РазмерВычета = ?(Год>=2005, 600, 300);
СуммаВычета = ?(ВычетыПеретекают = 1, Окр(СуммаВведенная/РазмерВычета)*РазмерВычета, СуммаВведенная);
ИначеЕсли КодВычета = "102" тогда 
РазмерВычета = ?(Год>=2005, 1200, 600);
СуммаВычета = ?(ВычетыПеретекают = 1, Окр(СуммаВведенная/РазмерВычета)*РазмерВычета, СуммаВведенная);
ИначеЕсли КодВычета = "106" тогда
СуммаВычета = ?(ВычетыПеретекают = 1, Окр(СуммаВведенная/1200)*1200, СуммаВведенная);
ИначеЕсли КодВычета = "107" тогда
СуммаВычета = ?(ВычетыПеретекают = 1, Окр(СуммаВведенная/2400)*2400, СуммаВведенная);
ИначеЕсли КодВычета = "103" тогда
СуммаВычета = ?(ВычетыПеретекают = 1, Окр(СуммаВведенная/400)*400, СуммаВведенная);
ИначеЕсли КодВычета = "104" тогда
СуммаВычета = ?(ВычетыПеретекают = 1, Окр(СуммаВведенная/500)*500, СуммаВведенная);
ИначеЕсли КодВычета = "105" тогда
СуммаВычета = ?(ВычетыПеретекают = 1, Окр(СуммаВведенная/3000)*3000, СуммаВведенная);
КонецЕсли;

....
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!