Имя: Пароль:
1C
 
ЗУП 2519 - Перерасчет НДФЛ - нормально работает?
0 RomaH
 
naïve
11.01.10
10:50
Обновление делаю переносом данных.
Вот дошло дело до Перерасчета НДФЛ - при проведении выдает ошибку:
Ошибка при выполнении обработчика - '{Документ.НДФЛПерерасчет(533)}: Ошибка при вызове метода контекста (НайтиСледующий): Поле не найдено : "СтавкаНалогообложенияРезидента"'
по причине:
{Документ.НДФЛПерерасчет(533)}: Ошибка при вызове метода контекста (НайтиСледующий): Поле не найдено : "СтавкаНалогообложенияРезидента"

по причине:
Поле не найдено : "СтавкаНалогообложенияРезидента"

это только у меня так?
1 RomaH
 
naïve
11.01.10
10:57
фигня какая-то
ВыборкаПоНДФЛКЗачету определяется однозначно тут:
Функция СформироватьЗапросПоНДФЛКЗачету(ЭтотОбъект)
а пытаемся в типовом коде найти мы там вот такие поля:
СтруктураПоиска = Новый Структура("ФизЛицо, СтавкаНалогообложенияРезидента");
поля "СтавкаНалогообложенияРезидента" - в выборке нет ...
как править?
2 RomaH
 
naïve
11.01.10
11:08
ошибка зарегистрирована в информации об ошибках 2519 и есть способ исправления
3 NDN
 
18.01.10
11:28
Для нормального поиска:

Заменить функцию СформироватьЗапросПоНДФЛКЗачету() общего модуля НДФЛПерерасчетПереопределяемый следующим фрагментом:

Функция СформироватьЗапросПоНДФЛКЗачету(ЭтотОбъект)

Запрос = Новый Запрос;

// Установим параметры запроса

Запрос.УстановитьПараметр("ДокументСсылка", ЭтотОбъект.Ссылка);
Запрос.УстановитьПараметр("Организация", ЭтотОбъект.Организация);
Запрос.УстановитьПараметр("ПериодРегистрации", ЭтотОбъект.ПериодВзаиморасчетов);
Запрос.УстановитьПараметр("Ставка13", Перечисления.НДФЛСтавкиНалогообложенияРезидента.Ставка13);
Запрос.УстановитьПараметр("Ставка09", Перечисления.НДФЛСтавкиНалогообложенияРезидента.Ставка09);
Запрос.УстановитьПараметр("Ставка35", Перечисления.НДФЛСтавкиНалогообложенияРезидента.Ставка35);

Запрос.Текст =
"ВЫБРАТЬ
| СУММА(СтрокиНДФЛ.НалогПоСтавке13) КАК Налог,
| ВЫБОР
| КОГДА ЕСТЬNULL(НДФЛКЗачету.СуммаНДФЛКЗачетуОстаток, 0) > ВЫБОР
| КОГДА СУММА(СтрокиНДФЛ.НалогПоСтавке13) > 0
| ТОГДА СУММА(СтрокиНДФЛ.НалогПоСтавке13)
| ИНАЧЕ 0
| КОНЕЦ
| ТОГДА СУММА(СтрокиНДФЛ.НалогПоСтавке13)
| ИНАЧЕ ЕСТЬNULL(НДФЛКЗачету.СуммаНДФЛКЗачетуОстаток, 0)
| КОНЕЦ КАК НДФЛКЗачетуУчтено,
| СтрокиНДФЛ.ФизЛицо,
| &Ставка13 КАК СтавкаНалогообложенияРезидента
|ИЗ
| Документ.НДФЛПерерасчет.РаботникиОрганизации КАК СтрокиНДФЛ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.НДФЛКЗачету.Остатки(
| &ПериодРегистрации,
| Физлицо В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| НДФЛПерерасчетРаботникиОрганизации.ФизЛицо
| ИЗ
| Документ.НДФЛПерерасчет.РаботникиОрганизации КАК НДФЛПерерасчетРаботникиОрганизации
| ГДЕ
| НДФЛПерерасчетРаботникиОрганизации.Ссылка = &ДокументСсылка)
| И Организация = &Организация) КАК НДФЛКЗачету
| ПО НДФЛКЗачету.ФизЛицо = СтрокиНДФЛ.ФизЛицо
|ГДЕ
| СтрокиНДФЛ.Ссылка = &ДокументСсылка
|
|СГРУППИРОВАТЬ ПО
| СтрокиНДФЛ.ФизЛицо,
| НДФЛКЗачету.СуммаНДФЛКЗачетуОстаток
|
|ИМЕЮЩИЕ
| (СУММА(СтрокиНДФЛ.НалогПоСтавке13) < 0
| ИЛИ ВЫБОР
| КОГДА ЕСТЬNULL(НДФЛКЗачету.СуммаНДФЛКЗачетуОстаток, 0) > ВЫБОР
| КОГДА СУММА(СтрокиНДФЛ.НалогПоСтавке13) > 0
| ТОГДА СУММА(СтрокиНДФЛ.НалогПоСтавке13)
| ИНАЧЕ 0
| КОНЕЦ
| ТОГДА СУММА(СтрокиНДФЛ.НалогПоСтавке13)
| ИНАЧЕ ЕСТЬNULL(НДФЛКЗачету.СуммаНДФЛКЗачетуОстаток, 0)
| КОНЕЦ <> 0)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СУММА(СтрокиНДФЛ.НалогПоСтавке09),
| 0,
| СтрокиНДФЛ.ФизЛицо,
| &Ставка09
|ИЗ
| Документ.НДФЛПерерасчет.РаботникиОрганизации КАК СтрокиНДФЛ
|ГДЕ
| СтрокиНДФЛ.Ссылка = &ДокументСсылка
|
|СГРУППИРОВАТЬ ПО
| СтрокиНДФЛ.ФизЛицо
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СУММА(СтрокиНДФЛ.НалогПоСтавке35),
| 0,
| СтрокиНДФЛ.ФизЛицо,
| &Ставка35
|ИЗ
| Документ.НДФЛПерерасчет.РаботникиОрганизации КАК СтрокиНДФЛ
|ГДЕ
| СтрокиНДФЛ.Ссылка = &ДокументСсылка
|
|СГРУППИРОВАТЬ ПО
| СтрокиНДФЛ.ФизЛицо";

Возврат Запрос.Выполнить();

КонецФункции // СформироватьЗапросПоНДФЛКЗачету
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн