AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Прочие вопросы
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.05.2011, 18:36   #1  
PLGroup is offline
PLGroup
Участник
 
12 / 12 (1) ++
Регистрация: 23.05.2011
? Экспорт документа в XML
Подскажите есть ли простое решение проблемы, в такой ситуации:

У меня есть поставщик которого посадили недавно на AX2009, сам я работаю в 1С:Управление торговлей ред. 11 и динамикс видел только на картинках в интернете.
А вносить руками кучу документов каждый раз уже надоедает и с растущими объемами и вовсе накладно. Захотелось этот процесс автоматизировать со стороны 1С. Начал просить у менеджера сделать мне экспорт накладной в XML(т.к. мне показалось что в таком продукте должен быть экспорт в XML) и прислать но как я понял он не знает как это сделать и тупо присылает мне каждый раз XLS файл )))

Гуру форума подскажите есть ли такая возможность, и как донести до менеджера поставщика как это сделать и прислать мне нужный файл?

Заранее спасибо за помошь!
Старый 23.05.2011, 19:17   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Интеграция внешних приложений с Axapta

Коротко: Commerce Gateway - это отдельный модуль системы, который стоит отдельных денег. Ради одного документа, врядли кто-то будет с ним связываться. Просто хорошо попросите вашего поставщика, и я думаю, что ему не составит труда написать собственный экспорт документа в нужный вам формат. Я так понимаю, что это CommerceML?

P.S.: На всякий случай напишу, что сам я знаком с этим по стольку по скольку. Так что если соврал, то кто-нибудь сейчас меня поправит.

Последний раз редактировалось S.Kuskov; 23.05.2011 в 19:34.
За это сообщение автора поблагодарили: mazzy (15).
Старый 23.05.2011, 19:20   #3  
PLGroup is offline
PLGroup
Участник
 
12 / 12 (1) ++
Регистрация: 23.05.2011
Не очень обширная статья, а для меня так и вовсе не понятная. Не значит ли это что некого базового механизма нету и чтобы сделать надо что то дорабатывать со стороны поставщика?
Старый 24.05.2011, 08:48   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Порылся немного в существующих темах на форуме. Вот ещё что нашёл
Электронная накладная

Сути дела это не меняет. Не Commerce Gateway, так AIF. Один фиг, одной большой кнопки на все случаи жизни не бывает. К тому же, не обижайтесь, но на одном 1C свет клином не сошёлся Отраслевые XML-стандарты в мире
Старый 24.05.2011, 10:25   #5  
PLGroup is offline
PLGroup
Участник
 
12 / 12 (1) ++
Регистрация: 23.05.2011
Ну в любом случае это говорит о том что менеджер сам этого не сделает ( и придется тащить данные из экселя. Я бы прочитал данные программно из любого стандарта

Я понимаю что на 1С свет клином не сошелся, но использовать другую систему я пока не собираюсь по многим причинам. Может в силу своей некомпетентности в вопросах динамикса, но как я понял получить аналог связки УТ+БП+ЗУП с двухсторонним обменом данными не получится сделать просто настройками придется покодить. Один из немаловажных факторов бухгалтера которые начинали работать еще с 7.5 и на предложение пересесть на какую нить систему отличную от 1С большинству проще написать заявление об увольнении чем переучиваться на новую систему.
Так же сопровождение и поодержка: если в крупных городах с этим проблем нету то в регионах дороже выйдет. Вобщем пока я не сторонник этого приложения если в нем базового экспорта нету никуда о чем говорить дальше не знаю, и все надо самостоятельно программировать.

В любом случае спасибо за помошь будем парсить xls
Старый 24.05.2011, 10:55   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от PLGroup Посмотреть сообщение
Ну в любом случае это говорит о том что менеджер сам этого не сделает ( и придется тащить данные из экселя. Я бы прочитал данные программно из любого стандарта
Погодите кодить. Может всё-таки стоит обсудить с поставщиком возможность задействования AIF. Это перспективный модуль системы. Вполне возможно что они его будут использовать, если уже не используют. Раз уж вы готовы принять XML любой структуры, то может со стороны DAX всё и обойдётся только настройками, без программирования

Вот ещё нашёл ссылку в тему
AIF: Проблема с использованием XSLT трансформации
За это сообщение автора поблагодарили: mazzy (2).
Старый 24.05.2011, 11:57   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
погодите.
что-то все снова кинулись обсуждать технические аспекты хотелки.
уверяю вас - технических проблем нет.

AIF, запрограммировать OLE, и т.п.
вопросы находятся на принципиальном уровне. на уровне концепции и на уровне администрирования.

Цитата:
Сообщение от PLGroup Посмотреть сообщение
У меня есть поставщик которого посадили недавно на AX2009, сам я работаю в 1С...
А вносить руками кучу документов... Захотелось этот процесс автоматизировать со стороны 1С
Смотрите, "документ" - это не набор бессвязанных буковок на листе бумаги.
"Документ" - это пакет информации, которая сильно связана с остальной информацией в системе, которая верифицируется, которая имеет свой жизненный цикл.

что значит "автоматизировать со стороны <любой-внешней-системы>"?
это значит <любая-внешняя-система> должна:
= корректно эмулировать правила, заложенные в <хост-систему>
= корректно брать актуальную информацию из <хост-системы>
= корректно обрабатывать возвращаемые из <хост-системы> сообщения

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

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

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


Посянение 2 на языке 1Сников
1С умеет обмениваться данными и конфигурацией при помощи XML-файлов.
Но создать такой файл из внешней системы (даже из другой 1С) безумно сложно, поскольку внешняя система не знает о деталях хост-конфигурации.
Поэтому в 7.7 подобный обмен был возможен только между идентичными конфигурациями, а в 8 обмен между разными конфигурациями настраивается чертовски трудоемко.
========================

помимо целостности, актуальности данных, корректной обработки возвращаемых сообщений....
есть еще один принципиальный момент, который надо решить при передаче данных из 1С в Аксапту.
1С позволяет изменять и перепроводить однажды проведенные документы.
Аксапта запрещает изменять проведенные документы.

как вы собираетесь "автоматизировать" в таких условиях - для меня загадка.

========================
в результате снова получаем тему
в которой рассматриваются только технические аспекты, полностью игнорируются интересы заказчика.
в которой делается "автоматизация" ради "автоматизации", ради фана программиста
в которой трудоемкость решения выбранным способом ПРИНЦИПИАЛЬНО выше, чем даже трудоемкость ручного ввода

========================
поэтому. прежде чем рассуждать об AIF'ах, бизнес-коннекторах, таблицах и схемах взаимосвязей... сначала
  • определите что вы подразумеваете под словом "автоматизация"
  • разъясните откуда вы будете брать в своей-любимой-1С необходимые для Аксапты справочники
  • пожалуйста, распишите как ваша-любимая-1С будет реагировать на сообщения Аксапты, если возникнет ошибка.
  • пожалуйста, определите почему вы решили вклинится в накладную, а не в заказ
  • обязательно расскажите что вы собираетесь делать с уже проведенными документами в Аксапте, если в вашей-любимой-1С кто-то исправит проведенный документ

после этого берите любой уже существующий на рынке платный инструмент интеграции AX-1C или программируйте в Аксапте.
после того, как раберетесь на понятийном уровне - остальное уже является тривиальным делом.
__________________
полезное на axForum, github, vk, coub.
Старый 24.05.2011, 12:18   #8  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от PLGroup Посмотреть сообщение
Начал просить у менеджера сделать мне экспорт накладной в XML(т.к. мне показалось что в таком продукте должен быть экспорт в XML) и прислать но как я понял он не знает как это сделать и тупо присылает мне каждый раз XLS файл )))
Теперь отвечаю на исходный вопрос:
экспорт данных из таблицы в XML в аксапте конечно есть.
вот пример выгрузки значений из шапки накладной.
X++:
static void Job65(Args _args)
{
    CustInvoiceJour    custInvoiceJour = CustInvoiceJour::findFromCustTrans('номер-накл',01\01\2011,'Клиент','Код операции');
;
    info(custInvoiceJour.xml());
}
к посту приложен результат работы этого кода.

но этот экспорт НЕ ДОСТУПЕН пользователю, поскольку для пользователя такой экспорт не несет никакого смысла. Поскольку с точки зрения пользователя данные - это не набор таблиц, это документ! (вы правильно ставите вопрос)

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

На языке 1Сников: пользователя 1с бесполезно спрашивать какие dh,dt,sc,ra,rg таблицы заполняются в результате его действий. Вопрос для пользователя 1С (и даже для некоторых программистов) будет абсолютно непонятен.

поэтому:
= вы спрашиваете в терминах, которые пользователь не понимает
= вы ожидаете получить результаты, о которых пользователь не имеет представления
= следовательно вы получаете ответ, который не имеет для вас никакого смысла.

=========================
в Аксапте пользователям доступны выгрузки в предопределенных форматах (если на это конечно были даны права)
например та же накладная может выгружаться в конкретном формате для загрузки в конкретную систему сбора налоговой отчетности в европе. эти конкретные форматы не предназначены для обратной загрузки в Аксапту

========================
поэтому не мучайте ваших пользователей.
не задавайте им вопросы, которые они не понимают и не должны понимать.

хотите структуру таблиц - забирайте.
хотите значения из записи таблицы - забирайте.
но сначала определитесь как вы будете обеспечивать корректность данных при импорте этих таблиц в Аксапту.
учтите, что накладные только напрямую связаны с десятком таблиц. а косвенных связей будет несколько десятков. причем информация в разных таблицах должна подчиняться определенным правилам, чтобы быть целостной.
Вложения
Тип файла: rar custinvoicejour.rar (1.3 Кб, 172 просмотров)
__________________
полезное на axForum, github, vk, coub.
Старый 24.05.2011, 12:32   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от PLGroup Посмотреть сообщение
Может в силу своей некомпетентности в вопросах динамикса, но как я понял получить аналог связки УТ+БП+ЗУП с двухсторонним обменом данными не получится сделать просто настройками придется покодить.
Получится. Только для этого нужен человек, который хорошо знает обе системы.

Человек, который знает только одну систему, связку скорее всего не настроит и даже не запрограммирует.
И технологические вопросы имеют мизерный вес в задаче "сделать двухсторонний обмен".
__________________
полезное на axForum, github, vk, coub.
Старый 24.05.2011, 14:24   #10  
PLGroup is offline
PLGroup
Участник
 
12 / 12 (1) ++
Регистрация: 23.05.2011
Цитата:
по сути, вы спрашиваете как создавать проводки и движения по регистрам, вместо создания первичного документа.
как вы понимаете в такой постановке корректно загрузить информацию в сложную конфу - предельно сложно.
гораздо проще создавать таки первичный документ, а уже пусть сама 1С проводит так как нужно.
так и в Аксапте - гораздо проще создать корректный заказ, чем корректную накладную, поскольку в Аксапте накладная - скорее движение по регистрам, нежели 1Совский первичный документ
Я предполагал что накладная именно объект с набором реквизитов ссылочного типа и табличной части, и просто хотел получить грубо говоря описание реквизитов документа в виде XML файла, в каком виде это будет сделано мне не принципиально данные нужные мне я из XML файла сам выгребу, но раз это не хранимый объект а набор проводок то естественно выгружать нечего.

Я готов принять XML файл со структурой любой сложности, это даже лучше когда товар файле выглядит не просто <НаименованиеТовара>Булочка </Наименование товара> а как описание объекта на который ссылается реквизит типа:
<Номенклатура>
<Наименование>Булочка</Наименование>
<ЕдиницаИзмерения></ЕдиницаИзмерения>
<Артикул>Ф1</Артикул>
.....
<Реквизит_N></Реквизит_N>
</Номенклатура>

Естественно что вся информаци о нем мне не нужна, но то что мне необходимо я определю сам и достану из файла.

Цитата:
1С умеет обмениваться данными и конфигурацией при помощи XML-файлов.
Но создать такой файл из внешней системы (даже из другой 1С) безумно сложно, поскольку внешняя система не знает о деталях хост-конфигурации.
Поэтому в 7.7 подобный обмен был возможен только между идентичными конфигурациями, а в 8 обмен между разными конфигурациями настраивается чертовски трудоемко.
С появлением конфигурации "Конвертация данных" все делается очень просто, визуально настраиваются соответствия и программа сама формирует правила обмена которые остается только применить.
В 7.7 был и есть обмен между разными конфигурациями например Бухгалтерия и ТИс и так же обмен делается через XML и это реализовано в типовых конфигурациях.

Цитата:
помимо целостности, актуальности данных, корректной обработки возвращаемых сообщений....
есть еще один принципиальный момент, который надо решить при передаче данных из 1С в Аксапту.
1С позволяет изменять и перепроводить однажды проведенные документы.
Аксапта запрещает изменять проведенные документы.

как вы собираетесь "автоматизировать" в таких условиях - для меня загадка.
Данные из 1С в аксапту попадать не будут, данные нужны только мне чтобы руками не вносить приходные накладные, а пакетно грузить их из файлов XML. Можно считать обмен односторонний без подтверждения о приеме объекта в базе приемнике. Никто вторгаться в структуру Ахарты не собирается.

По большому счету мне достаточно таблицы полученной выполнением запроса с колонками: Номенклатура, Артикул. ПолноеНаименованиеНоменклатуры, Цена, Количество, Сумма, Сумма НДС, Всего..это все. Ну в принципе еще можно номер накладной.

Цитата:
пожалуйста, определите почему вы решили вклинится в накладную, а не в заказ
Потому что один заказ мне может быть отгружен несколькими накладными в разные дни. Логистика у поставщика обширная и на момент отгрузки не все позиции могут доехать до склада с которого мне ближе всего грузиться.

Вчера мне менеджер все таки выгрузил накладную XLS ввиде XML файла, но этот файл содержит в себе описание каждой пустой строки XLS документа, т.е. выгрузил мне описание не объекта а описание XLS файла

Я понимаю что мы говорим на разных языках но эти языки чем то похожи, и я понял все о чем вы написали.
Я просто пытался узнать есть ли типовые методы получить описание документа в виде XML файла, без дополнительного кодинга. Т.е. менеджер сделал накладную нажал на кнопку в шапке документа и сохранил эту накладную в XML файл, во всех Редакциях УТ(Управление торговлей) такое есть и выгружается в формате Commerce ML, и мне показалось что в таком продукте как динамикс не может такого не быть. Хотя бы какой нить из стандартов должен быть реализован без вмешательства программистов?
Старый 24.05.2011, 15:28   #11  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от PLGroup Посмотреть сообщение
А вносить руками кучу документов каждый раз уже надоедает и с растущими объемами и вовсе накладно. Захотелось этот процесс автоматизировать со стороны 1С...
Цитата:
Сообщение от PLGroup Посмотреть сообщение
Я готов принять XML файл со структурой любой сложности
Принять?! тогда я вообще перестал что-либо понимать.
что вы имеете в виду под "автоматизировать со стороны 1С"?

я понял так, что вы хотите со стороны 1С создавать накладные в Аксапте.
Тогда почему вы сейчас говорите "принять"?
__________________
полезное на axForum, github, vk, coub.
Старый 24.05.2011, 15:43   #12  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
на сколько я понял PLGroup хочет получать некий файл с накладной, который выгружается из аксапты, что бы потом на основании этого файла создать (провести) накладную в 1С.

а почему вы уперлись в XML?
мне кажется достаточно просто попросить что бы Вам выгрузили строки накладной в эксель (вся необходимая информация для накладной в 1С там будет), и уже из экселя залить к себе в 1С накладную и радоваться жизни
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 24.05.2011, 17:53   #13  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от lev Посмотреть сообщение
на сколько я понял PLGroup хочет получать некий файл с накладной, который выгружается из аксапты, что бы потом на основании этого файла создать (провести) накладную в 1С.
Блин... я то подумал... "автоматизация"... Извините.

Тогда: AIF.
Поиск по форуму по ключевому слову "AIF"
Поиск по тегу AIF

например, Обмен данными с внешней системой

пример кода здесь
http://archive.msdn.microsoft.com/Pr...ownloadId=2861
X++:
static void AifSample_CustomerService(Args _args)
{

    /*
        All code used below is meant for illustration purposes only and not intended for use in production. The following disclaimer applied to all code used in this blog:

        Copyright (c) Microsoft Corporation. All rights reserved.  THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.
        USE AND REDISTRIBUTION OF THIS CODE, WITH OR WITHOUT MODIFICATION, IS HEREBY PERMITTED.
    */


    /*
        This job demonstrates how to use AIF data objects to call an AIF service from X++.
        The CustCustomerService service class is used to call the CRUD + find service operations on customer data.
        The new service class delegates to the underlying Axd<Document> class for all operations.
    */

    // TODO: Before creating a customer, make sure that the Number sequence for the reference Directory ID is setup at the following location:
    //       Basic => Setup => Directory => Parameters => Number Sequences tab => Directory Id

    // TODO: The delete code has been commented out so that the created customer can actually be viewed from the CustTable form.  Uncomment this code to test the delete functionality.

    CustCustomerService     customerService;            // Customer Service class
    CustCustomer            customer;                   // Customer Document object
    CustCustomer            customerRead;               // Customer Document object
    CustCustomer_CustTable  custTable;                  // CustTable data object
    CustCustomer_CustTable  custTableRead;              // CustTable data object
    AifEntityKeyList        entityKeyList;              // Entity key list
    AifEntityKeyList        entityKeyListFind;          // Entity key list
    AifQueryCriteria        queryCriteria;
    AifCriteriaElement      criteriaElement;
    AccountNum              accountNum;
    ;

    // Create the service instance
    customerService =  CustCustomerService::construct();

    // Create the Customer document object
    customer = new CustCustomer();
    customer.createCustTable();                            // Create the CustTable list
    custTable = customer.parmCustTable().addNew();         // Add CustTable instance to CustTable list

    // Initialize the CustTable instance
    custTable.parmName("Cust01");
    custTable.parmCustGroup("10");
    custTable.parmCurrency("USD");
    custTable.parmPartyType(DirPartyType::Organization);

    // Create Customer
    entityKeyList = customerService.create(customer);
    accountNum = entityKeyList.getEntityKey(1).parmKeyDataMap().lookup(fieldnum(CustTable, accountnum));
    info(strfmt("Created customer:  Account Number: %1.", accountNum));

    // Read Customer using returned entity key
    customerRead = customerService.read(entityKeyList);
    custTableRead = customerRead.parmCustTable().get_Item(0);
    info(strfmt("Read customer: Account Number: %1, Name: %2.", custTableRead.parmAccountNum(), custTableRead.parmName()));

    // Update Customer
    custTableRead.parmName(custTableRead.parmName() + ": Updated Name");
    customerService.update(entityKeyList, customerRead);
    info (strfmt("Updated Customer: Account Number: %1.", custTableRead.parmAccountNum()));

    // Call Read to check update
    customer = customerService.read(entityKeyList);
    custTable = customerRead.parmCustTable().get_Item(0);
    info(strfmt("Read updated customer: Account Number: %1, Name: %2.", custTable.parmAccountNum(), custTable.parmName()));

    // Call FindKeys to find entity keys of matching customer entity keys
    queryCriteria = new AifQueryCriteria();
    criteriaElement = AifCriteriaElement::newCriteriaElement('CustTable', 'CustGroup', AifCriteriaOperator::Equal, '10');
    queryCriteria.addCriteriaElement(criteriaElement);
    entityKeyListFind = customerService.findKeys(queryCriteria);
    info(strfmt("Find customer keys: Result count: %1", entityKeyListFind.getEntityKeyCount()));

    // Call Find to find matching customers
    queryCriteria = new AifQueryCriteria();
    criteriaElement = AifCriteriaElement::newCriteriaElement('CustTable', 'CustGroup', AifCriteriaOperator::Equal, '10');
    queryCriteria.addCriteriaElement(criteriaElement);
    customerRead = customerService.find(queryCriteria);
    info(strfmt("Find customer: Result count: %1", customerRead.existsCustTable()?customerRead.parmCustTable().get_Count():0));

    info("TO DO: To test delete, uncomment delete code in the job.");
    // TODO: UNCOMMENT TO DELETE CUSTOMER
    /*
    // calling deleting customer
    customerService.delete(entityKeyList);
    info(strfmt("Deleted customer:  Account Number: %1.", accountNum));
    */

    pause;
}
__________________
полезное на axForum, github, vk, coub.
Старый 24.05.2011, 18:06   #14  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
извините, работа.
продолжаю.

соответственно для выгрузки "накладной" будет совсем простой код
X++:
static void AifSample_CustInvoice(Args _args)
{
    AifQueryCriteria        queryCriteria;
    AifCriteriaElement      criteriaElement;
    SalesSalesInvoice SalesSalesInvoice;
    SalesSalesInvoiceService SalesSalesInvoiceService;
    ;

    // Create the service instance
    SalesSalesInvoiceService =  SalesSalesInvoiceService::construct();

    // Call FindKeys to find entity keys of matching customer entity keys
    queryCriteria = new AifQueryCriteria();
    criteriaElement = AifCriteriaElement::newCriteriaElement('CustInvoiceJour', 'InvoiceId', AifCriteriaOperator::Equal, '00549_042');
    queryCriteria.addCriteriaElement(criteriaElement);
    SalesSalesInvoice = SalesSalesInvoiceService.find(queryCriteria);
    info(SalesSalesInvoice.serialize());
}
результат вывода из демобазы приведен в приложенном архиве.
Вложения
Тип файла: rar salessalesservice.rar (2.6 Кб, 130 просмотров)
__________________
полезное на axForum, github, vk, coub.
Старый 24.05.2011, 18:25   #15  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Я думаю, в том, что в аксапте экспорт накладной в XML файл можно запрограммировать, никто и не сомневался. Вопрос в том как этого добиться, используя стандартный функционал

Последний раз редактировалось S.Kuskov; 24.05.2011 в 18:31.
Старый 24.05.2011, 18:59   #16  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
в аксапте экспорт ...стандартный функционал
стандартный функционал чего? 1Са? Аксапты?
я ж в коде вызывал только стандартный функционал аксапты.
у меня такое ощущение что я тормоз.


может вы хотите сказать: как пользователь может кнопочками получить XML-файл накладной?
встречный вопрос: а нафига это пользователю? откуда ползьователь может понять какой именно xml-файл надо выгружать?

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

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

есть фреймворки для программиста, которые позволяют выгружать данные (программист должен знать что потом с делать с выгруженными данными)
есть веб-сервисы для программиста, основанные на этих фреймворках, которые позволяют выполнять CRU-операции (CRUD - пока не у всех объектов).
программист же должен обеспечить безопасность работы с данными.

=================
в общем, я чего-то в вопросе не понимаю.
не понимаю начиная с первого поста со слов "автоматизировать со стороны 1С"
что это значит?

не понимаю и последнего поста - что значит "экспорт накладной в XML файл ... используя стандартный функционал"?
__________________
полезное на axForum, github, vk, coub.
Старый 24.05.2011, 19:43   #17  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от mazzy Посмотреть сообщение
может вы хотите сказать: как пользователь может кнопочками получить XML-файл накладной?
встречный вопрос: а нафига это пользователю? откуда ползьователь может понять какой именно xml-файл надо выгружать?
Угу. Не знаю, не я автор вопроса. Я просто попытался вернуть обсуждение в (как мне кажется) более верное русло

На накладой есть кнопка "Печать". Пользователь её жмёт и получает печатный документ
Нет кнопки "Сохранить в XML". Пользователь не может получить тот же самый документ, в электронном виде.

Почему нет? Наверное, потому что никому не нужна такая полуручная автоматизация. Если автоматизировать процесс обмена документами, то тогда уже автоматизировать его полностью, а это значит нужно исключать и такое звено цепи, как пользователь, нажимающий кнопку "Сохранить в XML"
Старый 24.05.2011, 20:04   #18  
PLGroup is offline
PLGroup
Участник
 
12 / 12 (1) ++
Регистрация: 23.05.2011
Цитата:
Сообщение от mazzy
Принять?! тогда я вообще перестал что-либо понимать.
что вы имеете в виду под "автоматизировать со стороны 1С"?

я понял так, что вы хотите со стороны 1С создавать накладные в Аксапте.
Тогда почему вы сейчас говорите "принять"?
Загрузка накладных из файла это уже автоматизированость малюсенького участка. Накладную я хочу создать в 1С.

Цитата:
Сообщение от lev
на сколько я понял PLGroup хочет получать некий файл с накладной, который выгружается из аксапты, что бы потом на основании этого файла создать (провести) накладную в 1С.

а почему вы уперлись в XML?
мне кажется достаточно просто попросить что бы Вам выгрузили строки накладной в эксель (вся необходимая информация для накладной в 1С там будет), и уже из экселя залить к себе в 1С накладную и радоваться жизни
Да Вы все правильно поняли, мне нужен именно такой файл. Эксель я рассматриваю как альтернативу если не получу XML. Почему не хочется XLS: для того чтобы прочитать данные нужен собственно сам excel, а если у меня опен офис? А если майкрософт опять поменяет структуру файла xls как было в 2007 офисе после 2003.
Так же к минусам отношу то что одно поле может содержаться в нескольких ячейках, и гипотетически может меняться начало табличной части(номер строки) и номера значимых для меня колонок, чего в XML , быть не должно.

Цитата:
Сообщение от mazzy
может вы хотите сказать: как пользователь может кнопочками получить XML-файл накладной?
встречный вопрос: а нафига это пользователю? откуда ползьователь может понять какой именно xml-файл надо выгружать?
Бинго!!! Это называется обмен по схеме поставщик-покупатель по некому стандарту в нашем случае пусть Commerce. И пользователю это для того чтобы выслать покупателю/поставщику электронную накладную для загрузки в его учетную систему если он попросит, вот я прошу такой файлик.


Пользователю не надо задумываться "зачем"? Дядя программист реализовал такую возможность, а дядя клиент попросил такой файлик, все просто.

P.S. Есть процесс:мввод накладной в базу руками. Что такое автоматизация этого процесса? Уменьшение времени затрачиваемого на ввод данных! Каким образом? Автоматической загрузкой! Каким образом? Используя некие файлы: XML, XLS, DBF.
предпочтительно для меня XML, если нет такой возможности то буду тянуть из заказа сохраненного в эксель проверять строки на статус отгружено и так далее кучу проверок и прочей деятельности )
От поставщика мне больше никаких данных не надо, а данные от меня(оплата за товары) они грузят в 1С и далее как то сдруживают с аксаптой ..это меня уже не касается )
Старый 24.05.2011, 20:04   #19  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Почему вы все говорите, что кнопки нет? А как же Send electroniclly > Original/Copy?
Можно и автоматизировать, чтобы AIF сам сохранял при разноске.
За это сообщение автора поблагодарили: mazzy (2), S.Kuskov (2).
Старый 24.05.2011, 20:15   #20  
PLGroup is offline
PLGroup
Участник
 
12 / 12 (1) ++
Регистрация: 23.05.2011
Цитата:
Почему нет? Наверное, потому что никому не нужна такая полуручная автоматизация. Если автоматизировать процесс обмена документами, то тогда уже автоматизировать его полностью, а это значит нужно исключать и такое звено цепи, как пользователь, нажимающий кнопку "Сохранить в XML"
Ага ) А зачем автоматизировать "для всех" гибкость где? Некоторым клиентам пофиг на документы вобще нету учетной системы..нафиг им электронная накладная? А кому то это облегчает жизнь. Например у 1С реализован обмен не только документов разных видов но и прайс листа с ценами ПОСТАВЩИКА что тоже удобно(обновился ассортимент у поставщика можно обновить его в своей учетной системе программно сразу с ценами)

У меня у поставщика туева хуча товаров...и чтобы мне сделать счет покупателю мне нужно вносить товары в свою учетку руками..мониторить дубли товаров(т.к. не только я вношу туда их). А можно загрузить каталог от поставщика и не мучаться.

Не надо всем выгружать, только тем кому может это облегчить ввод информации.

Какой то жалкий 1С реализовал такую возможность, а такой гигант как Microsoft нет. Да, возможно майкрософт считает это ненужным но многие так не считают и предпочитают по возможности загружать накладные не руками(если в накладной по 1000 позиций 1/3 из которых новые позиции сколкьо времени уйдет на занесение руками? Час..не меньше!) Причем в теме были озвучены стандарты XML, но не один из стандартов не был реализован в аксапте.

что вам удобнее со стороны аксапты делать? Читать данные из EXCEL или читать данные из XML или пусть пользователь долбит накладную в 1000 строк руками?
Теги
aif, интеграция, холивар

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Экспорт данных в xml из Axapta 3.0 kornix DAX: Программирование 3 10.06.2009 14:24
X++: Serializing Axapta Foundation Class instances as XML streams Blog bot DAX Blogs 0 04.06.2009 23:05
Бинарное поле из XML-документа er1 DAX: Программирование 3 30.06.2008 18:39
Как добавить тип документа !DOCTYPE в xml файл Asterisk DAX: Программирование 0 04.02.2008 12:17
Проблема с сохранением XML документа DreamCreator DAX: Программирование 3 30.11.2007 17:12
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 04:14.