Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: УТП Зарплата
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
EritikWoW
Ошибка в стандартном коде запроса... не пойму почему именно ругается ! =/ Может ли кто помочь ?


Ошибка:
{ОбщийМодуль.ПроведениеРасчетов.Модуль(9203)}: Ошибка при вызове метода контекста (Выполнить)
Запрос.Выполнить();
по причине:
{(9, 6)}: Неверное присоединение
ИЗ <<?>>КАК Основной

Запрос:
Если НЕ ИспользуетсяНК ИЛИ ВариантНДФЛ = Перечисления.ВариантыАлгоритмовРасчетНДФЛ17.ДоначислениеНаСуммуПревышения Тогда
                // Получает суммы начисленного дохода Сотрудников в разрезе ПериодовДействия и Видов доходов
                // Суммы по расчетам, которые действуют в текущем периоде
                //
                ТекстЗапросаВТ = "
                |      ВЫБРАТЬ РАЗРЕШЕННЫЕ
                |        Основной.Сотрудник                    КАК Сотрудник,
                |        Основной.НалоговыйПериод            КАК НалоговыйПериод,
                |        Начисления.ПериодРегистрации           КАК ПериодРегистрации,
                |        Начисления.ВидРасчета.ДоходНДФЛ        КАК ДоходНДФЛ,
                |        СУММА( Начисления.Результат )        КАК Доход
                |ПОМЕСТИТЬ ВТДоходБезУчетаВС
                |    ИЗ    " + ТекстЗапросаВТСотрудникиПоНалоговымПериодам + " КАК Основной
                |    
                |    ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.Начисления КАК Начисления
                |   ПО        Основной.Сотрудник = Начисления.Сотрудник
                |       И    Основной.НалоговыйПериод = "+ТекстНП+"
                |        И    Начисления.ПериодРегистрации <=    &парамПериодРегистрации
                |        "+?(ТолькоПоДвижениямТекущегоДокумента,"И Начисления.Регистратор=&парамРегистратор","")+"
                |
                |   СГРУППИРОВАТЬ ПО
                |        Основной.Сотрудник,
                |        Основной.НалоговыйПериод,
                |        Начисления.ПериодРегистрации,
                |        Начисления.ВидРасчета.ДоходНДФЛ
                |;
                |
                |    ВЫБРАТЬ
                |        Основной.Сотрудник                    КАК Сотрудник,
                |        Основной.НалоговыйПериод            КАК НалоговыйПериод,
                |        Основной.ПериодРегистрации            КАК ПериодРегистрации,
                |        &ВидДоходаВС                        КАК ДоходНДФЛ,
                |        Основной.Доход                        КАК Доход
                |ПОМЕСТИТЬ ВТДоходВС
                |    ИЗ    ВТДоходБезУчетаВС КАК Основной
                |   ГДЕ Основной.ДоходНДФЛ.ВидСтавкиВоенныйСбор = &ВидСтавкиВС
                |;
                |
                |   ВЫБРАТЬ
                |        Основной.Сотрудник                    КАК Сотрудник,
                |        Основной.НалоговыйПериод            КАК НалоговыйПериод,
                |        Основной.ДоходНДФЛ                     КАК ДоходНДФЛ,
                |        СУММА(Основной.Доход)                КАК Доход
                |ПОМЕСТИТЬ ВТДоход
                |    ИЗ    ВТДоходБезУчетаВС КАК Основной
                |   СГРУППИРОВАТЬ ПО
                |       Основной.Сотрудник,
                |        Основной.НалоговыйПериод,
                |        Основной.ДоходНДФЛ
                |
                |   ОБЪЕДИНИТЬ ВСЕ
                |
                |   ВЫБРАТЬ
                |        Основной.Сотрудник                    КАК Сотрудник,
                |        Основной.ПериодРегистрации            КАК НалоговыйПериод,
                |        Основной.ДоходНДФЛ                     КАК ДоходНДФЛ,
                |        СУММА(Основной.Доход)                КАК Доход
                |    ИЗ    ВТДоходВС КАК Основной
                |   СГРУППИРОВАТЬ ПО
                |       Основной.Сотрудник,
                |        Основной.ПериодРегистрации,
                |        Основной.ДоходНДФЛ
                |
                |";
            Иначе //Перечисления.ВариантыАлгоритмовРасчетНДФЛ17.ОтдельныйРасчетБазы
                ТекстЗапросаВТ = "
                |      ВЫБРАТЬ
                |        Основной.Сотрудник                    КАК Сотрудник,
                |        Основной.НалоговыйПериод            КАК НалоговыйПериод,
                |        Основной.ДоходНДФЛ                    КАК ДоходНДФЛ,
                |        Основной.НомерСтроки                   КАК НомерСтроки,
                |        СУММА( Начисления.Результат )        КАК Доход
                |ПОМЕСТИТЬ ВТДоход
                |    ИЗ    " + ВТСотрудникиПоНалоговымПериодамИСтрокам + " КАК Основной
                |    
                |    ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.Начисления КАК Начисления
                |   ПО        Основной.Сотрудник = Начисления.Сотрудник
                |       И    Основной.НалоговыйПериод = "+ТекстНП+"
                |        И    Начисления.ПериодРегистрации <=    &парамПериодРегистрации
                |        И    Начисления.ВидРасчета.ДоходНДФЛ = Основной.ДоходНДФЛ
                |        "+?(ТолькоПоДвижениямТекущегоДокумента,"И Начисления.Регистратор=&парамРегистратор","")+"
                |
                |   СГРУППИРОВАТЬ ПО
                |        Основной.Сотрудник,
                |        Основной.НалоговыйПериод,
                |        Основной.ДоходНДФЛ,
                |        Основной.НомерСтроки
                |";
                
            КонецЕсли;    
            Запрос.Текст = ТекстЗапросаВТ;
            Запрос.Выполнить();  
            ТекстЗапросаВТДоход = "ВТДоход";
КонецЕсли;

logist
Ошибка в "ТекстЗапросаВТСотрудникиПоНалоговымПериодам", посмотрите что там.
EritikWoW
Цитата(logist @ 30.01.15, 19:04) необходимо зарегистрироваться для просмотра ссылки
Ошибка в "ТекстЗапросаВТСотрудникиПоНалоговымПериодам", посмотрите что там.


ТекстЗапросаВТСотрудникиПоНалоговымПериодам "ВТСотрудникиПоНалоговымПериодам" Строка

Забыл условие добавить которое до запроса идет:

            
            Если НЕ ИспользуетсяНК ИЛИ ВариантНДФЛ = Перечисления.ВариантыАлгоритмовРасчетНДФЛ17.ДоначислениеНаСуммуПревышения Тогда
                // Получает суммы начисленного дохода Сотрудников в разрезе ПериодовДействия и Видов доходов
                // Суммы по расчетам, которые действуют в текущем периоде
                //


"ВТСотрудникиПоНалоговымПериодамИСтрокам" пустой
logist
Цитата
ВТСотрудникиПоНалоговымПериодам

Ошибка в том, что в этой таблице вероятно нет указанных полей.

Найдите место где формируется эта таблица и посмотрите, что в ней.
EritikWoW
Если Истина Тогда
// Определяем Сотрудников с Периодами по которым надо рассчитать НДФЛ
ТекстЗапроса = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Основной.Сотрудник КАК Сотрудник,
| Основной.НалоговыйПериод КАК НалоговыйПериод
|ПОМЕСТИТЬ ВТСотрудникиПоНалоговымПериодам
|ИЗ РегистрНакопления.ВзаиморасчетыПоНДФЛ КАК Основной
|ГДЕ Основной.Регистратор = &парамРегистратор
| И Основной.Сотрудник в (&парамСотрудники)
|";
Запрос.Текст = ТекстЗапроса;
Запрос.Выполнить();
ТекстЗапросаВТСотрудникиПоНалоговымПериодам = "ВТСотрудникиПоНалоговымПериодам";
КонецЕсли;

Кстати если попробывать открыть запрос в конструкторе... ту часть где выдает ошибку !
То пишет : {(10. 1)}: Неверное присоединение
logist
Дойдите отладчиком до " Запрос.Текст = ТекстЗапросаВТ;"
И давайте смотреть получившийся текст запроса до выполнения. Осталось грешить только на "ТекстНП"
EritikWoW
"ВЫБОР КОГДА Начисления.ВидРасчета.ЭтоБольничные //Больничные¶ИЛИ (Начисления.ВидРасчета.ЭтоОтпускные И НЕ Начисления.Сторно) //Отпускные¶ТОГДА Начисления.ПериодДействия¶ИНАЧЕ Начисления.ПериодРегистрации¶КОНЕЦ"
EritikWoW
- ТЗ ВТСотрудникиПоНалоговымПериодам

При
            Иначе //Перечисления.ВариантыАлгоритмовРасчетНДФЛ17.ОтдельныйРасчетБазы
                ТекстЗапросаВТ = "
                |      ВЫБРАТЬ
                |        Основной.Сотрудник                    КАК Сотрудник,
                |        Основной.НалоговыйПериод            КАК НалоговыйПериод,
                |        Основной.ДоходНДФЛ                    КАК ДоходНДФЛ,
                |        Основной.НомерСтроки                   КАК НомерСтроки,
                |        СУММА( Начисления.Результат )        КАК Доход
                |ПОМЕСТИТЬ ВТДоход
                |    ИЗ    " + ВТСотрудникиПоНалоговымПериодамИСтрокам + " КАК Основной
                |    
                |    ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.Начисления КАК Начисления
                |   ПО        Основной.Сотрудник = Начисления.Сотрудник
                |       И    Основной.НалоговыйПериод = "+ТекстНП+"
                |        И    Начисления.ПериодРегистрации <=    &парамПериодРегистрации
                |        И    Начисления.ВидРасчета.ДоходНДФЛ = Основной.ДоходНДФЛ
                |        "+?(ТолькоПоДвижениямТекущегоДокумента,"И Начисления.Регистратор=&парамРегистратор","")+"
                |
                |   СГРУППИРОВАТЬ ПО
                |        Основной.Сотрудник,
                |        Основной.НалоговыйПериод,
                |        Основной.ДоходНДФЛ,
                |        Основной.НомерСтроки
                |";
                
            КонецЕсли;    
            Запрос.Текст = ТекстЗапросаВТ;

            
            ЗапросТМП=Новый Запрос("ВЫБРАТЬ * ИЗ ВТДоход");
            ЗапросТМП.МенеджерВременныхТаблиц=Запрос.МенеджерВременныхТаблиц; //Копируем ссылку на временные таблицы
            ТЗ=ЗапросТМП.Выполнить().Выгрузить(); //Получаем временную таблицу в таблице значений

Выдает ошибку что
{ОбщийМодуль.ПроведениеРасчетов.Модуль(9206)}: Ошибка при вызове метода контекста (Выполнить)
ТЗ=ЗапросТМП.Выполнить().Выгрузить(); //Получаем временную таблицу в таблице значений
по причине:
{(1, 14)}: Таблица не найдена "ВТДоход"
ВЫБРАТЬ * ИЗ <<?>>ВТДоход
EritikWoW
Всем кто помогал огромное спс ! Решение нашел ! Если кому будет интересно в чем проблема была могу описать !
Vofka
Цитата(EritikWoW @ 31.01.15, 22:24) необходимо зарегистрироваться для просмотра ссылки
Если кому будет интересно в чем проблема была могу описать

Опишите, конечно. Это правило хорошего тона.
EritikWoW
Цитата(Vofka @ 02.02.15, 8:59) необходимо зарегистрироваться для просмотра ссылки
Опишите, конечно. Это правило хорошего тона.

Вообщем я не имею н молейшего понятия как оно так получилось ! Но суть в том что сбилась настройка расчета НДФЛ...
В УТП за данную настройку учета отвечает "Регистр сведений - Варианты алгоритмов расчета зарплаты - там 1 единственный реквизит !
"Доначисление на сумму превышения" у меня полу где должен был быть реквизит было пустым ! из-за этого и выдовало данную ошибку !
Решение: выставить данный реквизит в ручную !
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.