SAS.Wiki

Веб-картография и навигация

Инструменты пользователя

Инструменты сайта


1c_и_sas.планета

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

1c_и_sas.планета [29/05/2011 14:36]
93.91.4.251
1c_и_sas.планета [01/10/2014 03:29] (текущий)
178.186.200.242
Строка 1: Строка 1:
-В данной статье рассматривается примеи организация связи между программами 1С и SAS.Планета.+В данной статье рассматривается пример организация связи между программами 1С и SAS.Планета.
  
 Типичной задачей,​ где нужны карты, является работа логиста по планированию развоза. Типичной задачей,​ где нужны карты, является работа логиста по планированию развоза.
Строка 16: Строка 16:
 Обращение к БД реализуется по-разному,​ в зависимости того, в каком режиме используется 1С - файловом или серверном. Обращение к БД реализуется по-разному,​ в зависимости того, в каком режиме используется 1С - файловом или серверном.
 При __использовании 1C в файловом варианте__ необходима выгрузка информации на сервер БД. (Есть еще вариант с веб-компонентой,​ его рассмотрим в другой раз). ​ При __использовании 1C в файловом варианте__ необходима выгрузка информации на сервер БД. (Есть еще вариант с веб-компонентой,​ его рассмотрим в другой раз). ​
-Пример выгрузки денных из конфигурации Управление торговлей,​ ред 10.3+Пример выгрузки данных из конфигурации Управление торговлей,​ ред 10.3
  
 **1**. Установите у себя пример базы данных в соответствие с [[:​отображение_на_карте_произвольной_информации_точек_картинок_и_т.п._из_базы_данных|инструкцией]] **1**. Установите у себя пример базы данных в соответствие с [[:​отображение_на_карте_произвольной_информации_точек_картинок_и_т.п._из_базы_данных|инструкцией]]
Строка 22: Строка 22:
 **2**. Установите [[http://​www.mysql.com/​downloads/​connector/​odbc/​|MySQL ODBC Connector 5.1]] **2**. Установите [[http://​www.mysql.com/​downloads/​connector/​odbc/​|MySQL ODBC Connector 5.1]]
  
-**3**. Скачайте обработку выгрузки:​ Выгрузка в САС.epf+**3**. Скачайте обработку выгрузки: ​{{:​sas_and_1c:​vygruzka_v_sas.zip|Выгрузка в САС}}
  
 **4**. Откройте обработку в режиме "​1С:​Предприятие"​. (Я использовал "​демонстрационную"​ базу "​Управление торговлей"​). **4**. Откройте обработку в режиме "​1С:​Предприятие"​. (Я использовал "​демонстрационную"​ базу "​Управление торговлей"​).
Строка 28: Строка 28:
 Основная форма обработки:​ Основная форма обработки:​
  
-{{:playground:​sas_and_1c:​vygruzka_epf.png|}}+{{:​sas_and_1c:​vygruzka_epf.png|}}
  
-**1**. Нажмите кнопку "​Добавить ​характеристики". После этого для справочника "​Контрагенты"​ будут добавлены дополнительные свойства:​+**1**. Нажмите кнопку "​Добавить ​свойства". После этого для справочника "​Контрагенты"​ будут добавлены дополнительные свойства:​
  
-{{:playground:​sas_and_1c:​svoistva.png|}}+{{:​sas_and_1c:​svoistva.png|}}
  
 //​Широта//,​ //​Долгота//​ - географические координаты. ВНИМАНИЕ:​ поскольку в конфигурации "​Управление Торговлей ред. 10.3" для дополнительных свойств типа число всегда установлена точность 15.3, то десятичная точка в координатах сдвинута на 6 знаков вправо. Вместо 55.123456 вводим 55123456. //​Широта//,​ //​Долгота//​ - географические координаты. ВНИМАНИЕ:​ поскольку в конфигурации "​Управление Торговлей ред. 10.3" для дополнительных свойств типа число всегда установлена точность 15.3, то десятичная точка в координатах сдвинута на 6 знаков вправо. Вместо 55.123456 вводим 55123456.
Строка 39: Строка 39:
 //​Комментарий//​ - строка,​ до 50 символов. //​Комментарий//​ - строка,​ до 50 символов.
  
-//​Иконка//​ - название файла с иконкой. В демо-примере есть следующие файлы: (7k.png, auchan.png. metro.png. x5.png, ​tande.png, victoria.png,​ sweetlife.png,​ spar.png). Если иконка не задана,​ или такого файле нет, то используется иконка noicon.png+//​Иконка//​ - название файла с иконкой. В демо-примере есть следующие файлы: (7k.png, auchan.png. metro.png. x5.png, ​tander.png, victoria.png,​ sweetlife.png,​ spar.png). Если иконка не задана,​ или такого файле нет, то используется иконка noicon.png
  
 //​Раскраска//​ - цвет комментария,​ указывается число в интервале 0-19 //​Раскраска//​ - цвет комментария,​ указывается число в интервале 0-19
Строка 51: Строка 51:
 **5**. Обновите слои с точками в SAS.Планете (Масштаб увеличить - подождать 4 секунды - масштаб уменьшить). **5**. Обновите слои с точками в SAS.Планете (Масштаб увеличить - подождать 4 секунды - масштаб уменьшить).
  
-Более удобен для работы c SAS.Планета __серверный вариант использования 1С__. То есть сервер уже есть и можно читать информацию можно непосредственно из БД1С, не заводя промежуточной базы Благодаря этом на карте будет всегда актуальная информация,​ причем никаких действий со стороны 1С выполнять не потребуется.+Более удобен для работы c SAS.Планета __серверный вариант использования 1С__. То есть сервер уже есть и можно читать информацию можно непосредственно из БД 1С, не заводя промежуточной базыБлагодаря этом на карте будет всегда актуальная информация,​ причем никаких действий со стороны 1С выполнять не потребуется.
  
 1С 8 версии может работать с различными серверами БД, однако наиболее широкое распространение получила связка 1С + MS SQL, а в качестве операционной системы - Windows Server различных версий. 1С 8 версии может работать с различными серверами БД, однако наиболее широкое распространение получила связка 1С + MS SQL, а в качестве операционной системы - Windows Server различных версий.
Строка 58: Строка 58:
 <​code>​extension=php_mssql.dll</​code>​ <​code>​extension=php_mssql.dll</​code>​
 в разделе extensions файла php.ini в разделе extensions файла php.ini
-А также из каталога windows\system32 MSSQL сервера взять файл ntwdblib.dll и скопировать его в соответствующий каталог сервера,​ где стоит Apache (и еще можно в каталог PHP). Если этого не сделать,​ то в логе Апача будет сообщение о проблемах в модуле mssql и ни слова об отсутствующей dll ке.+А также из каталога windows\system32 MSSQL сервера взять файл ntwdblib.dll и скопировать его в соответствующий каталог сервера,​ где стоит Apache (и еще можно в каталог PHP). Если этого не сделать,​ то в логе Апача будет сообщение о проблемах в модуле mssql и ни слова об отсутствующей dll'ке.
 Функции PHP для работы с MSSQL аналогичны функциям для работы с MySQL. Функции PHP для работы с MSSQL аналогичны функциям для работы с MySQL.
  
 Осталось найти нужные поля в SQL базе 1С. Дело в том, что 1С встроенными средствами названия полей не показывает. Проще всего будет воспользоваться готовой обработкой,​ например:​ Осталось найти нужные поля в SQL базе 1С. Дело в том, что 1С встроенными средствами названия полей не показывает. Проще всего будет воспользоваться готовой обработкой,​ например:​
 +http://​ocvita.ru/​content/​view/​81/​
 (совсем простая) (совсем простая)
 или или
Строка 111: Строка 111:
 </​code>​ </​code>​
  
-Необходимо иметь в виду, что идентификаторы таблиц и полей в 1С не являются постоянным,​ т.е. если выгрузить конфиграцию,​ где добавлены таблицы/​поля (не всю БД) из одной базы и загрузить в другую,​ то эти добавленные таблицы/​поля могут получить уже другие идентификаторы.+Необходимо иметь в виду, что идентификаторы таблиц и полей в 1С не являются постоянным,​ т.е. если выгрузить конфигурацию, где добавлены таблицы/​поля (не всю БД) из одной базы и загрузить в другую,​ то эти добавленные таблицы/​поля могут получить уже другие идентификаторы.
  
-Поскольку в наиболее распространенных типовых конфигурациях 1С готовых полей для хранения координат нет, уже настроенный скрипт привести не могу. Но надеюсь,​ что на основании изложенного здесь принципа и примера скрипта ​тут, который можно взять за основу написать скрипт под конкретную базу 1С проблем не составит.+Поскольку в наиболее распространенных типовых конфигурациях 1С готовых полей для хранения координат нет, уже настроенный скрипт привести не могу. Но надеюсь,​ что на основании изложенного здесь принципа и вышеуказанного ​примера скрипта,​ который можно взять за основу написать скрипт под конкретную базу 1С проблем не составит.
  
 Что мы получаем на выходе Что мы получаем на выходе
Строка 120: Строка 120:
  
 **1**. Возможность использования для каждого места лучшей карты **1**. Возможность использования для каждого места лучшей карты
-Преимущество использования программы SASПланета в данном случае в том. что мы не привязаны к какой-либо конкретной карте. И чем дальше от столицы,​ тем это важнее. Ведь качество наиболее популярных в интернете карт, обратно пропорционально удалению от Москвы. Если уж на часто используемой карты от Google канал им. Москвы (а это, прямо скажем,​ не деревенская улица и даже не МКАД) заканчивается у платформы Морозки+Преимущество использования программы SAS.Планета в данном случае в том. что мы не привязаны к какой-либо конкретной карте. И чем дальше от столицы,​ тем это важнее. Ведь качество наиболее популярных в интернете карт, обратно пропорционально удалению от Москвы. Если уж на часто используемой карты от Google канал им. Москвы (а это, прямо скажем,​ не деревенская улица и даже не МКАД) заканчивается у платформы Морозки
  
-{{:playground:​sas_and_1c:​moscowchannel.png?​442}}+{{:​sas_and_1c:​moscowchannel.png?​442}}
  
 То говорить о каком-либо качестве карт километров хотя бы за 100 от столицы уже не приходится. То говорить о каком-либо качестве карт километров хотя бы за 100 от столицы уже не приходится.
Строка 128: Строка 128:
 **2**. Полный контроль над формируемой картой (слоем). Например в ситуации:​ что делать,​ когда точек в тайле слишком много. Если выводить все, то имеем мешанину:​ **2**. Полный контроль над формируемой картой (слоем). Например в ситуации:​ что делать,​ когда точек в тайле слишком много. Если выводить все, то имеем мешанину:​
  
-{{:playground:​sas_and_1c:​overplaced.png?​442}}+{{:​sas_and_1c:​overplaced.png?​442}}
  
 На мой взгляд,​ это неудобно. На мой взгляд,​ это неудобно.
  
-Другой вариант,​ который применяется например в слое Panoramio - выводить часть точек. Но он тоже не дает полной картины. Поэтому я лично в таком случае просто вывожу сообщение и большом количестве объектов в тайле:+Другой вариант,​ который применяется например в слое Panoramio - выводить часть точек. Но он тоже не дает полной картины. 
 + 
 +Поэтому я лично в таком случае просто вывожу сообщение и большом количестве объектов в тайле:
  
-{{:playground:​sas_and_1c:​many_objects.png?​442}}+{{:​sas_and_1c:​many_objects.png?​442}}
  
-**3**. Возможность автономной (без интернета) работы (благодаря умению SAS Планеты работать с кэшем)+**3**. Возможность автономной (без интернета) работы (благодаря умению SAS.Планеты работать с кэшем)