EasyData <-> 1C

Интеграция 1С и EasyData

Обсуждение ТЗ

Posted by Андрей Буганов on January 20, 2014

Подготовил техзадание на интеграцию.
Елена посмотрите, есть ли какие-то противоречия концепции 1С, все ли понятно.
Можно в самом документе помечать комментариями вопросы/уточнения.
Также посмотрите что из этого будет сложно реализуемым, и есть ли более простые альтернативы.

Денис, посмотрите все ли так. Может я что-то не учел или не так понял в исходном задании.

Comments

Андрей Буганов on January 20, 2014:

В целом я старался описать самый базовый функционал, что-бы лишнего функционала было по минимуму.

Андрей Буганов on January 20, 2014:

Елена, делаем проще, как опишу выложу ТЗ

Андрей Буганов on January 20, 2014:

Владимир, Елена, более простое ТЗ https://docs.google.com/document/d/1O5q_P1Y8QIzmTkHb5vQldwMgQHOiyfqRtTDbm-JIXno/edit#
Там разбито на блоки кому что надо сделать.
Все довольно просто.
Посмотрите, завтра обсудим если будут какие вопросы.

Vladimir Korochkin on January 20, 2014:

Хорошо. Задачи ясны.

Елена Пыжова on January 20, 2014:

комментарий в документе

Андрей Буганов on January 21, 2014:

Ответил на комментарий.
Владимир, аккаунт вы уже сделали вчера, все остальное желательно сделать сегодня.
Елена до 24-го управитесь с такой постановкой задачи? Что-бы 27-го оставалось поправить по мелочам и завершить работу.

Елена Пыжова on January 21, 2014:

Учитывая, что я с подобным никогда не работала - к сожалению, не могу сказать точно о времени, но постараюсь завершить к этому сроку.

Vladimir Korochkin on January 21, 2014:

Сделал свою часть. В ТЗ внес необходимые параметры. 

Андрей Буганов on January 22, 2014:

Елена, какие успехи по задаче?
Что сделано?
Есть какие-то проблемы мешающие работе?

Елена Пыжова on January 22, 2014:

Прописала ссылку на doforms в 1С.
Оказалось, что стоит Предприятие 8.3, которое отличается от того, с каким я уже работала. Поэтому вчера вечером много времени затратила на добавление кнопки запуска обработки соединения с doforms. Вроде обнаружила, но Денис переключил на другую задачу. И пока разбираюсь с ней.

Елена Пыжова on January 22, 2014:

Столкнулась с проблемой.. Вроде как подключается к серверу (в этой строке кода не ругается), но при попытке получить количество новых заказов (по пользователю и паролю) возвращает вот такое (именно возвращает):
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<data version="1.0">
<row>
<Error Type="String">Not found WebService.</Error>
</row>
</data>

Может быть, есть идеи на каком этапе ошибка? А то я уже весь мозг сломала в попытке найти :) Имя и пароль в документе верные?

Denis Slabakov on January 22, 2014:

Лена,

опубликуй здесь строку вызова вебсервиса

Denis Slabakov on January 22, 2014:

Владимир, мне кажется, что ты не опубликовал все данные необходимые для подключения.

Андрей, зарберись пож-ста.

Пример того как выглядит идентификатор webservice

mytask$$04192013154849$$Published$$04232013111547

+ пароль

Denis Slabakov on January 22, 2014:


Вроде понял

Владимир дал доступ Андрею, предполагая, что Андрей сделает webservice

далее произошел разрыв)

Елена Пыжова on January 23, 2014:

СервисDF=WSСсылки.DoForms.СоздатьWSПрокси("services.wss.portal.doforms.mdt.com", "FormServiceService", "FormServicePort" );

КолЗаказовDF = СервисDF.getFormUnReadCount("newt$$01212014071701$$Published$$01212014111850","123123123");

Denis Slabakov on January 23, 2014:

Лена,

Есть две разные системы: doforms и easydata

Easydata это дочка doforms

Мы работаем в easydata

Ты обращаешься к doforms

В этом ошибка

С уважением,
Денис Слабаков

23 янв. 2014 г., в 8:45, "Елена Пыжова (Basecamp)" <

Андрей Буганов on January 23, 2014:

Денис, это не играет роли при подключении по API. Классы внутри системы она может называть как угодно

Андрей Буганов on January 23, 2014:

Елена, попробуйте с другими данными, я создал еще один вебсервис.
newt$$01212014071701$$Published$$01232014090856
123123

Андрей Буганов on January 23, 2014:


И еще попробуйте вызвать метод checkValidWebservice, посмотрите что приходит в ответ

Denis Slabakov on January 23, 2014:

Андрей,

А как же адрес самого сервера?

С уважением,
Денис Слабаков

23 янв. 2014 г., в 9:10, "Андрей Буганов (Basecamp)" <

Елена Пыжова on January 23, 2014:

На checkValidWebservice возвращает:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Root version="1.0">
<StatusCode>503</StatusCode>
<ErrorMessage>Invalid webservice</ErrorMessage>
<Data><![CDATA[false]]></Data>
</Root>

Андрей Буганов on January 23, 2014:

Он забит в переменную у нее при создании WSСсылки.DoForms.СоздатьWSПрокси

Андрей Буганов on January 23, 2014:


Елена, попробуйте еще раз сейчас, там не было ни одной анкеты, я заполнил одну

Андрей Буганов on January 23, 2014:


По крайней мере через веб запрашиваю - все приходит

Елена Пыжова on January 23, 2014:

То же самое..

Андрей Буганов on January 23, 2014:

давай в скайп с вами, посмотрим в чем проблема

Елена Пыжова on January 23, 2014:

Логин:new_technologies1

Пароль:BPZ7mszmb

 

Логин:new_technologies2

Пароль:qbcgyu3VS

Андрей Буганов on January 23, 2014:

Сделал сам, сейчас Елен объясню что надо еще подправить, но ответ приходит верный.
Пришлось делать вообще по другому, плюс попалась проблема которую определил только благодаря что сталкивался с таким пару лет назад по поводу utf-8 и boom

Андрей Буганов on January 24, 2014:

Елена, разобрались с XML файлом?

Андрей Буганов on January 24, 2014:

Помог с парсингом XML.
Нужные значения вытащили.
Вообще работает как-то странно, часть XML файла 1С видит как один текстовый узел, в том числе все атрибуты в нем, т.е. просто как одну строку считает.
Думаю, если использовать не встроенный в 1С механизм парсинга, а например Msxml2.DOMDocument все пойдет как надо. Но у нас задача сделать пример, а не сделать правильно, поэтому оставляем текущий механизм.

Елена Пыжова on January 24, 2014:

Вопрос.. Я получаю xml файлик с заказами, но контрагенты и товары так и написаны:
<kontragent type="STRING"><![CDATA[Контагент 1]]></kontragent>
<tovar type="STRING"><![CDATA[Товар 1]]></tovar>
<kolichestvo type="INTEGER">2</kolichestvo>
Сам ответ сервера в приложении.

Андрей Буганов on January 24, 2014:

Значит по имени номенклатуры сопоставляем.
Это старые названия, Владимир сначала не те, что были в ТЗ забил.
Сейчас забиты верные, я анкету сгенерирую с ними сейчас

Андрей Буганов on January 24, 2014:


добавил анкету

Елена Пыжова on January 24, 2014:

Я вот в структуре только не поняла.. выходит что сейчас там 2 анкеты: старая и новая. И каждая анкета содержит по 10 пунктов. Только если данных в них нет, то они пустые. Типа:
<otchet>
<repeat_count type="INTEGER">10</repeat_count>
<kontragent type="STRING"><![CDATA[ИП Иванов И.И.]]></kontragent>
<tovar type="STRING"><![CDATA[Лицензия на EasyData “Профи” годовая подписка - 7500 рублей]]></tovar>
<kolichestvo type="INTEGER"/>
</otchet>
<otchet>
<repeat_count type="INTEGER">10</repeat_count>
<kontragent type="STRING"/>
<tovar type="STRING"/>
<kolichestvo type="INTEGER"/>
</otchet>

Это нормально, что так выгружаются данные?

Андрей Буганов on January 24, 2014:

<repeat_count type="INTEGER">10</repeat_count>
не знаю что это.
Я заполнил 3 товара в последней анкете, вот почему-то количество у них пустое

Елена Пыжова on January 24, 2014:


Я вижу три товара, но только у последнего нет количества. до этого стоит 5 и 55

Андрей Буганов on January 24, 2014:

значит все верно выводится, а количество в последнем не указал значит

Vladimir Korochkin on January 24, 2014:

В анкете использована функция "повторяемый раздел" это используется в тех случаях когда кол-во собираемых данных - переменная величина. Например, может быть такой вариант что мы используем 10 полей для заполнения данных, а есть когда  используем только два. И когда мы используем только два поля, анкета приходит с пустыми полями. 

Vladimir Korochkin on January 24, 2014:

И тогда получается что все анкеты одного вида, и хранятся вместе, -- один источник хранения. 

Елена Пыжова on January 24, 2014:

На данный момент в 1С документы Заказа создаются, заполняется клиент, товар и количество.

Denis Slabakov on January 24, 2014:

Круто!
Отличная новость!

С уважением,
Денис Слабаков

24 янв. 2014 г., в 19:38, "Елена Пыжова (Basecamp)" <

Андрей Буганов on January 27, 2014:

Елена, напишите доступы через браузер, чтобы потестировать.

Елена Пыжова on January 27, 2014:

С доступами оказался "сломанный телефон". Обсуждала это с другими менеджерами ещё до НГ. А нынешний наш слыхом не слыхивал. Поэтому доступа нет, стоимость одного доступа 475 р/мес.
При подключении по rdp не заходишь на сам сервер, открывается только 1С. Или необходимо именно через браузер презентовать?

Denis Slabakov on January 27, 2014:

Нужен доступ через браузер

Как на http://trade.demo.1c.ru/trade/ru/

Елена Пыжова on January 27, 2014:

Доступ дадут в ближайшие пару часов. Счёт до конца дня обещали прислать, но отчётный период будет с 1-го февраля.

Елена Пыжова on January 27, 2014:

Доступ для web

http://vds144.1cbit.ru/new_technologies_ut/ru_RU/

логин:new_technologies3

пароль: fmspjmp8S


сверху Продажи -> слева Заказы клиентов -> на форме Обмен с Easy Data

Андрей Буганов on January 27, 2014:

Елена, как-то странно
Открываю страницу - запрашивает логин и пароль (не 1С)
Ввожу указанные выше данные, открывается форма авторизации в 1С (хотя я ожидаю что по ссылке сразу откроется форма авторизации 1С), там могу даже под админом зайти без пароля.
Надо оставить одного пользователя, администратора закрыть паролем.
Можно ли убрать двойную авторизацию и оставить только форму 1С?

Елена Пыжова on January 27, 2014:

Сначала - доступ на сервер, потом в 1С. Можно из 1С вообще убрать авторизацию

Андрей Буганов on January 27, 2014:

А на сервер можно убрать? Пример ссылки которую давал Денис, да и я не других хостингах не видел никогда что-бы запрашивало сначала доступ на сервер а потом в 1С

Елена Пыжова on January 27, 2014:

Не уверена, что 1С Бит это позволит, но узнаю у них

Андрей Буганов on January 27, 2014:

ок, создал to--do https://basecamp.com/1815659/projects/4596849-easydata-1c/todolists/13454478-
где задачи и баги пишу

Андрей Буганов on January 27, 2014:

Настроил с сайта ссылку http://easydata.me/1c/

Андрей Буганов on January 28, 2014:

Елена, ответили 1с бит по поводу двойной авторизации?

Елена Пыжова on January 28, 2014:

Вчера говорили, что уточнят у администраторов, сегодня ответят. Но пока - тишина.

Елена Пыжова on January 28, 2014:

Ответили:
Администраторы оповестили о том, что крайне не желательно удалять первую авторизация (на сервер), т.к угрожает безопасности Вашей информационной базы. 
Попросить удалить и прописать соответствующий пункт в договоре?

Андрей Буганов on January 28, 2014:

Денис?
Я думаю он нам не нужен, так как база только для демонстрации используется, а не для реальной работы

Denis Slabakov on January 28, 2014:

Удоляем первую авторизацию на сервер

Елена Пыжова on January 28, 2014:

Пользователя под логином:new_technologies2, отключили. Возможно заходить под логином new_technologies1 в rdp, под логином: new_technologies3 в web

Андрей Буганов on January 28, 2014:

Ничего не понял :), но открыл в новом браузере 1С и насколько вижу авторизацию не запрашивает и у нас только один пользователь в списке demo

Андрей Буганов on January 28, 2014:

Елена, у demo права администратора

Елена Пыжова on January 28, 2014:

На сервере двоих пользователей оставили

Андрей Буганов on January 28, 2014:

в общем нам надо что-бы клиенты видели только одного пользователя в списке и без прав администратора

Елена Пыжова on January 28, 2014:

Понятно, это местные админы меня выкинули и вернули Администратора и двух своих пользователей...