Добрый день!
В 8.3 УПП в документе РеализацияТоваровИУслуг необходимо скопировать данные из табличной части ТОВАРЫ документа основания Заказ Покупателя. Написал запрос но не знаю как в запросе сослатся на данные каторые есть в документе основании (на товары каторые есть в табличной части Заказ Покупателя).
Процедура СкопироватьТовары2(ТабличнаяЧасть,ДокументОснование)
Если ТабличнаяЧасть = Товары Тогда
ДатаОстатков = ОбщегоНазначения.ПолучитьДатуОстатков(ЭтотОбъект);
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДокументОснование", ДокументОснование);
Запрос.УстановитьПараметр("ПустойСклад", Справочники.Склады.ПустаяСсылка());
Запрос.УстановитьПараметр("ДатаОстатков", ДатаОстатков);
Запрос.Текст ="ВЫБРАТЬ
| Товары.НомерСтроки,
| Товары.Номенклатура,
| Товары.Количество,
| Товары.ЕдиницаИзмерения,
| Товары.Коэффициент,
| Товары.Цена,
| Товары.ПроцентСкидкиНаценки,
| Товары.Сумма
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК Товары ";
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат;
КонецЕсли;
ДобавленКомплект = Ложь;
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
НоваяСтрока = Товары.Добавить();
НоваяСтрока.Номенклатура = Выборка.НомерСтроки;
НоваяСтрока.Номенклатура = Выборка.Номенклатура;
НоваяСтрока.Количество = Выборка.Количество;
НоваяСтрока.ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения;
НоваяСтрока.Коэффициент = Выборка.Коэффициент;
НоваяСтрока.Цена = Выборка.Цена;
НоваяСтрока.ПроцентСкидкиНаценки = Выборка.ПроцентСкидкиНаценки;
НоваяСтрока.Сумма = Выборка.Сумма;
НоваяСтрока.ЗаказПокупателя = Сделка;
ДобавленКомплект = Истина;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
! | http://pro1c.org.ua/index.php?act=announce&id=2: 9 |
jojojoba2 @ Сегодня, 16:00
,
нужно делать отбор в секции ГДЕ
Процедура СкопироватьТовары(ЗаказПокупателя)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Товары.Номенклатура,
| Товары.ЕдиницаИзмерения,
| Товары.Коэффициент,
| Товары.Цена,
| Товары.ПроцентСкидкиНаценки,
| Товары.Сумма,
| Товары.Количество
|ИЗ
| Документ.ЗаказПокупателя.Товары КАК Товары
|ГДЕ
| Товары.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", ЗаказПокупателя);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
НоваяСтрока = Товары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
КонецЦикла;
КонецПроцедуры
takefive @ Вчера, 17:44
,
Почему то выдает ошибку
Ошибка при выполнении обработчика - 'ОбработкаЗаполнения'
по причине:
{Документ.РеализацияТоваровУслуг.МодульОбъекта(5086)}: Ошибка при вызове метода контекста (Выполнить)
по причине:
{(12, 19)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
Товары.Ссылка <<?>>= &Ссылка
В Вашем модуле доступен реквизит объекта с именем ЗаказПокупателя и типом неограниченная строка. исправьте имя параметра в описании процедуры и в ее тексте.
pablo @ Сегодня, 9:38
,
Спасибо!
Получилось!
Выкладываю код.
Процедура СкопироватьТовары2(ТабличнаяЧасть,ДокументОснование)
ДокументОснование = Сделка;
ДатаОстатков = ОбщегоНазначения.ПолучитьДатуОстатков(ЭтотОбъект);
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДокументОснование", ДокументОснование);
Запрос.УстановитьПараметр("ПустойСклад", Справочники.Склады.ПустаяСсылка());
Запрос.УстановитьПараметр("ДатаОстатков", ДатаОстатков);
Запрос.Текст ="ВЫБРАТЬ
| Товары.НомерСтроки,
| Товары.Номенклатура,
| Товары.Количество,
| Товары.ЕдиницаИзмерения,
| Товары.Коэффициент,
| Товары.Цена,
| Товары.ПроцентСкидкиНаценки,
| Товары.Сумма
|ИЗ
| Документ.ЗаказПокупателя.Товары КАК Товары
|ГДЕ
| Товары.Ссылка = &ДокументОснование";
РезультатЗапроса = Запрос.Выполнить();
ДобавленКомплект = Ложь;
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
НоваяСтрока = Товары.Добавить();
НоваяСтрока.Номенклатура = Выборка.НомерСтроки;
НоваяСтрока.Номенклатура = Выборка.Номенклатура;
НоваяСтрока.Количество = Выборка.Количество;
НоваяСтрока.ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения;
НоваяСтрока.Коэффициент = Выборка.Коэффициент;
НоваяСтрока.Цена = Выборка.Цена;
НоваяСтрока.ПроцентСкидкиНаценки = Выборка.ПроцентСкидкиНаценки;
НоваяСтрока.Сумма = Выборка.Сумма;
КонецЦикла;
КонецПроцедуры
! | http://pro1c.org.ua/index.php?act=announce&id=2: 9 |
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua