|
поле объекта не обнаружено (стоимость) практическое пособие разработчика | ☑ | ||
---|---|---|---|---|
0
serega1977
17.10.21
✎
11:35
|
День добрый.
Учусь программировать по книге М. Радченко "1С:ПРЕДПРИЯТИЕ 8.2 практическое пособие разработчика" Упражнения 14. В листинге 14.32 (стр.426) возникает ошибка: Поле объекта не обнаружено (Стоимость) {Документ.ОказаниеУслуги.МодульОбъекта(76)}: СтоимостьМатериала = ВыборкаДетальныеЗаписи.Стоимость/ВыборкаДетальныеЗаписи.Количество; Просьба помочь разобраться где моя ошибка. Спасибо. Процедура ОбработкаПроведения(Отказ, Режим) // регистр ОстаткиМатериалов Расход Движения.ОстаткиМатериалов.Записывать = Истина; Движения.СтоимостьМатериалов.Записывать = Истина; Движения.Продажи.Записывать = Истина; //Создать менеджер временных таблиц МенеджерВТ = Новый МенеджерВременныхТаблиц; Запрос = Новый Запрос; //Укажем, какой менеджер временных таблиц использует этот запрос Запрос.МенеджерВременныхТаблиц = МенеджерВТ; Запрос.Текст = "ВЫБРАТЬ | ОказаниеУслугиПереченьНоменклатуры.Номенклатура КАК Номенклатура, | ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры, | СУММА(ОказаниеУслугиПереченьНоменклатуры.Количество) КАК КоличествоВДокументе, | СУММА(ОказаниеУслугиПереченьНоменклатуры.Сумма) КАК СуммаВДокументе |ПОМЕСТИТЬ НоменклатураДокумента |ИЗ | Документ.ОказаниеУслуги.ПереченьНоменклатуры КАК ОказаниеУслугиПереченьНоменклатуры |ГДЕ | ОказаниеУслугиПереченьНоменклатуры.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | ОказаниеУслугиПереченьНоменклатуры.Номенклатура, | ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры"; Запрос.УстановитьПараметр("Ссылка", Ссылка); РезультатЗапроса = Запрос.Выполнить(); Запрос2 = Новый Запрос; Запрос2.МенеджерВременныхТаблиц = МенеджерВТ; Запрос2.Текст = "ВЫБРАТЬ | НоменклатураДокумента.Номенклатура КАК Номенклатура, | НоменклатураДокумента.ВидНоменклатуры КАК ВидНоменклатуры, | НоменклатураДокумента.КоличествоВДокументе КАК КоличествоВДокументе, | НоменклатураДокумента.СуммаВДокументе КАК СуммаВДокументе, | ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток, 0) КАК Стоимость, | ЕСТЬNULL(ОстаткиМатериаловОстатки.КоличествоОстаток, 0) КАК Количество |ИЗ | НоменклатураДокумента КАК НоменклатураДокумента | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьМатериалов.Остатки( | , | Материал В | (ВЫБРАТЬ | НоменклатураДокумента.Номенклатура | ИЗ | НоменклатураДокумента)) КАК СтоимостьМатериаловОстатки | ПО НоменклатураДокумента.Номенклатура = СтоимостьМатериаловОстатки.СтоимостьОстаток | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериалов.Остатки( | , | Материал В | (ВЫБРАТЬ | НоменклатураДокумента.Номенклатура | ИЗ | НоменклатураДокумента)) КАК ОстаткиМатериаловОстатки | ПО НоменклатураДокумента.Номенклатура = ОстаткиМатериаловОстатки.КоличествоОстаток"; //Запишем пустые наборы записей, чтобы читать остатки без учета данных в документе. Движения.СтоимостьМатериалов.Записать(); Движения.ОстаткиМатериалов.Записать(); Результат = Запрос2.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если ВыборкаДетальныеЗаписи.Количество = 0 Тогда СтоимостьМатериала = 0; Иначе СтоимостьМатериала = ВыборкаДетальныеЗаписи.Стоимость/ВыборкаДетальныеЗаписи.Количество; КонецЕсли; Если ВыборкаДетальныеЗаписи.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда // регистр ОстаткиМатериалов Расход Движение = Движения.ОстаткиМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Материал = ВыборкаДетальныеЗаписи.Номенклатура; Движение.Склад = Склад; Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе; // регистр СтоимостьМатериалов Расход Движение = Движения.СтоимостьМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Материал = ВыборкаДетальныеЗаписи.Номенклатура; Движение.Стоимость = ВыборкаДетальныеЗаписи.КоличествоВДокументе*СтоимостьМатериала; КонецЕсли; //Регистр Продажи Движение = Движения.Продажи.Добавить(); Движение.Период = Дата; Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; Движение.Клиент = Клиент; Движение.Мастер = Мастер; Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе; Движение.Выручка = ВыборкаДетальныеЗаписи.СуммаВДокументе; Движение.Стоимость = СтоимостьМатериала * ВыборкаДетальныеЗаписи.КоличествоВДокументе; КонецЦикла; КонецПроцедуры |
|||
1
shuhard
17.10.21
✎
11:45
|
(0) у Радченко свой сайт поддержки
|
|||
2
serega1977
17.10.21
✎
11:50
|
(1) - да знаю., спасибо, но ответа там не нашёл к сожалению, поэтому и обратился здесь за помощью
|
|||
3
youalex
17.10.21
✎
11:51
|
Результат = Запрос2.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); |
|||
4
youalex
17.10.21
✎
11:52
|
У тебя РезультатЗапроса - результат первого запроса(где стоимости нет)
|
|||
5
serega1977
17.10.21
✎
12:00
|
(4) - спасибо друг!!!
исправил, всё работает. Результат = Запрос2.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); |
|||
6
Hans
17.10.21
✎
13:24
|
По радченко ничему не научишься.
|
|||
7
serega1977
17.10.21
✎
17:37
|
(6) подскажите что то лучшее? с удовольствием приму к сведению и другую литературы
|
|||
8
Prog111
17.10.21
✎
18:23
|
(0) Если ты на сайте ИТС занимаешься по этой книжке - то там есть книга та же самая, но для версии 8.3
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |