close

Вход

Забыли?

вход по аккаунту

код для вставкиСкачать
Рабочее техническое задание на разработку приложения на КПК на IOS
1. Описание приложения:
Приложение предназначено для заполнения форм при посещении объектов и\или опросе
оператором людей.
Приложение получает и передает данные в формате XML на сервер \ с сервера.
Приложение включает в себя четыре окна фиксированного формата (два списка, одно
идентификации \ синхронизации и окно параметров) и одно окно с настраиваемой
структурой (+ несколько «поисковых» окон и окон – сообщений). Также приложение
включает в себя фотографирование и передачу фото на сервер через формат “file”
протокола http и сбор информации по местонахождению оператора (в случае завершения
визита и через интервал времени (отключаемо \ включаемо по указанию с сервера).
Отметим, что
А) для данного документа возможны косметические правки и уточнения
Б) значительные изменения данного документа, естественно, оказывают влияние на
стоимость работ
2. Состав информации:
a. Список объектов для посещения
b. Заполненные формы для каждого объекта (с минимальной функцией контроля на
совместимость)
c. Фотографии посещения (до 3 шт за одно посещение)
d. Архив посещений
3. Процедура синхронизации:
a. Приложение запрашивает у пользователя (один раз за старт программы или по
мере необходимости в случае ошибки) логин и пароль
b. Приложение передает на сервер в одном xml информацию по п.2б, 2с (формат см.
раздел 5)
c. Приложение получает подтверждение с сервера о том, что информация принята и
изменения данных.
d. Приложение передает на сервер по одной фотографии из раздела 2d.
4. Модель диалога (эскизы предоставляются \ оговариваются отдельно):
a. Окно входа \ синхронизации
b. Окно работы со списком объектов (список + поля поиска)
c. Окно заполнения информации о посещении объекта (до трех фото, текстовое поле
комментария + набор вопросов с ответами, выбираемыми из списка)
d. Окно параметров
e. Список посещенных объектов и некая информация о посещении
5. Формат XML обмена (здесь и далее значения и комментарии выделены, обычным
шрифтом показаны узлы и атрибуты).
Состав передаваемой информации от сервера можно укрупненно описать как
Список объектов ссылающийся на список акций (которые включают в себя список
вопросов к заполнению и названия фото), в свою очередь ссылающийся на словари,
которые содержат варианты ответы на вопросы. Иначе говоря при передаче с сервера
рассматриваются всего три информационных объекта (или таблицы в терминах баз
данных) – Объекты посещения, Акции, словари. При передаче на сервер существует
один объект – визит, в силу очевидных ограничений протокола http фото к этому
объекту передаются отдельной транзакцией.
Внимание, протокол обмена с сервером построен на передаче только изменяемых
данных, хотя программа может запросить (в крайнем случае или при начальном
обращении) все данные (см далее узел Q атрибут full).
Все списки (кроме словарей) передаются в формате (формат DATA – на него будем
ссылаться далее*)
<узел-списка>
<listformat> /* узел с описаниями полей, передается справочно, в программе не
используется, далее не рассматривается>
<c …>
</listformat>
<l id=”номер (id) объекта”> /* строка данных (объект к посещению или акция, значение
id используется для корректировки объекта (замены или удаления), для
использования в связях объекта */
<c nm=”имя-поля”><[[CDATA[ значение ]]></c> /* - значение поля «имя-поля» в строке l
*/
</l>
<d id=”id удаляемого объекта”> /* используется для удаления объекта из базы данных
КПК */
</узел-списка>
Более детально (лучше смотреть совместно с приложениями – здесь всё просто):
a. Запрос к серверу с передачей данных:
<Q /* Главный узел запроса */
login=”логин”
password=”password”
res=”разрешение устройства ”
pv=”версия-программы ”
full=”параметр, указывающий на то, что программа просит передать полный
список данных, а не только изменения. В этом случае данный атрибут
присутствует и его значение равно Y. При инициализации устройства (первом
обращении) данный параметр обязателен”>
<v /* Информация об одном визите, таких узлов может быть много в одном
запросе */
a1="номер ответа на вопрос 1, таких ответов может быть до 30, соответственно с
именами атрибутов a2, a2, a3 .. a30"
coordx="координата-долгота в формате 999.99999999999"
coordy="координата – широта в формате 999.999999999"
dt="дата визита в формате ДД.ММ.ГГГГ"
tf="время окончания визита в формате HH24MI (без точки!) например 1327"
ts="время начала визита в формате HH24MI (без точки!) например 1321"
id="id объекта из списка">
<vcomment>комментарий к посещению (визиту) </vcomment>
</v>
<locs> /* Значения координат при передвижении сотрудника с момента сбора
информации для последней удавшейся транзакции с сервером */
<l
x=" координата-долгота в формате 999.99999999999"
y=" координата-долгота в формате 999.99999999999"
u="время в миллисекундах от 01.01.1970 (обычное gettime() ) "/>
</locs>
</Q>
b. Ответ сервера
<answer
id="id контрольной точки (КТ) на которую потом КПК ссылается на подтверждении, в случае если
КТ подтверждена, то данные по ней не передаются (кроме, естественно запроса на полную
инициализацию)"
savepassword="можно ли устройству разрешить сохранять пароль. 1 – можно, 0 - нет"
res="зарезервировано для будущего использования"
gpstime="время в секундаъ через которое собирать координаты gps, 0 – не собирать вообще
(внимание! Это НЕ касается завершения визита – там отдельное указание!)">
<images/> /* зарезервировано для дальнейшего использования */
<outlets> /* узел для передачи списка точек для посещения в формате DATA( см. стр.2 и пример в
приложении (2) приведем состав полей которые используются в атрибуте nm узла c в данном
формате:
ouid – id точки, символьное
t – акция, cимвольное
re – сеть, символьное
addr – адрес, символьное
info – дополнительная информация, символьное (используется для указания расписания
посещения объекта, рассматривается отдельно, все алгоритмы и код для анализа данного поля на
java передаются)
lv – последний визит, дата в формате ДД.ММ.ГГ
plan – плановый визит, дата в формате ДД.ММ.ГГ
wid – ссылка на id акции (см. следующий узел типа DATA), число
*/
</outlets>
<actions> /*список акций, внимание – сюда ссылается объект из списков объектов для посещений.
Данный список непосредственно на экран не выводится. Отсюда используются данные для
формирования списка вопросов при обработке визита и названия и обязательность фото. Данный
список также представлен в формате DATA (см. стр 2 и пример в приложении 2 . Приведем состав
полей которые используются в атрибуте nm узла c в данном формате:
dt – дата акции, дата в формате ДД.ММ.ГГ
a – дата завершения акции, дата в формате ДД.ММ.ГГ
t – наименование акции, символьное
r – зарезервировано для будущего использования, число
c –комментарий к акции, символьное
wc – зарезервировано для будущего использования, число
fr – зарезервировано для будущего использования, число
ab – зарезервировано для будущего использования, число
mr – зарезервировано для будущего использования, число
dp – обязательность gps позиционирования при завершении визита (1,0, по умолчанию 1, число
ph1 – наименование фото 1, в случае если значение не пусто то фото 1 обязательно
ph2 – наименование фото 2, в случае если значение не пусто то фото 2 обязательно
ph3 – наименование фото 3, в случае если значение не пусто то фото 3 обязательно
qn1 – описание вопроса 1. Аналогично указывается описание для вопросов 2-30 (т.е. qn2..qn30).
Если присутствует, то вопрос 1 обязателен к заполнению. Описание указывается в виде idсловаря@@@наименование-вопроса (например, 18@@@есть ли в семье автомобиль ) . id
словаря- см следующий узел (lists / dict )
*/
<lists> / * узел словарей – внимание данный узел НЕ по формату DATA. Если отдельный словарь
(узел dict) замещается то он замещается целиком, а не отдельными строками \ значениями. /
<dict /* Узел отдельного словаря */
id=”id словаря, используется в описании вопроса к акции”
nm=”наименование словаря” >
<d /* одно значение в словаре */
id=”идентификатор значения. Используется в атрибуте a* при передаче данных об ответе на
вопрос в визите на сервер”
nm=”наименование значения в словаре. Используется при запросе ответа на экране” />
</dict>
</lists>
c. Подтверждение приема информации
<C
id=”контрольная точка из принятого ответа сервера (узел answer)”
login=”логин”
password=”password”
>
*/
Передача фотографий:
Фотографии передаются в виде input file=”” с именем файла равным f-id-объекта_датапосещения_номер-фото. Дата здесь в формате ДДММГГГГ. Пример: f3719_09112012_1.
Передача фотографий осуществляется по одной фото отдельными запросами после передачи
основной информации о посещении.
6. Тонкости реализации
6.1 На окне списка объектов посещения и на окне архива присутствуют критерии поиска (по
подменю или по кнопкам – не принципиально) по полям:
Дата визита (план) (с указанием «сегодня», «неделя», «месяц» и диапазон дат)
Адрес объекта – строка по контексту без учета регистра
Акция – строка по контексту или выбор из списка
6.2 Программа должна быть защищена от сбоев – т.е. сохранять все данные ( и промежуточные, в
т.ч. визиты не отправленные на сервер и частично заполненные визиты).
Приложение 1. Запрос к серверу (начальный):
Q login="[email protected] " password="8F3VJoZ7" res="854" pv="16.09.2014" full=”Y”> <locs /> </Q>
Приложение 2. Ответ сервера:
<answer id="8377" savepassword="1" res="0" gpstime="180">
<images/>
<outlets>
<listformat onclick="runoneoutlet">
<c nm="ouid" tp="S" h="id точки" p="10"/>
<c nm="t" tp="S" h="Акция" p="10"/>
<c nm="re" tp="S" h="Сеть" p="10"/>
<c nm="addr" tp="S" h="Адрес" p="30"/>
<c nm="info" tp="S" h="Дополнительно" p="20"/>
<c nm="lv" tp="A" h="Посл.визит" p="10"/>
<c nm="plan" tp="A" h="Сл.визит" p="10"/>
<c nm="wid" tp="N" h="UID" p="0" notable="Y"/>
</listformat>
<data>
<l id="279">
<c nm="ouid">
<![CDATA[ A238 ]]>
</c>
<c nm="t">
<![CDATA[ Проверка промоутера ]]>
</c>
<c nm="re">
<![CDATA[ MTS ]]>
</c>
<c nm="addr">
<![CDATA[ Москва г,Профсоюзная улица,56 ]]>
</c>
<c nm="info">
<![CDATA[ Неделя;3 визитов;ср четв пят ]]>
</c>
<c nm="lv">
<![CDATA[ 14.02.15 ]]>
</c>
<c nm="plan">
<![CDATA[ 18.02.15 ]]>
</c>
<c nm="wid">
<![CDATA[ 68392 ]]>
</c>
</l>
<l id="282">
<c nm="ouid">
<![CDATA[ A543 ]]>
</c>
<c nm="t">
<![CDATA[ Проверка промоутера ]]>
</c>
<c nm="re">
<![CDATA[ MTS ]]>
</c>
<c nm="addr">
<![CDATA[ Москва г,Профсоюзная улица,129а ]]>
</c>
<c nm="info">
<![CDATA[ Неделя;3 визитов;ср четв пят ]]>
</c>
<c nm="lv">
<![CDATA[ 24.09.14 ]]>
</c>
<c nm="plan">
<![CDATA[ 18.02.15 ]]>
</c>
<c nm="wid">
<![CDATA[ 68392 ]]>
</c>
</l>
<l id="290">
<c nm="ouid">
<![CDATA[ RUS77-01-997 ]]>
</c>
<c nm="t">
<![CDATA[ Аудит МС ]]>
</c>
<c nm="re">
<![CDATA[ Евросеть ]]>
</c>
<c nm="addr">
<![CDATA[ Москва г,Тверская улица,4 ]]>
</c>
<c nm="info">
<![CDATA[ Месяц;2 визитов; ]]>
</c>
<c nm="lv">
<![CDATA[ 29.09.14 ]]>
</c>
<c nm="plan">
<![CDATA[ 01.02.15 ]]>
</c>
<c nm="wid">
<![CDATA[ 72329 ]]>
</c>
</l>
<l id="286">
<c nm="ouid">
<![CDATA[ MW97 ]]>
</c>
<c nm="t">
<![CDATA[ Аудит МС ]]>
</c>
<c nm="re">
<![CDATA[ Ф-Центр ]]>
</c>
<c nm="addr">
<![CDATA[ Москва г,Сухонская улица,7 ]]>
</c>
<c nm="info">
<![CDATA[ Неделя;2 визитов;ср пят ]]>
</c>
<c nm="lv">
<![CDATA[ 24.09.14 ]]>
</c>
<c nm="plan">
<![CDATA[ 13.02.15 ]]>
</c>
<c nm="wid">
<![CDATA[ 72329 ]]>
</c>
</l>
<l id="292">
<c nm="ouid">
<![CDATA[ RUS77-01-898 ]]>
</c>
<c nm="t">
<![CDATA[ Аудит МС ]]>
</c>
<c nm="re">
<![CDATA[ Юлмарт ]]>
</c>
<c nm="addr">
<![CDATA[ Москва г,Профсоюзная улица,154 ]]>
</c>
<c nm="info">
<![CDATA[ Месяц;2 визитов; ]]>
</c>
<c nm="lv">
<![CDATA[ 25.09.14 ]]>
</c>
<c nm="plan">
<![CDATA[ 01.02.15 ]]>
</c>
<c nm="wid">
<![CDATA[ 72329 ]]>
</c>
</l>
<l id="280">
<c nm="ouid">
<![CDATA[ Объект N 27 ]]>
</c>
<c nm="t">
<![CDATA[ Проверка промоутера ]]>
</c>
<c nm="re">
<![CDATA[ М-видео ]]>
</c>
<c nm="addr">
<![CDATA[ Москва г,Зеленодольская улица,40 ]]>
</c>
<c nm="info">
<![CDATA[ Неделя;3 визитов;ср четв пят ]]>
</c>
<c nm="lv">
<![CDATA[ 28.01.15 ]]>
</c>
<c nm="plan">
<![CDATA[ 18.02.15 ]]>
</c>
<c nm="wid">
<![CDATA[ 68392 ]]>
</c>
</l>
<l id="289">
<c nm="ouid">
<![CDATA[ RUS77-01-529 ]]>
</c>
<c nm="t">
<![CDATA[ Аудит МС ]]>
</c>
<c nm="re">
<![CDATA[ М-видео ]]>
</c>
<c nm="addr">
<![CDATA[ ]]>
</c>
<c nm="info">
<![CDATA[ Неделя;1 визитов;пон ср четв пят ]]>
</c>
<c nm="lv">
<![CDATA[ ]]>
</c>
<c nm="plan">
<![CDATA[ 13.02.15 ]]>
</c>
<c nm="wid">
<![CDATA[ 72329 ]]>
</c>
</l>
<l id="287">
<c nm="ouid">
<![CDATA[ RUS77-01-821 ]]>
</c>
<c nm="t">
<![CDATA[ Аудит МС ]]>
</c>
<c nm="re">
<![CDATA[ Техносила ]]>
</c>
<c nm="addr">
<![CDATA[ Москва г,Монтажная улица,7 стр.2 ]]>
</c>
<c nm="info">
<![CDATA[ Неделя;2 визитов;пон ср четв пят ]]>
</c>
<c nm="lv">
<![CDATA[ 23.10.14 ]]>
</c>
<c nm="plan">
<![CDATA[ 13.02.15 ]]>
</c>
<c nm="wid">
<![CDATA[ 72329 ]]>
</c>
</l>
<l id="288">
<c nm="ouid">
<![CDATA[ RUS77-01-813 ]]>
</c>
<c nm="t">
<![CDATA[ Аудит МС ]]>
</c>
<c nm="re">
<![CDATA[ Техносила ]]>
</c>
<c nm="addr">
<![CDATA[ Москва г,Ореховый бульвар,3 ]]>
</c>
<c nm="info">
<![CDATA[ Неделя;1 визитов;пон ср четв пят ]]>
</c>
<c nm="lv">
<![CDATA[ 07.10.14 ]]>
</c>
<c nm="plan">
<![CDATA[ 13.02.15 ]]>
</c>
<c nm="wid">
<![CDATA[ 72329 ]]>
</c>
</l>
<l id="291">
<c nm="ouid">
<![CDATA[ RUS77-01-953 ]]>
</c>
<c nm="t">
<![CDATA[ Аудит МС ]]>
</c>
<c nm="re">
<![CDATA[ DNS ]]>
</c>
<c nm="addr">
<![CDATA[ Москва г,Кировоградская улица,9 ]]>
</c>
<c nm="info">
<![CDATA[ Месяц;2 визитов; ]]>
</c>
<c nm="lv">
<![CDATA[ 25.09.14 ]]>
</c>
<c nm="plan">
<![CDATA[ 01.02.15 ]]>
</c>
<c nm="wid">
<![CDATA[ 72329 ]]>
</c>
</l>
</data>
</outlets>
<actions>
<listformat>
<c nm="dt" tp="A" h="Дата задачи" p="8"/>
<c nm="a" tp="A" h="Актуально до" p="8"/>
<c nm="t" tp="S" h="Задача" p="15"/>
<c nm="r" tp="N" h="Время резерва" p="5"/>
<c nm="c" tp="S" h="Комментарий" p="15"/>
<c nm="wc" tp="N" h="С подтверждением" p="5"/>
<c nm="fr" tp="N" h="Штраф за ложное резервирование" p="5"/>
<c nm="ab" tp="N" h="С дополнительными баллами за качество" p="5"/>
<c nm="mr" tp="N" h="Максимальное количество повторных резервирований" p="5"/>
<c nm="gp" tp="N" h="С обязательным позиционированием" p="5"/>
<c nm="ph1" tp="S" h="Фото 1" p="15"/>
<c nm="ph2" tp="S" h="Фото 2" p="15"/>
<c nm="ph3" tp="S" h="Фото 3" p="15"/>
<c nm="qn1" tp="F" h="Вопрос 1" p="15"/>
<c nm="qn2" tp="F" h="Вопрос 2" p="15"/>
<c nm="qn3" tp="F" h="Вопрос 3" p="15"/>
<c nm="qn4" tp="F" h="Вопрос 4" p="15"/>
<c nm="qn5" tp="F" h="Вопрос 5" p="15"/>
<c nm="qn6" tp="F" h="Вопрос 6" p="15"/>
<c nm="qn7" tp="F" h="Вопрос 7" p="15"/>
<c nm="qn8" tp="F" h="Вопрос 8" p="15"/>
<c nm="qn9" tp="F" h="Вопрос 9" p="15"/>
<c nm="qn10" tp="F" h="Вопрос 10" p="15"/>
<c nm="qn11" tp="F" h="Вопрос 11" p="15"/>
<c nm="qn12" tp="F" h="Вопрос 12" p="15"/>
<c nm="qn13" tp="F" h="Вопрос 13" p="15"/>
<c nm="qn14" tp="F" h="Вопрос 14" p="15"/>
<c nm="qn15" tp="F" h="Вопрос 15" p="15"/>
<c nm="qn16" tp="F" h="Вопрос 16" p="15"/>
<c nm="qn17" tp="F" h="Вопрос 17" p="15"/>
<c nm="qn18" tp="F" h="Вопрос 18" p="15"/>
<c nm="qn19" tp="F" h="Вопрос 19" p="15"/>
<c nm="qn20" tp="F" h="Вопрос 20" p="15"/>
<c nm="qn21" tp="F" h="Вопрос 21" p="15"/>
<c nm="qn22" tp="F" h="Вопрос 22" p="15"/>
<c nm="qn23" tp="F" h="Вопрос 23" p="15"/>
<c nm="qn24" tp="F" h="Вопрос 24" p="15"/>
<c nm="qn25" tp="F" h="Вопрос 25" p="15"/>
<c nm="qn26" tp="F" h="Вопрос 26" p="15"/>
<c nm="qn27" tp="F" h="Вопрос 27" p="15"/>
<c nm="qn28" tp="F" h="Вопрос 28" p="15"/>
<c nm="qn29" tp="F" h="Вопрос 29" p="15"/>
<c nm="qn30" tp="F" h="Вопрос 30" p="15"/>
</listformat>
<data>
<l id="68392">
<c nm="dt">
<![CDATA[ 15.09.14 ]]>
</c>
<c nm="a">
<![CDATA[ ]]>
</c>
<c nm="t">
<![CDATA[ Проверка промоутера ]]>
</c>
<c nm="r">
<![CDATA[ ]]>
</c>
<c nm="c">
<![CDATA[ ]]>
</c>
<c nm="wc">
<![CDATA[ ]]>
</c>
<c nm="fr">
<![CDATA[ ]]>
</c>
<c nm="ab">
<![CDATA[ ]]>
</c>
<c nm="mr">
<![CDATA[ ]]>
</c>
<c nm="gp">
<![CDATA[ ]]>
</c>
<c nm="ph1">
<![CDATA[ Вход в ТТ ]]>
</c>
<c nm="ph2">
<![CDATA[ Промоутер за работой ]]>
</c>
<c nm="ph3">
<![CDATA[ Промо-стойка ]]>
</c>
<c nm="qn1">
<![CDATA[ 28@@@Промоутер на месте? ]]>
</c>
<c nm="qn2">
<![CDATA[ 28@@@В ТТ есть промо-стойка? ]]>
</c>
<c nm="qn3">
<![CDATA[ 28@@@Промоутер в форме? ]]>
</c>
<c nm="qn4">
<![CDATA[ 20008@@@Промоутер поддерживает беседу? ]]>
</c>
<c nm="qn5">
<![CDATA[ 20008@@@Продолжительность беседы ]]>
</c>
<c nm="qn6">
<![CDATA[ 20007@@@Корректность ]]>
</c>
<c nm="qn7">
<![CDATA[ 20008@@@Тестовый вопрос 1 ]]>
</c>
<c nm="qn8">
<![CDATA[ 20007@@@Тестовый вопрос 2 ]]>
</c>
<c nm="qn9">
<![CDATA[ 28@@@Тестовый вопрос 3 ]]>
</c>
<c nm="qn10">
<![CDATA[ 20008@@@Тестовый вопрос 4 ]]>
</c>
<c nm="qn11">
<![CDATA[ 20007@@@Тестовый вопрос 5 ]]>
</c>
<c nm="qn12">
<![CDATA[ 28@@@Тестовый вопрос 6 ]]>
</c>
<c nm="qn13">
<![CDATA[ 20005@@@Тестовый вопрос 7 ]]>
</c>
<c nm="qn14">
<![CDATA[ 20008@@@Тестовый вопрос 8 ]]>
</c>
<c nm="qn15">
<![CDATA[ 20008@@@Тестовый вопрос 9 ]]>
</c>
<c nm="qn16">
<![CDATA[ 28@@@Тестовый вопрос 10 ]]>
</c>
<c nm="qn17">
<![CDATA[ 28@@@Тестовый вопрос 11 ]]>
</c>
<c nm="qn18">
<![CDATA[ ]]>
</c>
<c nm="qn19">
<![CDATA[ ]]>
</c>
<c nm="qn20">
<![CDATA[ ]]>
</c>
<c nm="qn21">
<![CDATA[ ]]>
</c>
<c nm="qn22">
<![CDATA[ ]]>
</c>
<c nm="qn23">
<![CDATA[ ]]>
</c>
<c nm="qn24">
<![CDATA[ ]]>
</c>
<c nm="qn25">
<![CDATA[ ]]>
</c>
<c nm="qn26">
<![CDATA[ ]]>
</c>
<c nm="qn27">
<![CDATA[ ]]>
</c>
<c nm="qn28">
<![CDATA[ ]]>
</c>
<c nm="qn29">
<![CDATA[ ]]>
</c>
<c nm="qn30">
<![CDATA[ ]]>
</c>
</l>
<l id="72329">
<c nm="dt">
<![CDATA[ 22.09.14 ]]>
</c>
<c nm="a">
<![CDATA[ ]]>
</c>
<c nm="t">
<![CDATA[ Аудит МС ]]>
</c>
<c nm="r">
<![CDATA[ ]]>
</c>
<c nm="c">
<![CDATA[ ]]>
</c>
<c nm="wc">
<![CDATA[ ]]>
</c>
<c nm="fr">
<![CDATA[ ]]>
</c>
<c nm="ab">
<![CDATA[ ]]>
</c>
<c nm="mr">
<![CDATA[ ]]>
</c>
<c nm="gp">
<![CDATA[ ]]>
</c>
<c nm="ph1">
<![CDATA[ прикассовая зона ]]>
</c>
<c nm="ph2">
<![CDATA[ основной стеллаж ]]>
</c>
<c nm="ph3">
<![CDATA[ доп.место ]]>
</c>
<c nm="qn1">
<![CDATA[ 28@@@SKU1 наличие ]]>
</c>
<c nm="qn2">
<![CDATA[ 28@@@SKU2 наличие ]]>
</c>
<c nm="qn3">
<![CDATA[ 28@@@SKU3 наличие ]]>
</c>
<c nm="qn4">
<![CDATA[ ]]>
</c>
<c nm="qn5">
<![CDATA[ ]]>
</c>
<c nm="qn6">
<![CDATA[ ]]>
</c>
<c nm="qn7">
<![CDATA[ ]]>
</c>
<c nm="qn8">
<![CDATA[ ]]>
</c>
<c nm="qn9">
<![CDATA[ ]]>
</c>
<c nm="qn10">
<![CDATA[ ]]>
</c>
<c nm="qn11">
<![CDATA[ ]]>
</c>
<c nm="qn12">
<![CDATA[ ]]>
</c>
<c nm="qn13">
<![CDATA[ ]]>
</c>
<c nm="qn14">
<![CDATA[ ]]>
</c>
<c nm="qn15">
<![CDATA[ ]]>
</c>
<c nm="qn16">
<![CDATA[ ]]>
</c>
<c nm="qn17">
<![CDATA[ ]]>
</c>
<c nm="qn18">
<![CDATA[ ]]>
</c>
<c nm="qn19">
<![CDATA[ ]]>
</c>
<c nm="qn20">
<![CDATA[ ]]>
</c>
<c nm="qn21">
<![CDATA[ ]]>
</c>
<c nm="qn22">
<![CDATA[ ]]>
</c>
<c nm="qn23">
<![CDATA[ ]]>
</c>
<c nm="qn24">
<![CDATA[ ]]>
</c>
<c nm="qn25">
<![CDATA[ ]]>
</c>
<c nm="qn26">
<![CDATA[ ]]>
</c>
<c nm="qn27">
<![CDATA[ ]]>
</c>
<c nm="qn28">
<![CDATA[ ]]>
</c>
<c nm="qn29">
<![CDATA[ ]]>
</c>
<c nm="qn30">
<![CDATA[ ]]>
</c>
</l>
</data>
</actions>
<lists>
<dict id="20005" nm="Статус визита">
<d id="32604" nm="Другой профиль ТТ"></d>
<d id="32601" nm="Проверка успешна"></d>
<d id="32602" nm="ТТ закрыта"></d>
<d id="32603" nm="ТТ переехала, проверка по новому адресу"></d>
</dict>
<dict id="28" nm="Просто да или нет">
<d id="2801" nm="Да"></d>
<d id="2802" nm="Нет"></d>
</dict>
<dict id="20007" nm="Шкала отношения (отлично/очень плохо)">
<d id="32727" nm="1) отлично"></d>
<d id="32728" nm="2) хорошо"></d>
<d id="32729" nm="3) средне"></d>
<d id="32730" nm="4) плохо"></d>
<d id="32731" nm="5) очень плохо"></d>
</dict>
<dict id="20008" nm="Числа 1-10">
<d id="32738" nm="1"></d>
<d id="32747" nm="10"></d>
<d id="32739" nm="2"></d>
<d id="32740" nm="3"></d>
<d id="32741" nm="4"></d>
<d id="32742" nm="5"></d>
<d id="32743" nm="6"></d>
<d id="32744" nm="7"></d>
<d id="32745" nm="8"></d>
<d id="32746" nm="9"></d>
</dict>
</lists>
</answer>
Приложение 3. Обращение с заполненными данными о визите
<Q login="[email protected]" password="xxxxxx" res="800" pv="16.09.2014">
<v a1="2801" a10="32727" a11="2801" a12="2802" a13="32601" a14="32747" a15="32728"
a16="32728" a17="2802" a18="32604" a19="32739" a2="2801" a20="2801" a21="32601" a22="32729"
a23="32740" a24="2802" a25="2801" a26="2801" a27="2802" a28="32604" a29="2802" a3="32747"
a30="2802" a4="32604" a5="32738" a6="32727" a7="2801" a8="32604" a9="32747"
coordx="37.4903203" coordy="55.8047847" dt="17.02.2015" tf="1152" ts="1148" id="530">
<vcomment></vcomment> <status>0</status> </v> <locs > <l a="network" x="37.4903214"
y="55.8048082" u="1424159273"/> <l a="network" x="37.4903133" y="55.8047006" u="1424159304"/>
<l a="network" x="37.4902959" y="55.8047992" u="1424159334"/> <l a="network" x="37.4902859"
y="55.8048017" u="1424159390"/> <l a="network" x="37.4903191" y="55.8048011" u="1424159394"/>
<l a="network" x="37.490271" y="55.8047836" u="1424159424"/> <l a="network" x="37.4903282"
y="55.8048238" u="1424159455"/> <l a="network" x="37.4903254" y="55.8047894" u="1424159485"/>
<l a="network" x="37.4903203" y="55.8047847" u="1424159515"/> </locs> </Q>
1/--страниц
Пожаловаться на содержимое документа