Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
05 июл 2022, 09:34

передача данных между формой и новым документов использование ДанныеФормыВЗначение, КопироватьДанныеФормы,ЗначениеВДанныеФормы

Автор Св Ч, 08 окт 2017, 13:37

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

Св Ч

Добрый День!
возникла необходимость передачи данных на форму документа до момента его создания из другого документа. ИНТЕРФЕЙС ОБЫЧНЫЙ
есть две процедуры
Процедура ОперацииКупюрыОткрытие(Элемент, СтандартнаяОбработка)
    Форма = ПолучитьФорму("Документ.Купюрник.ФормаОбъекта");
ДанныеФормы = Форма.ЭтаФорма.ДокументОбъект; // Получаем объект формы в переменную
СтрокаТабличнойЧасти = ЭлементыФормы.Операции.ТекущиеДанные;

если пустаястрока(СтрокаТабличнойЧасти.Купюры)=Истина тогда
    ЗаполнитьДокументНаСервере(ДанныеФормы.этотобъект,СтрокаТабличнойЧасти); // Заполняем документ на сервере
            КопироватьДанныеФормы(ДанныеФормы.этотобъект, Форма.ЭтаФорма.ДокументОбъект.этотобъект); // копируем наш объект в объект формы и далее открываем ее
            Форма.Открыть();
конецесли;

КонецПроцедуры
Функция ЗаполнитьДокументНаСервере(ДанныеФормы,СтрокаТабличнойЧасти);

НовыйДокумент = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.Купюрник")); // Получаем объект из данных формы ИЛИ
Попытка

        НовыйДокумент= Документы.Купюрник.СоздатьДокумент();

// Заполняем реквизиты объекта или другие действия ********
СтрокаТабличнойЧасти = ЭлементыФормы.Операции.ТекущиеДанные;
НовыйДокумент.Сумма_необходимая         =  СтрокаТабличнойЧасти.Сумма;
        НовыйДокумент.Дата               = ТекущаяДата();

        НовыйДокумент.Записать();
        Сообщить("Документ  успешно создан");

        ЗначениеВДанныеФормы(НовыйДокумент,ДанныеФормы); // Кладем обратно в объект формы уже созданный документ

     Исключение
        Сообщить("НЕ УДАЛОСЬ создать окумент" );
КонецПопытки;

КонецФункции






ИСПОЛЬЗУЮ ТЕКСТ СТАТЬИ https://infostart.ru/public/118784/
НО У МЕНЯ ОБЫЧНЫЙ ИНТЕРФЕЙС
ПОЛУЧАЕМ ОШИБКУ НА СТРОКАХ
НовыйДокумент = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.Купюрник")); // Получаем объект из данных формы

   ЗначениеВДанныеФормы(НовыйДокумент,ДанныеФормы); // Кладем обратно в объект формы уже созданный документ
    КопироватьДанныеФормы(ДанныеФормы.этотобъект, Форма.ЭтаФорма.ДокументОбъект.этотобъект);
ОШИБКА "НЕСООТВЕТСТВИЕ ТИПОВ, ХОТЯ В ОТЛАДЧИКЕ ВСЕ СОВПАДАЕТ "
Цитировать{Документ.Касса.Форма.ФормаДокумента.Форма(529)}: Ошибка при вызове метода контекста (ДанныеФормыВЗначение)
НовыйДокумент = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.Купюрник")); // Получаем объект из данных формы ИЛИ
по причине:
Несоответствие типов (параметр номер '1')

ПРИЧЕМ НА ВСЕХ ТРЕХ СТРОКАХ.
как исправить?

Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск