Поле "Код дохода" не может быть пустым
Доброго дня, столкнулся с проблемкой: при проведении документа Отпуск(Зарплата и кадры / Все начисления) появляется ошибка Не удалось, сформировать отчет. Запись не верна!
Значение поля "Код дохода" не может быть пустым!(Регистр накопления: Учет доходов для исчисления НДФЛ; Номер строки:1)
Подскажите пожалуйста где заполняется это поле Код дохода?
Значение поля "Код дохода" не может быть пустым!(Регистр накопления: Учет доходов для исчисления НДФЛ; Номер строки:1)
Подскажите пожалуйста где заполняется это поле Код дохода?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(20) нашел эту процедуру
вроде бы должны подхватываться начисления которые заполнили.
&НаСервере
Процедура РассчитатьНачисления()
Объект.Начисления.Очистить();
ДатаНачала = Объект.ДатаНачалаОсновногоОтпуска;
ДатаОкончания = Объект.ДатаОкончанияОсновногоОтпуска;
Пока ЗначениеЗаполнено(ДатаНачала) И ДатаНачала <= ДатаОкончания Цикл
СтрокаНачислений = Объект.Начисления.Добавить();
СтрокаНачислений.Начисление = НачислениеОтпуск;
СтрокаНачислений.Сотрудник = Объект.Сотрудник;
СтрокаНачислений.Подразделение = Подразделение;
СтрокаНачислений.ДатаНачала = ДатаНачала;
Если КонецМесяца(ДатаНачала) >= ДатаОкончания Тогда
СтрокаНачислений.ДатаОкончания = ДатаОкончания;
Иначе
СтрокаНачислений.ДатаОкончания = КонецМесяца(ДатаНачала);
КонецЕсли;
СтрокаНачислений.ОплаченоДней = КоличествоДнейОтпуска(СтрокаНачислений.ДатаНачала, СтрокаНачислений.ДатаОкончания);
СтрокаНачислений.Результат = Объект.СреднийЗаработок * СтрокаНачислений.ОплаченоДней;
РабочихДнейЧасов = РабочихДнейЧасовВПериоде(СтрокаНачислений.ДатаНачала, СтрокаНачислений.ДатаОкончания);
Если РабочихДнейЧасов = Неопределено Тогда
СтрокаНачислений.ОтработаноДней = 0;
СтрокаНачислений.ОтработаноЧасов = 0;
Иначе
СтрокаНачислений.ОтработаноДней = РабочихДнейЧасов.Дней;
СтрокаНачислений.ОтработаноЧасов = РабочихДнейЧасов.Часов;
КонецЕсли;
ДатаНачала = КонецМесяца(ДатаНачала) + 1;
КонецЦикла;
ПересчитатьНДФЛ();
КонецПроцедуры
Показатьвроде бы должны подхватываться начисления которые заполнили.
(23)
посмотрите в этой функции, что попадает в переменную начисления
Функция НачисленияПоКатегории(КатегорияНачисления, Отбор = Неопределено) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| Начисления.Ссылка
|ИЗ
| ПланВидовРасчета.Начисления КАК Начисления
|ГДЕ
| Начисления.КатегорияНачисленияИлиНеоплаченногоВремени = &КатегорияНачисления
| &УСЛОВИЕ";
Запрос = Новый Запрос;
Условие = "";
СтрокаЗамены = "&УСЛОВИЕ";
Если Отбор <> Неопределено Тогда
Для Каждого КлючИЗначение Из Отбор Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
Если ТипЗнч(КлючИЗначение.Значение) = Тип("Массив") Тогда
Условие = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1 И Начисления.%2 В (&%2)", Условие, КлючИЗначение.Ключ);
Иначе
Условие = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1 И Начисления.%2 = &%2", Условие, КлючИЗначение.Ключ);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Условие = ?(ЗначениеЗаполнено(Условие), Условие, "И Истина");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, СтрокаЗамены, Условие);
Если ТипЗнч(КатегорияНачисления) = Тип("Массив") Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "= &КатегорияНачисления", "В (&КатегорияНачисления)");
КонецЕсли;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("КатегорияНачисления", КатегорияНачисления);
Начисления = Новый Массив;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Начисления.Добавить(Выборка.Ссылка);
КонецЦикла;
Возврат Начисления;
КонецФункции
ПоказатьТекстЗапроса =
"ВЫБРАТЬ
| Начисления.Ссылка
|ИЗ
| ПланВидовРасчета.Начисления КАК Начисления
|ГДЕ
| Начисления.КатегорияНачисленияИлиНеоплаченногоВремени = &КатегорияНачисления
| &УСЛОВИЕ";
Запрос = Новый Запрос;
Условие = "";
СтрокаЗамены = "&УСЛОВИЕ";
Если Отбор <> Неопределено Тогда
Для Каждого КлючИЗначение Из Отбор Цикл
Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение);
Если ТипЗнч(КлючИЗначение.Значение) = Тип("Массив") Тогда
Условие = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1 И Начисления.%2 В (&%2)", Условие, КлючИЗначение.Ключ);
Иначе
Условие = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1 И Начисления.%2 = &%2", Условие, КлючИЗначение.Ключ);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Условие = ?(ЗначениеЗаполнено(Условие), Условие, "И Истина");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, СтрокаЗамены, Условие);
Если ТипЗнч(КатегорияНачисления) = Тип("Массив") Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "= &КатегорияНачисления", "В (&КатегорияНачисления)");
КонецЕсли;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("КатегорияНачисления", КатегорияНачисления);
Начисления = Новый Массив;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Начисления.Добавить(Выборка.Ссылка);
КонецЦикла;
Возврат Начисления;
КонецФункции
посмотрите в этой функции, что попадает в переменную начисления
Вот Ваш текст запроса:
ТекстЗапроса =
"ВЫБРАТЬ
| Начисления.Ссылка
|ИЗ
| ПланВидовРасчета.Начисления КАК Начисления
|ГДЕ
| Начисления.КатегорияНачисленияИлиНеоплаченногоВремени = &КатегорияНачисления
| &УСЛОВИЕ";
В таком виде выполните:
ТекстЗапроса =
"ВЫБРАТЬ
| Начисления.Ссылка
|ИЗ
| ПланВидовРасчета.Начисления КАК Начисления
//|ГДЕ
//| Начисления.КатегорияНачисленияИлиНеоплаченногоВремени = &КатегорияНачисления
//| &УСЛОВИЕ";
|";
ТаблицаРезультатаЗапроса = Запрос.Выполнить.Выгрузить();
Посмотрите в ТаблицеРезультатаЗапроса есть Ваше искомое начисление там или нет. Если есть - то следующим запросом Вы накладываете некое ограничение, если нет , да, возможно , необходимо обновление, но Вы тогда и не знали бы о этом начислении.
ТекстЗапроса =
"ВЫБРАТЬ
| Начисления.Ссылка
|ИЗ
| ПланВидовРасчета.Начисления КАК Начисления
|ГДЕ
| Начисления.КатегорияНачисленияИлиНеоплаченногоВремени = &КатегорияНачисления
| &УСЛОВИЕ";
В таком виде выполните:
ТекстЗапроса =
"ВЫБРАТЬ
| Начисления.Ссылка
|ИЗ
| ПланВидовРасчета.Начисления КАК Начисления
//|ГДЕ
//| Начисления.КатегорияНачисленияИлиНеоплаченногоВремени = &КатегорияНачисления
//| &УСЛОВИЕ";
|";
ТаблицаРезультатаЗапроса = Запрос.Выполнить.Выгрузить();
Посмотрите в ТаблицеРезультатаЗапроса есть Ваше искомое начисление там или нет. Если есть - то следующим запросом Вы накладываете некое ограничение, если нет , да, возможно , необходимо обновление, но Вы тогда и не знали бы о этом начислении.
По конструкции, которую Вы выполнили - будет Пустой Запрос ( нет Текста Запроса)
Тогда выполняйте так:
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Начисления.Ссылка
|ИЗ
| ПланВидовРасчета.Начисления КАК Начисления
//|ГДЕ
//| Начисления.КатегорияНачисленияИлиНеоплаченногоВремени = &КатегорияНачисления
//| &УСЛОВИЕ";
|";
ТаблицаРезультатаЗапроса = Запрос.Выполнить.Выгрузить();
Тогда выполняйте так:
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Начисления.Ссылка
|ИЗ
| ПланВидовРасчета.Начисления КАК Начисления
//|ГДЕ
//| Начисления.КатегорияНачисленияИлиНеоплаченногоВремени = &КатегорияНачисления
//| &УСЛОВИЕ";
|";
ТаблицаРезультатаЗапроса = Запрос.Выполнить.Выгрузить();
(34) сделал точно как у вас
всё равно, когда смотрю значение "ТаблицаРезультатаЗапроса" пишет значение "Не определено"
Функция НачисленияПоКатегории(КатегорияНачисления, Отбор = Неопределено) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Начисления.Ссылка
|ИЗ
| ПланВидовРасчета.Начисления КАК Начисления
//|ГДЕ
//| Начисления.КатегорияНачисленияИлиНеоплаченногоВремени = &КатегорияНачисления
//| &УСЛОВИЕ";
|";
ТаблицаРезультатаЗапроса = Запрос.Выполнить.Выгрузить();
Показатьвсё равно, когда смотрю значение "ТаблицаРезультатаЗапроса" пишет значение "Не определено"
У меня была такая же ошибка, но не в Бухгалтерии, а в 1С:Учет в управляющих компаниях ЖКХ, ТСЖ и ЖСК, редакция 3.0, так как больше информации не нашел, оставлю решение здесь.
В отличии от БП, в Учете ЖКХ табличные части с начислениями отсутствуют в форме, я вывел эту таблицу в форму, и увидел, что в поле "начисление" пусто. В конфигураторе я увидел, что начисление попадает в таблицу, если реквизит КатегорияНачисленияИлиНеоплаченногоВремени (которое тоже не выведено в форму) имеет значение "Оплата отпуска". У меня же это значение оказалось "прочее". После исправления этого реквизита все заработало.
База досталось мне на сопровождение в жутком состоянии, поэтому причину отличия значения этого реквизита от предопределенного я не знаю.
В отличии от БП, в Учете ЖКХ табличные части с начислениями отсутствуют в форме, я вывел эту таблицу в форму, и увидел, что в поле "начисление" пусто. В конфигураторе я увидел, что начисление попадает в таблицу, если реквизит КатегорияНачисленияИлиНеоплаченногоВремени (которое тоже не выведено в форму) имеет значение "Оплата отпуска". У меня же это значение оказалось "прочее". После исправления этого реквизита все заработало.
База досталось мне на сопровождение в жутком состоянии, поэтому причину отличия значения этого реквизита от предопределенного я не знаю.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот