Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 08:58

Создание одного документа со спецификацией на основании другого

Автор Конст_007, 25 мая 2015, 08:49

0 Пользователей и 1 гость просматривают эту тему.

Конст_007

Добрый день!
Подскажите пожалуйста, где ошибся, а ошибся где то наверняка). Поиском находил похожие вопросы но до конца разобраться не могу.
УТ 11 на упр. формах.

Требуется: На основании имеющейся накладной "ПеремещениеТоваров" создавать документ "ПересчетТоваров" со всей спецификацией.
Пытаюсь пойти стандартным путем: В документе "ПересчетТоваров" через конструктор ввода на основании указываю документ ПеремещениеТовара со всеми нужными полями.
В итоге в модуле документа заменятся стандартная процедура "Обработка заполнения" на процедуру такого вида:

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
   //{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
   Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ПеремещениеТоваров") Тогда
      // Заполнение шапки
      Комментарий = ДанныеЗаполнения.Комментарий;
      Ответственный = ДанныеЗаполнения.Ответственный;
      Склад = ДанныеЗаполнения.СкладПолучатель;
      Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Товары Цикл
         НоваяСтрока = Товары.Добавить();
         НоваяСтрока.Количество = ТекСтрокаТовары.Количество;
         НоваяСтрока.КоличествоУпаковок = ТекСтрокаТовары.КоличествоУпаковок;
         НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура;
         НоваяСтрока.Серия = ТекСтрокаТовары.Серия;
         НоваяСтрока.СтатусУказанияСерий = ТекСтрокаТовары.СтатусУказанияСерий;
         НоваяСтрока.Упаковка = ТекСтрокаТовары.Упаковка;
         НоваяСтрока.Характеристика = ТекСтрокаТовары.Характеристика;
      КонецЦикла;
   КонецЕсли;
   //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры

Но в документе "ПеремещениеТоваров" при нажатии кнопки "Создать на основании" не появляется новый пункт типа "Создать Пересчет Товара":dfbsdfbsdf:
Как я понимаю надо в форме документа "ПеремещениеТовара" создать команду, которая бы вызывала процедуру создания документа "ПересчетТовара" с заполнением его созданной выше процедурой ОбработкаЗаполнения, что то типа:

&НаКлиенте
Процедура СоздатьПересчетТоваров(Команда)
     ОбработкаЗаполнения();
       Форма = ПолучитьФорму("Документ.ПересчетТоваров.Форма.ФормаДокумента");
       Форма.ЗаполнитьНаКлиенте(Объект.ПеремещениеТоваров, Объект.Товары);
        Форма.Открыть();
КонецПроцедуры

Только вот как правильно написать команду запуска не соображу. Помогите плиз

Конст_007

Попробовал с помощью "конструктора ввода на основании" сделать из документа "ПеремещениеТоваров" другой документ (СборкаТоваров - Получилось!
По кнопке "Создать на основании" в "ПеремещенииТоваров" появился новый пункт с добавлением "СборкаТоваров".
В итоге окончательно запутался, почему по одним документам ввод на основании конструктором отрабатывает, а по другим нет?

vitasw

В конфигураторе для каждого документа и справочника есть закладка "Ввод на основании"

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск