Добрый день, только начал изучение мобильной разработки,поэтому надеюсь на ваше понимание.
Начал изучение вот с этого видео:
youtube.com/watch?v=jw1t7LUsGn8&t=1847s
К сожалению, там идёт смысл в штрих-коде,а мне бы хотелось разобраться для начала без него.
Старался просто не обращать внимание на него, вот что вышло по коду. Писал в обработке, не понимаю куда его нужно вставить. И всё ли учтено в коде?
Очень прошу помощи, может есть еще какая-то полезная и понятная инфа по обмену?
На мобильной базе:
На центральной:
Начал изучение вот с этого видео:
youtube.com/watch?v=jw1t7LUsGn8&t=1847s
К сожалению, там идёт смысл в штрих-коде,а мне бы хотелось разобраться для начала без него.
Старался просто не обращать внимание на него, вот что вышло по коду. Писал в обработке, не понимаю куда его нужно вставить. И всё ли учтено в коде?
Очень прошу помощи, может есть еще какая-то полезная и понятная инфа по обмену?
На мобильной базе:
&НаКлиенте
Процедура ОформитьЗаказ(Команда)
НовыйЗаказ = СоздатьЗаказ(НовыйЗаказ);
СоздатьДокумент (НовыйЗаказ);
КонецПроцедуры
&НаСервере
Функция СоздатьЗаказ(НовыйЗаказ)
Соединение = WSСсылки.WSСсылка.СоздатьWSПрокси("MobileCentral", "MobileCentral" ,"MobileCentralSoap");
Операция = Соединение.ТочкаПодключения.Интерфейс.Операции.Получить("GetZakaz");
Запрос = новый Структура("Товар,Количество",НовыйЗаказ.Товар,НовыйЗаказ.Количество);
Ответ = Соединение.DokumentZakaz(Сериализовать(Запрос));
Десериализовать(Ответ);
КонецФункции // СоздатьЗаказ()
&НаСервере
Процедура СоздатьДокумент (НовыйЗаказ)
ДокументЗаказ = Документы.Заказ.СоздатьДокумент();
ДокументЗаказ.Товар = НовыйЗаказ.Товар;
ДокументЗаказ.Количество = НовыйЗаказ.Количество;
ДокументЗаказ.Производитель = НовыйЗаказ.Производитель;
ДокументЗаказ.Номер = НовыйЗаказ.Номер;
ДокументЗаказ.Дата = ТекущаяДата();
ДокументЗаказ.Записать(РежимЗаписиДокумента.Проведение);
Соединение = WSСсылки.WSСсылка.СоздатьWSПрокси("MobileCentral", "MobileCentral" ,"MobileCentralSoap");
Операция = Соединение.ТочкаПодключения.Интерфейс.Операции.Получить("DokumentZakaz");
Запрос = новый Структура("Товар,Количество",НовыйЗаказ.Товар,НовыйЗаказ.Количество);
Ответ = Соединение.DokumentZakaz(Сериализовать(Запрос));
//Десериализовать(Ответ);
Сообщить(Ответ);
КонецПроцедуры
Функция Десериализовать(XMLСтруктура)Экспорт
ЧтениеXMLДанных = новый ЧтениеXML;
ЧтениеXMLДанных.УстановитьСтроку(XMLСтруктура);
ТЗ = СериализаторXDTO.ПрочитатьXML(ЧтениеXMLДанных);
ЧтениеXMLДанных.Закрыть();
Возврат ТЗ;
КонецФункции // Десериализовать()
Функция Сериализовать(Объект) экспорт
ДеревоВОбъекте = СериализаторXDTO.ЗаписатьXML(Объект);
МойXML = новый ЗаписьXML;
МойXML.УстановитьСтроку();
ФабрикаXDTO.ЗаписатьXML(МойXML,ДеревоВОбъекте);
Возврат МойXML.Закрыть();
КонецФункции //Сериализовать ()
ПоказатьНа центральной:
Функция SendMessage()
Возврат "Всё работает!";
КонецФункции
Функция Десериализовать(XMLСтруктура)Экспорт
ЧтениеXMLДанных = новый ЧтениеXML;
ЧтениеXMLДанных.УстановитьСтроку(XMLСтруктура);
ТЗ = СериализаторXDTO.ПрочитатьXML(ЧтениеXMLДанных);
ЧтениеXMLДанных.Закрыть();
Возврат ТЗ;
КонецФункции // Десериализовать()
Функция Сериализовать(Объект) экспорт
ДеревоВОбъекте = СериализаторXDTO.ЗаписатьXML(Объект);
МойXML = новый ЗаписьXML;
МойXML.УстановитьСтроку();
ФабрикаXDTO.ЗаписатьXML(МойXML,ДеревоВОбъекте);
Возврат МойXML.Закрыть();
КонецФункции //Сериализовать ()
Функция GetZakaz(Data)
Если ЗначениеЗаполнено(Data) Тогда
ПолученныеДанные = Десериализовать(Data);
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Заказ.Номер КАК Номер,
| Заказ.Товар.Наименование КАК ТоварНаименование,
| Заказ.Товар.Артикул КАК ТоварАртикул,
| Заказ.Товар.Производитель КАК ТоварПроизводитель
|ИЗ
| Документ.Заказ КАК Заказ";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Заказ = новый Структура("Номер,Товар,Артикул,Производитель",
ВыборкаДетальныеЗаписи.Номер,
ВыборкаДетальныеЗаписи.ТоварНаименование,
ВыборкаДетальныеЗаписи.ТоварАртикул,
ВыборкаДетальныеЗаписи.ТоварПроизводитель);
КонецЦикла;
Возврат Заказ;
КонецФункции
Функция DokumentZakaz(Data)
Если ЗначениеЗаполнено(Data) Тогда
ПолученныеДанные = Десериализовать(Data);
КонецЕсли;
ДокументЗаказ = Документы.Заказ.СоздатьДокумент();
ДокументЗаказ.Товар = Справочники.Товары.НайтиПоНаименованию(ПолученныеДанные.Товар);
ДокументЗаказ.Количество = ПолученныеДанные.Количество;
//ДокументЗаказ.Номер = НовыйЗаказ.Номер;
ДокументЗаказ.Дата = ТекущаяДата();
ДокументЗаказ.Записать(РежимЗаписиДокумента.Проведение);
Возврат ("Документ создан");
КонецФункции
ПоказатьПо теме из базы знаний
- Разработка мобильных приложений в системе «1С:Предприятие 8.3» (в формате видеокурса или онлайн-курса).
- Обмен через интернет между мобильными приложениями ТСД и 1С
- Запускаем 120 000 одновременных пользователей мобильного приложения на платформе 1С
- Как начать зарабатывать на разработке мобильных приложений уже завтра!
- Централизованный сбор логов в мобильном приложении
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот