Создание xml, отправка в 1С

regi

Новичок
Создание xml, отправка в 1С

Немного мучаюсь тут с этой темой.

Задача у меня стоит такая:
У заказчика стоит 1С, оттуда он выгружает каталог который я потом разбираю и помещаю в mysql. Это я вроде как сделал. Теперь требуется оформление заказа. То есть пользователь, выбрав нужные товары, нажимает "Оформить заказ", после чего создается xml-файл и отправляется моему заказчику для дальнейшего прикрепления к 1C. Проблема (или не проблема, а моя тупость) вот в чем:

Заказчик прислал пример xml-файла заказа. Выглядит он примерно вот так:
PHP:
  <?xml version="1.0" encoding="windows-1251" ?> 
- <КоммерческаяИнформация>
- <Каталог Идентификатор="EA68276C-8E1B-4945-9B05-BC6FCC99BDF3" Наименование="Собственный каталог" Владелец="08A0DAE5-2BC9-4B77-B829-A1C19A242B8A" Единица="шт">
  <Группа Идентификатор="ID__B___0___0___84___0___0___________34_____" ИдентификаторВКаталоге="00001008" Наименование="ЭВАЛАР" Родитель="ID__B___0___0___84___0___0____________1_____" /> 
  <Группа Идентификатор="ID__B___0___0___84___0___0____________1_____" ИдентификаторВКаталоге="00000004" Наименование="ДОБАВКИ ПИЩЕВЫЕ" /> 
  <Товар Идентификатор="ID__B___0___0___84___0___0___________65_____" ИдентификаторВКаталоге="00003191" Наименование="Красный корень 60таб Эвалар" Родитель="ID__B___0___0___84___0___0___________34_____" Единица="шт" /> 
  <Товар Идентификатор="ID__B___0___0___84___0___0__________107_____" ИдентификаторВКаталоге="00000291" Наименование="ФИТОЛАКС-фрук.пласт.улучшают работу кишечн." Родитель="ID__B___0___0___84___0___0___________34_____" Единица="шт" /> 
  <Группа Идентификатор="ID__B___0___0___84___0___0__________203_____" ИдентификаторВКаталоге="00001303" Наименование="ВИСЭЛ НПФ" Родитель="ID__B___0___0___84___0___0____________1_____" /> 
  <Товар Идентификатор="ID__B___0___0___84___0___0__________204_____" ИдентификаторВКаталоге="00001298" Наименование="КЛЮЧИ ЖИЗНИ № 1 зрение 60 таб" Родитель="ID__B___0___0___84___0___0__________203_____" Единица="шт" /> 
  </Каталог>
- <Документ Дата="2004-08-09" Номер="0000000081" Время="17:36:56" ХозОперация="PayableBill" Сумма="10430.23" Валюта="руб." Курс="1" Кратность="1" СрокПлатежа="2004-08-16">
  <ПредприятиеВДокументе Контрагент="08A0DAE5-2BC9-4B77-B829-A1C19A242B8A" РасчетныйСчет="40702810900001019605" Контакт="ID__B___0___0___4014___0___0____________1_____" Роль="Saler" /> 
  <ПредприятиеВДокументе Контрагент="5C735D91-562A-434F-96BC-831241FAF2EA" Роль="Buyer" /> 
  <СуммаНалога Налог="AVT" Ставка="0" Сумма="1591.02" ВключенВСумму="1" /> 
  <ТоварнаяПозиция Каталог="EA68276C-8E1B-4945-9B05-BC6FCC99BDF3" Товар="00003191" Единица="шт" Количество="5" /> 
  <ТоварнаяПозиция Каталог="EA68276C-8E1B-4945-9B05-BC6FCC99BDF3" Товар="00000291" Единица="шт" Количество="10" /> 
  <ТоварнаяПозиция Каталог="EA68276C-8E1B-4945-9B05-BC6FCC99BDF3" Товар="00001298" Единица="шт" Количество="10" /> 

  </Документ>
- <Контрагент Идентификатор="08A0DAE5-2BC9-4B77-B829-A1C19A242B8A" Наименование="ООО "firm"" ОтображаемоеНаименование="ООО "firm"(Основной учет)" Адрес=",firm adress,">
  <РасчетныйСчет НомерСчета="11111111111111111111" Банк="ID__B___0___0___163___0___0____________1_____" /> 
- <Контакт Идентификатор="ID__B___0___0___4014___0___0____________1_____" Наименование="ООО "firm"(Основной учет)">
  <Телефон>111-11-11</Телефон> 
  <Почта>pochta</Почта> 
  </Контакт>
  </Контрагент>
  <Банк Идентификатор="ID__B___0___0___163___0___0____________1_____" Наименование="ОАО "bank"" Местонахождение="г. Москва" bank" /> 
  <Контрагент Идентификатор="5C735D91-562A-434F-96BC-831241FAF2EA" Наименование="МУП "aaa"" ОтображаемоеНаименование="МУП "aaa"" Адрес=",adress,," /> 
  </КоммерческаяИнформация>

проблема вот в чем. этот xml заказчик сгенерировал в 1С(не знаю как), но в каталоге, который я распарсиваю, нет значений, подобных этому:
ID__B___0___0___84___0___0____________1_____

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

1С я в глаза не видел и даже не представляю, как происходит обмен данными и другие подобные вещи. Что делать? :(

-~{}~ 06.12.04 18:59:

никто не сталкивался с такой проблемой?
 

Orlis

Guest
1С передает тебе кривые идентификаторы, это баг с той стороны, не твой. Описание формата данных, которые хочет 1С есть в интернете по запросу "CommerceML"

Я думаю, что без программиста 1С, толка не будет. Хорошо если он есть у заказчика, иначе тебе самому придется найти такого человека...

Как мы сделали обмен:

1С умеет по кнопке или по таймеру делать запросы к сайту по протоколу HTTP. Твоя задача вернуть то, что накопилось за время последнего обращения. Мы реализовали это так: 1С хранит номер последнего полученного заказа и каждый раз отправляет этот номер, получая последовательно с каждым запросом по 1 заказу, пока все не получит.

Можно попробовать сделать и по электронной почте, но это сложнее.
 

regi

Новичок
Программиста у заказчика нет...
Заказ идет по эл. почте с приаттаченным xml-файлом. Пока заместо этого идентификатора написал идентификаторы товара(или группы, соответственно с родителями или без).
Но, насколько я понимаю, база 1С не будет работать без уникальных идентификаторов? Нельзя ли в mysql ввести таблицу под подобные идентификаторы, чтобы не иметь дела с 1С?

Иду читать по CommerceML.
 

Orlis

Guest
1C язык 4-го поколения, система генерирует сама себе идентификаторы и таблицы, доступа к такому низкому уровню у программиста 1С нет.

Вероятно, тебе смогут выгружать не только каталоги товаров, но другие справочники (так это в 1С называется) Контрагентов, Групп товаров и т.д.

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

P.S. Сам я тоже PHP-шник, а не 1С-ник.
 
Сверху