Запрос в документе "Комплектация номенклатуры"
Доброго всем дня, форумчане! Наставьте юного падавана на путь истинный! Док-т "Комплектация номенклатуры": на форме док-та создана кнопка "Расчет доли стоимости", которая соответственно это и делает. На форме элемента справочника "Номенклатура" создано поле "Площадь, м2". В форме док-та процедурой на сервере я делаю запрос к полям "Площадь, м2" и "Количество" ("Кол-во" находится на форме док-та "Расчет доли стоимости"). Результат я должен поместить в ТЧ "Комплектующие" док-та. Подскажите пожалуйста, как верно сделать запрос и поместить его результаты в ТЧ? Заранее огромное спасибо!
По теме из базы знаний
- Валовая прибыль по поставщикам с учетом комплектации (УТ 10.3)
- Перенос остатков, документов и справочников из БП 3.0 в УТ 10.3. Переносятся остатки товаров, взаиморасчетов и денежных средств, а также документы и справочники
- Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки
- Отчет "Комплектация номенклатуры" со стоимостью для КА 1.1
- Загрузка документов и номенклатуры из Excel в 1С "одним нажатием": УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы
Найденные решения
(3) Твой запрос выбирает данные из базы, а как ты их выберешь из базы, если документ не записан? Никак. Если очень хочешь, можешь в таблицу значений предварительно выгрузить свои данные и выбирать уже из нее. К тому же, в твоем запросе будут данные выбираться из всех документов, а не из определенного.
А вообще, сам запрос можно переписать так:
"ВЫБРАТЬ
| КомплектацияНоменклатуры.Ссылка.Номенклатура._Площадь КАК _Площадь,
| КомплектацияНоменклатуры.Ссылка.Количество КАК Количество,
| КомплектацияНоменклатуры.ДоляСтоимости = КомплектацияНоменклатуры.Номенклатура._Площадь / КомплектацияНоменклатуры.Количество КАК КАК ДоляСтоимости
|ИЗ
| Документ.КомплектацияНоменклатуры.Комплектующие КАК КомплектацияНоменклатуры"
А вообще, сам запрос можно переписать так:
"ВЫБРАТЬ
| КомплектацияНоменклатуры.Ссылка.Номенклатура._Площадь КАК _Площадь,
| КомплектацияНоменклатуры.Ссылка.Количество КАК Количество,
| КомплектацияНоменклатуры.ДоляСтоимости = КомплектацияНоменклатуры.Номенклатура._Площадь / КомплектацияНоменклатуры.Количество КАК КАК ДоляСтоимости
|ИЗ
| Документ.КомплектацияНоменклатуры.Комплектующие КАК КомплектацияНоменклатуры"
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Смотря что является результатом запроса.
Если выборка, то
Пока выборка.Следующий() Цикл
нСтрока = Объект.Комплектующие.Добавить();
ЗаполнитьЗначенияСвойств(нСтрока,Выборка)
КОнецЦикла;
Если таблица значений, то Объект.Комплектующие.Загрузить(ТЗ)
Если выборка, то
Пока выборка.Следующий() Цикл
нСтрока = Объект.Комплектующие.Добавить();
ЗаполнитьЗначенияСвойств(нСтрока,Выборка)
КОнецЦикла;
Если таблица значений, то Объект.Комплектующие.Загрузить(ТЗ)
(2) на текущий момент моя кривая процедура выглядит так:
&НаСервере
Процедура РассчетДолиСтоимостиНаСервере()
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
| КомплектацияНоменклатуры.Номенклатура._Площадь КАК _Площадь,
| КомплектацияНоменклатуры.Количество КАК Количество,
| КомплектацияНоменклатуры.Комплектующие.(
| КомплектацияНоменклатуры.Комплектующие.ДоляСтоимости = КомплектацияНоменклатуры.Комплектующие.Номенклатура._Площадь / КомплектацияНоменклатуры.Комплектующие.Количество КАК Поле1
| ) КАК ДоляСтоимости
|ИЗ
| Документ.КомплектацияНоменклатуры КАК КомплектацияНоменклатуры"
;
Выборка = Запрос.Выполнить();
Объект.Комплектующие.Загрузить(Выборка.Выгрузить());
Объект.Комплектующие.ДоляСтоимости.Видимость = Истина;
КонецПроцедуры
Показать
(3) Твой запрос выбирает данные из базы, а как ты их выберешь из базы, если документ не записан? Никак. Если очень хочешь, можешь в таблицу значений предварительно выгрузить свои данные и выбирать уже из нее. К тому же, в твоем запросе будут данные выбираться из всех документов, а не из определенного.
А вообще, сам запрос можно переписать так:
"ВЫБРАТЬ
| КомплектацияНоменклатуры.Ссылка.Номенклатура._Площадь КАК _Площадь,
| КомплектацияНоменклатуры.Ссылка.Количество КАК Количество,
| КомплектацияНоменклатуры.ДоляСтоимости = КомплектацияНоменклатуры.Номенклатура._Площадь / КомплектацияНоменклатуры.Количество КАК КАК ДоляСтоимости
|ИЗ
| Документ.КомплектацияНоменклатуры.Комплектующие КАК КомплектацияНоменклатуры"
А вообще, сам запрос можно переписать так:
"ВЫБРАТЬ
| КомплектацияНоменклатуры.Ссылка.Номенклатура._Площадь КАК _Площадь,
| КомплектацияНоменклатуры.Ссылка.Количество КАК Количество,
| КомплектацияНоменклатуры.ДоляСтоимости = КомплектацияНоменклатуры.Номенклатура._Площадь / КомплектацияНоменклатуры.Количество КАК КАК ДоляСтоимости
|ИЗ
| Документ.КомплектацияНоменклатуры.Комплектующие КАК КомплектацияНоменклатуры"
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот