Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Создание документы без записи, не переносится ТЧ(УФ)

Создание документы без записи, не переносится ТЧ(УФ)
Я
   ZEUSRVP
 
01.09.20 - 13:29
Добрый день .. не могу перенести из Документа ТЧ в форму Другого документа
Пишу так

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

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

    ТабЧастьВидЦены = Док.ВидыЦен.Добавить();
    ТабЧастьВидЦены.ВидЦены = Объект.Магазин.ПравилоЦенообразования.ВидЦен;
    Док.Ответственный = ПараметрыСеанса.ТекущийПользователь;
    Для Каждого Товар из Объект.Товары Цикл
        Строка = Док.Товары.Добавить();
        Строка.Номенклатура = Товар.Номенклатура;
        Строка.ВидЦены = Объект.Магазин.ПравилоЦенообразования.ВидЦен;
    КонецЦикла;

ЗначениеВДанныеФормы(Док,ДанныеФормы);
КонецПроцедуры

Форма открывается .. ставится дата, отв, но вот
ТабЧастьВидЦены.ВидЦены
Док.Товары Не переносятся .. хотя в отладчике я их вижу в цикле.
   ДенисЧ
 
1 - 01.09.20 - 13:35
А ТЧ ВидыЦен Александр Григорьевич будет заполнять?
   ZEUSRVP
 
2 - 01.09.20 - 13:36
Я бы мог использовать Основание... Но тогда по основанию у меня попадают Вид цены разных магазинов.. мне надо только текущего
   ZEUSRVP
 
3 - 01.09.20 - 13:40
(1) Вот же
    ТабЧастьВидЦены = Док.ВидыЦен.Добавить();
    ТабЧастьВидЦены.ВидЦены = Объект.Магазин.ПравилоЦенообразования.ВидЦен;
   Галахад
 
4 - 01.09.20 - 13:44
Ну, по-моему в форме нет "Товары", а есть "ДеревоЦен"...
   ZEUSRVP
 
5 - 01.09.20 - 13:45
(4) Есть
Такой код работает но с записью документа

//&НаСервере

//Функция УстановкаЦенНаСервере()
//    Док = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();

//    Док.Дата = ТекущаяДата();
//    Док.Согласован = Истина; 

//    ТабЧастьВидЦены = Док.ВидыЦен.Добавить();
//    ТабЧастьВидЦены.ВидЦены=Объект.Магазин.ПравилоЦенообразования.ВидЦен;

//    Док.Ответственный = ПараметрыСеанса.ТекущийПользователь;
//    Для Каждого Товар из Объект.Товары Цикл

//        Строка = Док.Товары.Добавить();
//        Строка.Номенклатура = Товар.Номенклатура;

//        Строка.ВидЦены = Объект.Магазин.ПравилоЦенообразования.ВидЦен;
//    КонецЦикла;

//    //Док.Записать();

//    Возврат Док.Ссылка;

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


//&НаКлиенте

//Процедура УстановкаЦен(Команда)
//    СсылкаНаДокумент = УстановкаЦенНаСервере();

//    ПоказатьЗначение(,СсылкаНаДокумент);
//КонецПроцедуры
   Галахад
 
6 - 01.09.20 - 13:50
(5) В смысле, записать, а потом открыть?
   ZEUSRVP
 
7 - 01.09.20 - 13:54
(6) Ну Документ создать программно и по ссылке открыть тогда все заполняется все супер ..
Но мне надо форму открыть пользователя без сохранения документа.
   ZEUSRVP
 
8 - 01.09.20 - 13:56
(7) для пользователя.. Открыть форму и передать туда из формы одного дока в другой... по логике первый код должен работать .. но мне кажется что то с табличными частями не так..
Пробовал тч сперва в тз потом обратно .. тоже не работало
   Галахад
 
9 - 01.09.20 - 13:58
(7) Там не все так просто. Посмотри процедуру "ЗаполнитьДокумент".
   Галахад
 
10 - 01.09.20 - 14:00
(2) Наверное, проще использовать "Основание" из (2), а потом почистить лишнее.
   ZEUSRVP
 
11 - 01.09.20 - 14:01
(9) ОбработкаЗаполнеия ... блин так не хотелось ))))

Список тем форума
Рекламное место пустует  Рекламное место пустует
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.