Отправляет email-рассылки с помощью сервиса Sendsay

1С и электронная коммерция

  Все выпуски  

1С и электронная коммерция Взаимодействие через OLE - 2 часть.


Информационный Канал Subscribe.Ru



1С и электронная коммерция    Рассылка сайта MAGs RU

Информационно-аналитический бюллетень. Проект компании "Online System Group"
Информационный источник: "Каталог ресурсов e-commerce" 
12.08.2005

Взаимодействие через OLE - 2 часть.

Пример 2. Доступ к объектам базы OLE.

Запомните на будущее как непреложный факт:

  1. Из местной базы в базу OLE (и, соответственно, наоборот) напрямую методом присвоения можно перенести только числовые значения, даты и строки ограниченной длины!!! Т.е. местная база поймет прекрасно без дополнительных алгоритмов преобразования полученного значения только указанные типы значений. Кроме того, под ограничением строк подразумевается проблемы с пониманием в местной базе реквизитов объектов базы OLE типа "Строка неограниченной длины". К этому же еще надо добавить и периодические реквизиты. Естественно, под методом присвоения подразумеваются и попытки сравнить объекты разных баз в одном условии (например, в алгоритмах "Если" или "Пока" и т.п.).
  2. Есть проблемы при попытке перенести "пустую" дату - OLE может ее конвертировать, например, в 31.12.1899 года и т.п. Поэтому вам лучше заранее выяснить те значения, которые могут появится в местной базе при переносе "пустых" дат, чтобы предусмотреть условия преобразования их в местной базе.

A) Доступ к константам базы OLE:

ЗначениеКонстантыOLE = БазаОле.Константа.ДатаЗапретаРедактирования;

Б) Доступ к справочникам и документам базы OLE (через функцию "CreateObject"):

СпрOLE = БазаОле.CreateObject("Справочник.Фирмы"); // "СоздатьОбъект" в OLE не работает!
ДокOLE = БазаОле.CreateObject("Документ.РасходнаяНакладная");

После создания объекта справочника или документа к ним применимы все методы, касающиеся таких объектов в 1С:

СпрОле.ВыбратьЭлементы();
Пока
 СпрОле.ПолучитьЭлемент()=1 Цикл
    Сообщить(Спр.Наименование);
КонецЦикла;

Заметьте, что если вместо "Сообщить(Спр.Наименование)" вы укажете "Сообщить(Спр.ТекущийЭлемент())", то вместо строкового/числового представления этого элемента программа выдаст вам в окошке сообщение "OLE". Именно это я и имел в виду, когда говорил, что напрямую мало что можно перенести. Т.е. не будут работать следующие методы (ошибки 1С не будет, но и результат работы будет нулевой). Рассмотрим следующий пример:

СпрOLE = БазаОле.CreateObject("Справочник.Фирмы");  // это справочник в базе OLE
Док = СоздатьОбъект("Документ.РасходнаяНакладная"); // а это документ в местной базе
Док.Новый();                                        // создаем новый документ в местной базе
СпрOLE.НайтиПоКоду(1,0);                  // спозиционируем в базе OLE
                                                           // на фирме с кодом "1".
Док.Фирма = СпрOLE.ТекущийЭлемент(); // такой метод не сработает, т.к. справа от "=" стоит
                                                                // объект не местной базы, и местная база 1С его не понимает!

Однако,  сработает следующий метод:

Спр = СоздатьОбъект("Справочник.Фирмы");                   // создаем объект справочника местной базы
Спр.НайтиПоНаименованию(СпрОле.Наименование,0,0); // Или Спр.найтиПоКоду(СпрОле.Код,0);
                                                         // т.е. СпрОле.Код и Спр.наименование
                                                         // являются обычными числовыми/строковыми
                                                         // значениями, которые понимает местная база!
Док.Фирма = Спр.ТекущийЭлемент(); // Вот теперь все в порядке, т.к. с обоих сторон метода
                                                          // стоят объекты только местной базы!

Отсюда вывод: возможность доступа к объектам базы 1С через OLE требуется, в основном, только для определенной задачи - получить доступ к реквизитам определенного элемента справочника или документа. Однако, не забываем, что объекты базы OLE поддерживают все методы работы с ними, в т.ч. и "Новый()", т.е. приведем пример противоположный предыдущему:

ДокОле = CreateObject("Документ.РасходнаяНакладная"); // Создаем документ в базе OLE
ДокОле.Новый();
Спр = СоздатьОбъект("Справочник.Фирмы"); // В местной базе получаем доступ к справочнику
Спр.НайтиПоКоду(1,0);                                  // Находим в местной базе фирму с кодом 1 (если есть)
ДокОле.Фирма = Спр.ТекущийЭлемент();      // такой метод не сработает

Однако,  сработает следующий метод:

СпрОле = БазаОле.CreateObject("Справочник.Фирмы"); // создаем объект справочника базы OLE
СпрОле.НайтиПоНаименованию(Спр.Наименование,0,0);  // Или СпрОле.найтиПоКоду(Спр.Код,0);
// т.е. Спр.Код и Спр.Наименование являются обычными числовыми/строковыми значениями,
// которые понимает база OLE!
ДокОле.Фирма = СпрОле.ТекущийЭлемент(); // Вот теперь все в порядке, т.к. с обоих сторон
                                                                     // метода стоят объекты базы OLE!
ДокОле.Записать();                                        // запишем документ в базе OLE
Если ДокОле.Провести()=0 тогда
     Сообщить("Не смогли провести документ!");
КонецЕсли;

В) Доступ к регистрам базы OLE (Не сложнее справочников и документов):

РегОле=БазаOLE.CreateObject("Регистр.ОстаткиТоваров");
РегОле.ВыбратьИтоги();
Пока
 РегОле.ПолучитьИтог()=1 Цикл // Не забываем, что надо указывать наименование!
     Сообщить("Остаток для " + РегОле.Товар.Наименование+ " на складе " +
     РегОле.Склад.Наименование + " равен " + РегОле.ОстатокТовара);
КонецЦикла;

Г) Доступ к перечислениям базы OLE (аналогичен константе):

ЗначениеПеречисленияOLE = БазаОле.Перечисление.Булево.НеЗнаю; // :)

Заметьте, что пользы для местной базы от переменной "ЗначениеПеречисленияOLE" особо-то и нет, ведь подобно справочнику и документу перечисление также напрямую недоступно для местной базы. Пожалуй, пример работы с ними может быть следующим (в качестве параметра условия):

СмотретьТолькоВозвратыПоставщикам = 1;      // предположим, что это - флажок в форме диалога,
                                                                        // который мы либо устанавливаем, либо снимаем
ДокОле = БазаОле.CreateObject("Документ.РасходнаяНакладная");
ДокОле.ВыбратьДокументы(НачДата,КонДата); // НачДата и КонДата - также реквизиты формы
                                                                        // диалога, но база OLE прекрасно их понимает -
                                                                        // ведь это же даты!
Пока ДокОле.ПолучитьДокумент()=1 Цикл
     Если СмотретьТолькоВозвратыПоставщикам = 1 Тогда
          Если ДокОле.ПризнакНакладной <> БазаОле.Перечисление.ПризнРасхНакл.ВозвратПоставщику Тогда
               Продолжить;
          КонецЕсли;
     Иначе
          Если ДокОле.ПризнакНакладной = БазаОле.Перечисление.ПризнРасхНакл.ВозвратПоставщику Тогда
               Продолжить;
          КонецЕсли;
     КонецЕсли;
     Сообщить(ДокОле.Вид() + " № "+ДокОле.НомерДок + " от " + ДокОле.датаДок);
КонецЦикла;

Д) Доступ к счетам базы OLE:

СчтОле=БазаОле.CreateObject("Счет");
СчтОле.НайтиПоКоду("10.5");          // нашли в базе OLE счет 10.5

Е) Доступ к ВидамСубконто базы OLE (аналогичен перечислению):

ВидСубконтоКонтрагентыОле = БазаОле.ВидыСубконто.Контрагенты;

По аналогии со справочниками и документами работает объект "Периодический", план счетов работает по аналогии с ВидомСубконто, ну и далее в том же духе… Отдельную главу посвятим запросу, а сейчас… стоп. Еще пункт забыл!

Ж) Доступ к функциям и процедурам глобального модуля базы OLE!

Как же я про это забыл-то, а? Поскольку при запуске базы автоматически компилируется глобальный модуль, то нам становятся доступны функции и процедуры глобального модуля (поправлюсь - только те, у которых стоит признак "Экспорт"). Плюс к ним еще и различные системные функции 1С. А доступны они нам через функцию 1С OLE - EvalExpr(). Приведем примеры работы с базой OLE:

ДатаАктуальностиОле = БазаОле.EvalExpr("ПолучитьДатуТА()");
// Возвращает дату актуальности
ИмяПользователяОле  = БазаОле.EvalExpr("ИмяПользователя()");
// возвращает строку
//
// попробуем теперь получить числовое значение НДС у элемента номенклатуры
// через функцию глобального модуля ПроцентНДС(СтавкаНДС) Экспорт!
ТовОле = БазаОле.CreateObject("Справочник.Номенклатура");
ТовОле.ВыбратьЭлементы();
// Найдем элемент справочника (не группа!)
Пока ТовОле.ПолучитьЭлемент()=1 Цикл
     Если ТовОле.ЭтоГруппа()=0 Тогда
          Прервать;
     КонецЕсли;
КонецЦикла;
ЧисловоеЗначениеПроцентаНДСТовараОле = БазаОле.EvalExpr("ПроцентНДС(Перечисление.ЗначенияНДС." +
     ТовОле.СтавкаНДС.Идентификатор()+")");

На самом деле, в последней строке примера я исхитрился и забежал немного вперед. Дело в том, что как и запрос (см. отдельную главу), так и EvalExpr() выполняются внутри базы OLE, причем команды передавается им обычной строкой, и поэтому надо долго думать, как передать необходимые ссылки на объекты базы OLE в строке текста местной базы. Так что, всегда есть возможность поломать голову над этим…

Егоров Андрей Викторович

*****

Бесплатный трехчасовой семинар по электронной коммерции для всех желающих.

На семинарах будут освещаться вопросы, касающиеся электронной коммерции, технологии создания интернет-магазинов, их интеграции с учетной системой и управления из 1С:Предприятия, а так же общие вопросы по оптимизации и продвижению интернет-магазинов в сети Интернет.

Задача этих семинаров заключается в формировании у компаний общего представления о рынке электронной коммерции и тенденциях его развития, об интернет-магазине как инструменте развития бизнеса, а так же о роли бизнес-решений в создании современных интернет-ресурсов.

На семинар можно попасть по предварительной записи, прислав письмо по электронной почте. Они будут проходить каждый четверг в офисе компании OSG.

Ближайший семинар планируется провести 16 августа

*****

Компания «Онлайн Систем Групп» имеет честь представить Вашему вниманию серию программных продуктов «OSG Интернет-Тогровля для 1С: Предприятия» для создания и успешного администрирования Интернет-магазина непосредственно из учетной системы 1С: Предприятие версий 7.7 и 8.8.

Конфигурация OSG Интернет-Торговля для 1С:Предприятия v.2 (Менеджер интернет-магазина на основе 1С:Предприятие 7.7 "Торговля и Склад", редакция 9.2) является клиентской частью программного комплекса OSG WebShop v.2. и предназначена для построения интернет-магазина на базе "1С:Предприятие 7.7".

Данный программный продукт идеально подходит для создания и эффективного использования интернет-магазина компании, у которой информационная учетная система построена на базе программных продуктов 1С.

Конфигурация "OSG Интернет-торговля для 1С:Предприятия v.2" встраивается в существующую конфигурацию системы 1C и дополняет ее специальными интерфейсами, предназначенными для работы с интернет-магазином, которые позволяют:

  • Подготавливать товарную базу, распределяя товары по иерархическому рубрикатору, при этом классификатор товаров и состав товарных групп в интернет-магазине может отличаться от структуры внутренней товарной базы.
  • Описать каждый товар неограниченным количеством характеристик и свойств. Для наглядного представления товаров предусмотрено несколько графических изображений, краткого и расширенного описания, а так же возможность отображения цен в рублях или валюте.
  • Реализовать гибкую ценовую и маркетинговую политику в интернет-магазине, с учетом стоимости и количества заказываемого товара, категории покупателя (дилер, оптовик, розничный) и принадлежности товара к той или иной группе, а так же использования специальных предложений.
  • Получать заказы из интернет-магазина и проводить их, как обычные офлайн-заказы с выпиской необходимых счетов и документов.
  • Изменять статусы заказов (обработан, оплачен, отгружен, исполнен), при этом на каждое изменение статуса заказа предусмотрено оперативное оповещение покупателя по электронной почте.
  • Получать информацию о зарегистрированных посетителях в интернет-магазине и работать с клиентами в рамках единой базы.

Стоимость стандартной конфигурации "OSG Интернет-Торговля для 1С:Предприятия v.2." - $280 (без установки). Дополнительно Вы можете заказать услуги по внедрению 1С интернет-магазина в работающую систему 1С. Стоимость внедрения зависит от конфигурации 1С, использующейся в компании, и определяется количеством часов, необходимых для выполнения работ, из расчета $25 в час. Программное обеспечение имеет расширенное иллюстрированное руководство пользователя, что позволяет легко разбираться в процессе инсталляции и эксплуатации программы.

Более подробную информацию о технологии создания интернет-магазина смотрите в описании программного комплекса OSG WebShop v.2.на сайте компании "OSG"

 http://www.osg.ru/products.htm

 Конфигурация «OSG Интернет-Торговля для 1С: Предприятие v.2 » получила сертификат «Совместимо! Система программ 1С: Предприятие»

Конфигурация OSG Интернет-Торговля для 1С:Предприятия v.3 является клиентской частью программного комплекса OSG WebShop v.2. и предназначена для построения Интернет-магазина на базе «1С:Предприятие 8.0».

Новая версия имеет ряд преимуществ по сравнению с предыдущей:

  • Улучшена технология обмена данными с серверной частью – доступ к Web-сервису осуществляется через протокол SOAP на платформе .NET.
  • Использование новых возможностей «1С:Предприятие 8.0» позволило значительно усовершенствовать пользовательский интерфейс клиентской части.
  • Оптимизирована внутренняя работа с базой данных для ускорения обмена.
  • Усилена интеграция с базовой частью типовой конфигурации.

Возможности клиентской части:

  • Формирование каталога товаров Интернет-магазина на основе справочника номенклатуры.
  • Расширенные описания товаров, прикрепление изображений.
  • Различные варианты цен в зависимости от категории покупателя.
  • Реализация системы скидок.
  • Учет в двух валютах.
  • Система специальных предложений.
  • Список покупателей Интернет-магазина и связь со справочником контрагентов.
  • Журнал заказов Интернет-магазина с возможностью корректировки и удаления.
  • Создание счетов на основании интернет-заказов.

Конфигурация «1С: OSG Интернет-Торговля v.3» предназначена для совместного использования с системой «1С: Предприятие 8.0».

Стоимость стандартной конфигурации «OSG Интернет-Торговля для 1С:Предприятия v.3." - $420 (без установки).

Дополнительно Вы можете заказать услуги по внедрению 1С интернет-магазина в работающую систему 1С.

Стоимость внедрения зависит от конфигурации 1С, использующейся в компании, и определяется количеством часов, необходимых для выполнения работ, из расчета $25 в час.

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

Более подробную информацию о технологии создания интернет-магазина смотрите в описании программного комплекса OSG WebShop v.2. на сайте компании "OSG"

Конфигурация OSG Интернет-Торговля для 1С:Предприятия v.3 получила сертификат «Совместимо! Система программ 1С: Предприятие»

 

Конфигурация «OSG Интернет-Торговля v.2 XML» является клиентской частью программного комплекса OSG WebShop v.2. и предназначена для построения Интернет-магазина на базе «1С:Предприятие 7.7».

По сравнению с конфигурацией «OSG Интернет-Торговля для 1С: Предприятия v.2» в этой версии:

  • Улучшена технология обмена данными с серверной частью – доступ к Web-сервису осуществляется через протокол SOAP на платформе .NET.
  • Оптимизирована внутренняя работа с базой данных для ускорения обмена.

Возможности клиентской части:

  • Формирование каталога товаров Интернет-магазина на основе справочника номенклатуры.
  • Расширенные описания товаров, прикрепление изображений.
  • Различные варианты цен в зависимости от категории покупателя.
  • Реализация системы скидок.
  • Учет в двух валютах.
  • Система специальных предложений.
  • Список покупателей Интернет-магазина и связь со справочником контрагентов.
  • Журнал заказов Интернет-магазина с возможностью корректировки и удаления.
  • Создание счетов на основании интернет-заказов.

Конфигурация «OSG Интернет-Торговля v.2 XML» является дополнением к типовой конфигурации «Торговля и Склад» и предназначена для совместного использования с компонентой «Оперативный учет» системы «1С:Предприятие 7.7».

Стоимость конфигурации «OSG Интернет-Торговля v.2 XML» - $280 (без установки).

Дополнительно Вы можете заказать услуги по внедрению 1С интернет-магазина в работающую систему 1С.

Стоимость внедрения зависит от конфигурации 1С, использующейся в компании, и определяется количеством часов, необходимых для выполнения работ, из расчета $25 в час.

Более подробную информацию о технологии создания интернет-магазина смотрите в описании программного комплекса OSG WebShop v.2. http://www.osg.ru/products.htm

Конфигурация «OSG Интернет-Торговля v.2 XML» получила сертификат «Совместимо! Система программ 1С: Предприятие»


Вниманию владельцев интернет-магазинов! Участники каталога MAG's RU могут совершенно бесплатно, в автоматическом режиме размещать свои маркетинговые предложения в рассылке и у нас на сайте. Для этого достаточно зарегистрировать свой ресурс и написать письмо с просьбой выслать данные, необходимые для размещения вашей информации.

*****

Имеющиеся у Вас материалы по тематике бюллетеня Вы можете опубликовать на нем, отправив их по адресу mags@mags.ru в имеющемся у Вас формате. Не забудьте указать Ваши координаты и информацию личного характера, которую желаете опубликовать вместе с предоставленными материалами.

Внимание! У нас открыт форум посвященный электронной коммерции!

Приглашаем Вас принять активное участие в жизни и развитии форума. Создавайте свои темы, дискутируйте с посетителями и создателями интернет - магазинов. Возможно, тут Вы найдете ответ на свой вопрос, на который ищете ответ. Только тут можно обсудить уникальный продукт интеграции интернет – магазина с 1С.

Теперь у вас есть возможность получить для своего сайта ежедневно обновляемую ленту новостей электронной коммерции.
Технология построения ленты позволяет выбирать тип отображаемых новостей - Новости электронной коммерции, обзоры интернет-магазинов, обзоры платежных ситем, уроки usability или аналитические статьи.

Как её установить можете узнать здесь >>>


Архив рассылки по адресу: http://www.mags.ru
Пишите нам: mags@mags.ru
ICQ: 203839414
Тел. (095)737-39-35
Факс. (095)730-66-74

Надежные серверы и графические станции на платформе Intel (Xeon) и AMD различного назначения. Большой выбор моделей. Сборка конфигураций на заказ. Трехлетняя гарантия, сервисное обслуживание серверов с выездом к Заказчику. Бесплатная доставка.

Online System Group - Создание сайта, создание интернет магазина. Профессиональные Веб - сайты - решения по разработке интернет магазинов и сайтов. Технология создания сайтов и интернет магазинов. Аренда интернет-магазинов от 50$.

Новый Иерусалим on-line: Все о Ново Иерусалимском монастыре, городская и районная информация, объявления, расписание автобусов и электричек, телефоны предприятий и частных лиц, православный чат, форум и много другой полезной информации.
Преподаватели православной воскресной школы ищут благотворителей, которые готовы помочь с помещением в городе Истра или Новый Иерусалим, возможно заключение договора некоммерческого партнерства. Будем рады любой помощи!!!

Подпишитесь на другие наши рассылки

Рассылки Subscribe.Ru
Секреты рекламы и создания интернет-магазинов
Скидки, подарки, призы...
1С и электронная коммерция
Серверы, сетевое оборудование, тесты, характеристики, советы
Рукопашный бой для девушек – выживание, психология, самозащита!
Милосердие. Чем ты можешь помочь ближнему.
Православные знакомства.

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: economics.icommerce.osg
Отписаться
Вспомнить пароль

В избранное