Сейчас создаю БД по книге Радченко и Хрусталевой. Успешно дошли до расчетов по з/пл. Далее ввожу код в общий модуль в процедуру "Рассчитать начисления" как в книге:
Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл
СтруктураНомер = Новый Структура("НомерСтроки");
СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки;
ВыборкаРезультата.Сбросить();
Если ВыборкаРезультата.НайтиСледующий(СтруктураНомер) Тогда
Если ВыборкаРезультата.Норма = 0 Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "ВидРасчета: Оклад - Нет рабочих дней в заданном периоде";
Сообщение.Сообщить();
ЗаписьРегистра.Результат = 0;
Иначе
//Рассчитать оклад по фактическому периоду и исходным данным
ЗаписьРегистра.Результат = (ЗаписьРегистра.ИсходныеДанныеВыборкаРезультата.Норма)*(ВыборкаРезультата.Факт);
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Выполнен расчет " + ЗаписьРегистра.Регистратор
+ "-" + ЗаписьРегистра.ВидРасчета + "-" +
ЗаписьРегистра.Сотрудник;
Сообщение.Сообщить();
КонецЕсли
КонецЕсли
КонецЦикла
....и вижу, что при отладке наверняка будет ошибка в строке "ЗаписьРегистра.Результат = (ЗаписьРегистра.ИсходныеДанныеВыборкаРезультата.Норма)*(ВыборкаРезультата.Факт);"
Запускаю отладку, нажимаю, "Провести".
Получаю сообщение:
"Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{ОбщийМодуль.ПроведениеРасчетов.Модуль(39)}: Поле объекта не обнаружено (ИсходныеДанныеВыборкаРезультата)
ЗаписьРегистра.Результат = (ЗаписьРегистра.ИсходныеДанныеВыборкаРезультата.Норма)*(ВыборкаРезультата.Факт);"
Кто подскажет, в чем дело? Если я, новичок в 1С , догадывался что там , в этой стоке есть ошибка.
guru
пт, 17/03/2017 - 15:08
Да в общем-то, в сообщении всё понятно написано: "Поле объекта не обнаружено". В регистре есть измерение или ресурс ИсходныеДанныеВыборкаРезультата?
pvictorp11
пт, 17/03/2017 - 15:45
В регистре расчета есть реквизит "ИсходныеДанные".
guru
пт, 17/03/2017 - 15:50
Тогда ИсходныеДанные и надо использовать.
pvictorp11
пт, 17/03/2017 - 15:52
Тогда при отладке возникает другое сообщение:
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{ОбщийМодуль.ПроведениеРасчетов.Модуль(39)}: Значение не является значением объектного типа (Норма)
ЗаписьРегистра.Результат = (ЗаписьРегистра.ИсходныеДанные.Норма)*(ВыборкаРезультата.Факт);
guru
пт, 17/03/2017 - 15:54
У ИсходныеДанные какой тип?
pvictorp11
пт, 17/03/2017 - 15:56
число
guru
пт, 17/03/2017 - 17:38
Соответственно, у них не может быть реквизита Норма.
ВВП (не проверено)
пт, 29/09/2017 - 11:59