программно создать док а потом открыть его форму на УФ
загружаю накладную из текста, хотелось бы понять, как вернуть на клиент заполненную форму и показать её пользователю?
&НаСервере
Процедура СделатьДокументы( )
Накл = Документы.ПоступлениеТоваров.СоздатьДокумент();
Накл.Дата = ТекущаяДата();
Накл.Организация = Справочники.Организации.НайтиПоНаименованию("ИП Новиков Олег Васильевич");
Накл.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Основной поставщик");
Накл.Склад = Справочники.Склады.НайтиПоНаименованию("Склад");
Накл.Магазин = Справочники.Магазины.НайтиПоНаименованию("Магазин");
ИмяФайла = Объект.ФайлЗагрузки;
Текст = Новый ТекстовыйДокумент;
Текст.Прочитать(Объект.ФайлЗагрузки);
Сообщить(Текст);
Для Ы = 2 По Текст.КоличествоСтрок() Цикл
Строка = Текст.ПолучитьСтроку(ы);
// Позиция = Найти(Стр, "~");
// Код = Сред(Стр,1,Позиция-1);
// Буфер = стрЗаменить(Адрес,",",Символы.ПС);
//Город = стрПолучитьСтроку(Буфер,1);
//Улица = стрПолучитьСтроку(Буфер,2);
//Дом = стрПолучитьСтроку(Буфер,3);
Поля = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Строка, "~");
Имя = СтрЗаменить(Поля[1],Символ(34),"");
//С = Накл.Товары.Добавить();
Ном = Справочники.Номенклатура;
Если Справочники.Номенклатура.НайтиПоНаименованию(Имя) = ном.ПустаяСсылка() Тогда
Ном = Справочники.Номенклатура.СоздатьЭлемент();
Ном.Наименование = Имя;
Ном.НаименованиеПолное = Имя;
Если Справочники.БазовыеЕдиницыИзмерения.НайтиПоНаименованию(СтрЗаменить(Поля[5],Символ(34),"")) <> Справочники.БазовыеЕдиницыИзмерения.ПустаяСсылка() Тогда
Ном.ЕдиницаИзмерения = Справочники.БазовыеЕдиницыИзмерения.НайтиПоНаименованию(СтрЗаменить(Поля[5],Символ(34),""));
Иначе
Ном.ЕдиницаИзмерения = Справочники.БазовыеЕдиницыИзмерения.НайтиПоКоду("796");
КонецЕсли;
//Ном.
Ном.Артикул = СтрЗаменить(Поля[2],Символ(34),"");
Ном.Записать();
Сообщить("создан товар " + Имя);
//С.Номенклатура = Ном;
Иначе
Продолжить;
КонецЕсли;
КонецЦикла;
Для Ы = 2 По Текст.КоличествоСтрок() Цикл
Строка = Текст.ПолучитьСтроку(ы);
// Позиция = Найти(Стр, "~");
// Код = Сред(Стр,1,Позиция-1);
// Буфер = стрЗаменить(Адрес,",",Символы.ПС);
//Город = стрПолучитьСтроку(Буфер,1);
//Улица = стрПолучитьСтроку(Буфер,2);
//Дом = стрПолучитьСтроку(Буфер,3);
Поля = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Строка, "~");
Имя = СтрЗаменить(Поля[1],Символ(34),"");
С = Накл.Товары.Добавить();
//Ном = Справочники.Номенклатура;
//Если Справочники.Номенклатура.НайтиПоНаименованию(Имя) = ном.ПустаяСсылка() Тогда
// Ном = Справочники.Номенклатура.СоздатьЭлемент();
// Ном.Наименование = Имя;
// Ном.НаименованиеПолное = Имя;
// Ном.ЕдиницаИзмерения = Справочники.БазовыеЕдиницыИзмерения.НайтиПоНаименованию(СтрЗаменить(Поля[5],Символ(34),""));
// //Ном.
// Ном.Записать();
// Сообщить("создан товар " + Имя);
// С.Номенклатура = Ном;
//Иначе
//С.Номенклатура = ?(Не Справочники.Номенклатура.НайтиПоНаименованию(Имя) = ном.ПустаяСсылка(), Справочники.Номенклатура.НайтиПоНаименованию(Имя), СоздатьТовар(Имя));
С.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Имя);
//КонецЕсли;
С.Количество = Число(СтрЗаменить(Поля[3],Символ(34),""));
С.Цена = Число(СтрЗаменить(Поля[6],Символ(34),""));
С.СтавкаНДС = Перечисления.СтавкиНДС.НДС18;
С.СуммаНДС = Число(СтрЗаменить(Поля[9],Символ(34),""));
С.Сумма = Число(СтрЗаменить(Поля[8],Символ(34),""));
С.Количество = Число(СтрЗаменить(Поля[3],Символ(34),""));
КонецЦикла;
Накл.Записать(РежимЗаписиДокумента.Запись);
//Для Каждого Ы Из Накл.Товары Цикл
// Ы.Количество = Окр(Ы.Сумма / Ы.Цена);
//КонецЦикла;
ПараметрыПТМЦ = Новый Структура;
//ОткрытьФорму("Документ.ПоступлениеТоваров.ФормаОбъекта",ПараметрыПТМЦ,Накл).Обновить();
Накл.Ответственный = Пользователи.ТекущийПользователь();
Накл.Записать(РежимЗаписиДокумента.Запись);
//ОткрытьФ(Накл);
// #Если Клиент Тогда
// Накл.ПолучитьФорму("ФормаДокумента").Открыть();
// Накл.ПолучитьФорму("ФормаДокумента").Обновить();
//#КонецЕсли
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Под капотом управляемых форм
- Перенос данных из УПП 1.3 / КА 1.1 в БП 3. Переносятся документы, справочники и начальные остатки
- Как автоматически заполнить обработкой табличную часть документа "Ввод начальных остатков" (Тип операции = "Расчеты с партнерами"). 1С: ERP
- Программное копирование узла/строки дерева значений на управляемой форме (УФ, ДанныеФормыДерево, ДанныеФормыЭлементДерева) в вариантах на клиенте и на сервере
- Гарантированное проведение документов (подключаемое расширение)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
верните на клиент ссылку записанного документа и откройте ее через ОткрытьЗначение - откроется основная форма объекта.
если же хотите открыть какую-то особенную форму, тогда:
если же хотите открыть какую-то особенную форму, тогда:
ПараметрыФормы = Новый Структура;
ПараметрыФормы.вставить("Ключ",СсылкаНадокумент);
ОткрытьФорму("Документ.ПоступлениеТоваровУслуг.ОсобеннаяФорма", ПараметрыФормы);
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот