Создание документа на основании в обработке
Коллеги добрый день, подскажите пожалуйста, пишу обработку в Рознице, необходимо создавать два документа Заказ на перемещение товаров и соответственно на основании заказа Перемещение товаров, как это сделать?
Вот код:
Вот код:
Пока ВыборкаОрганизация.Следующий() Цикл
Заказ = Документы.ЗаказНаПеремещение.СоздатьДокумент();
Заказ.Ответственный = Пользователи.ТекущийПользователь();
Заказ.Организация = ВыборкаОрганизация.Организация;
Заказ.ЖелаемаяДатаПоступления = ТекущаяДата();
Заказ.Статус = Перечисления.СтатусыВнутреннихЗаказов.КВыполнению;
Заказ.ЗакрытВручную = Ложь;
Заказ.РеакторВСборке = Ложь;
Заказ.РеакторСкладОтгрузкиТовара = Объект.СкладОтправитель;
Заказ.РеакторСкладПолученияТовара = Объект.СкладПолучатель;
Заказ.РеакторЭкстренныеПеремещения = Ложь;
Заказ.РеакторОтправленНаПечать = Ложь;
МагазинОтправитель = Справочники.Магазины.НайтиПоРеквизиту("СкладПродажи", Объект.СкладОтправитель);
Заказ.МагазинОтправитель = МагазинОтправитель;
МагазинПолучатель = Справочники.Магазины.НайтиПоРеквизиту("СкладПродажи", Объект.СкладПолучатель);
Заказ.МагазинПолучатель = МагазинПолучатель;
Перемещение = Документы.ПеремещениеТоваров.СоздатьДокумент();
Перемещение.Организация = ВыборкаОрганизация.Организация;
ОрганизацияПолучатель = Справочники.Организации.НайтиПоКоду(Объект.СкладПолучатель.Организация.Ссылка.Код);
Перемещение.ОрганизацияПолучатель = ОрганизацияПолучатель;
Перемещение.СкладОтправитель = Объект.СкладОтправитель;
Перемещение.СкладПолучатель = Объект.СкладПолучатель;
Перемещение.Ответственный = Пользователи.ТекущийПользователь();
Перемещение.РеакторОтправленНаПечать = Ложь;
Перемещение.НеСоздаватьСкладскиеОрдераДляВнутреннихПеремещений = Ложь;
Перемещение.МагазинОтправитель = МагазинОтправитель;
Перемещение.МагазинПолучатель = МагазинПолучатель;
ВыборкаДетальныеЗаписи = ВыборкаОрганизация.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Заказ.Дата = ТекущаяДата();
Если Объект.ЗаказыНаПеремещения Тогда
ЗаказТЧ = Заказ.Товары.Добавить();
ЗаказТЧ.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
ЗаказТЧ.Количество = ВыборкаДетальныеЗаписи.Количество;
ЗаказТЧ.КоличествоУпаковок = ВыборкаДетальныеЗаписи.Количество;
ЗаказТЧ.РеакторОтменено = Ложь;
Попытка
Заказ.Записать(РежимЗаписиДокумента.Проведение);
Исключение
Заказ.Записать(РежимЗаписиДокумента.Запись);
КонецПопытки;
КонецЕсли;
Если Объект.Перемещения Тогда
Перемещение.Дата = ТекущаяДата();
Перемещение.ДокументОснование = Заказ.Ссылка;
ПеремещениеТЧ = Перемещение.Товары.Добавить();
ПеремещениеТЧ.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
ПеремещениеТЧ.Количество = ВыборкаДетальныеЗаписи.Количество;
ПеремещениеТЧ.КоличествоУпаковок = ВыборкаДетальныеЗаписи.Количество;
ПеремещениеТЧ.НеобходимостьВводаАкцизнойМарки = Ложь;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены,
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныНоменклатурыСрезПоследних.Характеристика КАК Характеристика,
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ) КАК ЦеныНоменклатурыСрезПоследних
|ГДЕ
| ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура
| И ЦеныНоменклатурыСрезПоследних.ВидЦены = &ВидЦены";
ВидЦены = Справочники.ВидыЦен.НайтиПоНаименованию("Закупочные");
Запрос.УстановитьПараметр("ВидЦены", ВидЦены);
Запрос.УстановитьПараметр("Дата", КонецДня(ТекущаяДата()));
Запрос.УстановитьПараметр("Номенклатура", ПеремещениеТЧ.Номенклатура);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаЦен = РезультатЗапроса.Выбрать();
Пока ВыборкаЦен.Следующий() Цикл
ПеремещениеТЧ.Цена = ВыборкаЦен.Цена;
ПеремещениеТЧ.Сумма = ПеремещениеТЧ.Количество * ПеремещениеТЧ.Цена;
КонецЦикла;
Попытка
Перемещение.Записать(РежимЗаписиДокумента.Проведение);
Исключение
Перемещение.Записать(РежимЗаписиДокумента.Запись);
КонецПопытки;
КонецЕсли;
КонецЦикла;
Сообщить("Создан документ " + Перемещение);
Сообщить("Создан документ " + Заказ);
КонецЦикла;
ПоказатьПо теме из базы знаний
- Создание документа Поступление товаров и услуг (или Поступление товаров и услуг в НТТ) на основании excel-файла стандартной TOРГ-12
- Создание ввода на основании для БП 2.0 и УТ 10.3
- Создание документов выемки. 1С:Розница 2.2
- Пакетное создание документов на основании "Заказы покупателей/Счета на оплату" Управление торговлей 10.3, 1С 8.2, обычное приложение
- Групповой ввод документов на основании других документов
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(10) Если Объект.ЗаказыНаПеремещения Тогда
ЗаказТЧ = Заказ.Товары.Добавить();
ЗаказТЧ.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
ЗаказТЧ.Количество = ВыборкаДетальныеЗаписи.Количество;
ЗаказТЧ.КоличествоУпаковок = ВыборкаДетальныеЗаписи.Количество;
ЗаказТЧ.РеакторОтменено = Ложь;
Попытка
Заказ.Записать(РежимЗаписиДокумента.Проведение);
Исключение
Заказ.Записать(РежимЗаписиДокумента.Запись);
КонецПопытки;
КонецЕсли;
Если Объект.Перемещения Тогда
Перемещение.Дата = ТекущаяДата();
Перемещение.ДокументОснование = Заказ.Ссылка;
Ну по идее должен быть записан, может я не правильно понимаю
ЗаказТЧ = Заказ.Товары.Добавить();
ЗаказТЧ.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
ЗаказТЧ.Количество = ВыборкаДетальныеЗаписи.Количество;
ЗаказТЧ.КоличествоУпаковок = ВыборкаДетальныеЗаписи.Количество;
ЗаказТЧ.РеакторОтменено = Ложь;
Попытка
Заказ.Записать(РежимЗаписиДокумента.Проведение);
Исключение
Заказ.Записать(РежимЗаписиДокумента.Запись);
КонецПопытки;
КонецЕсли;
Если Объект.Перемещения Тогда
Перемещение.Дата = ТекущаяДата();
Перемещение.ДокументОснование = Заказ.Ссылка;
Ну по идее должен быть записан, может я не правильно понимаю
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот