Имя: Пароль:
1C
1С v8
Как создать новый документ в управляемых формах
,
0 sidalexsandr
 
16.02.18
12:35
Создал процедуру:
&НаСервере
Процедура ВозврДок(НовРеал)
    НовРеал = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
    //НовРеал.Номер = "111";
    НовРеал.Дата = ТекущаяДата();
    НовРеал.Записать();
КонецПроцедуры

Вызываю её:
&НаКлиенте
Процедура Запустить(Команда)
            НовРеал = "";
    ВозврДок(НовРеал);
КонецПроцедуры

Выдает ошибку: Ошибка преобразования данных XDTO
Текст:  false
1 Darych
 
16.02.18
12:37
ессно.. что хочешь?
2 aka AMIGO
 
16.02.18
12:41
(1) Спрашивает: как создать.. Без ошибки.
3 VladZ
 
16.02.18
12:43
(0) Все правильно говорит. Как думаешь, в чем разница между объектом и ссылкой?
4 sidalexsandr
 
16.02.18
12:48
(3) Ссылка это указатель на объект. А можно объяснить по подробней?
5 Darych
 
16.02.18
12:48
(2) ну так создает.. ошибка при возврате объекта
6 Darych
 
16.02.18
12:49
(4) объект в клиент возвращаешь при вызове процедуры
7 VladZ
 
16.02.18
12:49
&НаСервере
Функция СоздатьНовыйДокумент()
    НовРеал = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
    //НовРеал.Номер = "111";

    НовРеал.Дата = ТекущаяДата();
    НовРеал.Записать();

Возврат НовРеал.ссылка;
КонецПроцедуры

&НаКлиенте
Процедура Запустить(Команда)

    МойНовыйДок = СоздатьНовыйДокумент();
КонецПроцедуры
8 ejikbeznojek
 
16.02.18
12:49
А что ты хочешь дальше сделать с объектом?
9 VladZ
 
16.02.18
12:50
Упс.. Опечатка:
Возврат НовРеал.ссылка;
КонецФункции
10 aka AMIGO
 
16.02.18
12:51
Вот этот ГКод у меня работает уже год.. даже больше:
&НаСервере
Процедура СоздатьЧекиККМнаСервере(КаталогИБПриемника)
...
        ДокЧек = Документы.ЧекККМ.СоздатьДокумент();
        ДокЧек.Номер = Накл.НомерДок;
        ДокЧек.Дата = Накл.ДатаДок;
        ДокЧек.КассаККМ = КассаККМ;        
...
        РежимЗаписи = РежимЗаписиДокумента.Запись;
        ДокЧек.Записать(РежимЗаписи);
...
        ДокПоступлениеТоваров = Документы.ПоступлениеТоваров.СоздатьДокумент();
        ДокПоступлениеТоваров.Номер = Стр.НомерДок;
        ДокПоступлениеТоваров.Дата = ДатаНачПериода - 24*60*60;
        ДокПоступлениеТоваров.Магазин = Магазин;
        ДокПоступлениеТоваров.Склад = Склад;
...
        РежимЗаписи = РежимЗаписиДокумента.Проведение;
        ДокПоступлениеТоваров.Записать(РежимЗаписи);

&НаКлиенте
Процедура СоздатьЧекиККМ()
    СоздатьЧекиККМнаСервере(КаталогИБПриемника);
    ЭтаФорма.Закрыть();
    ЗакрытьОкноСлужебныеСообщения();
    Сообщить("Создание ЧековККМ завершено.");
    Форма = ОткрытьФорму("Документ.ЧекККМ.Форма.ФормаСписка"); //Открываем форму
КонецПроцедуры
11 Darych
 
16.02.18
12:53
(10) и что?)
12 aka AMIGO
 
16.02.18
12:53
(11) И - ничего. Пример создания документов.
13 Darych
 
16.02.18
12:55
(12) та к и в (0) создается)
14 aka AMIGO
 
16.02.18
12:56
У ТС - с ошибкой в XDTO
15 Catseye
 
16.02.18
12:58
Как вариант - если ты хочешь создать новый документ из списка документов и открыть форму нового документа, то так:

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

Ты про это?
16 Darych
 
16.02.18
12:58
(14) так он его в клиент вертает)
17 sidalexsandr
 
16.02.18
13:04
(7) Документ не создался
18 Darych
 
16.02.18
13:08
(17) как это понял?
19 Catseye
 
16.02.18
13:09
Тогда так:

&НаСервере
Функция ВозврДок()

    НовРеал = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
    НовРеал.Дата = ТекущаяДата();
    НовРеал.Записать();
    Возврат НовРеал.Ссылка;
КонецФункции

&НаКлиенте
Процедура Запустить(Команда)
    НовыйДокСсылка   = ВозврДок();

    ПараметрыФормы = Новый Структура("Ключ", НовыйДокСсылка  );
    ОткрытьФорму("Документ.РеализацияТоваровУслуг.Форма.ФормаДокументаУпр", ПараметрыФормы);
    
КонецПроцедуры

Тогда откроет форму уже созданного на сервере документа и переданного на клиент по ссылке
20 ejikbeznojek
 
16.02.18
13:09
(17) На вид, создался))
21 sidalexsandr
 
16.02.18
13:15
(18) Документ создался. В журнале стоял отбор по фирме.
22 Darych
 
16.02.18
13:16
(21) я знал)
23 aka AMIGO
 
16.02.18
13:18
(22) И что молчал-то? :)
24 Darych
 
16.02.18
13:20
(23) в (18) намекнул)