Страница 1 из 2

Экспорт ДО на продажу

Добавлено: 26 июл 2017, 17:30
maikl
Надо экспортировать ДО на продажу стандартным механизмом.
Но в ДО есть внешний атрибут, а как его экспортировать ?
Как описать ?

Re: Экспорт ДО на продажу

Добавлено: 27 июл 2017, 00:40
Den
юзайте TxoGetExtAttr в настройке экспорта.

Re: Экспорт ДО на продажу

Добавлено: 27 июл 2017, 14:23
edward_K
если 9 то должна работать sGetAttr(coBaseDoc,BaseDoc.Nrec,'атрибут') - везде, в том числе по Ctrl+F4, в конфигураторе, в фасте(через CompileVipExpresion - смотрите в описаниях к патчам - там пример был), формах.
смотрите ExtAttrClassInfo.vih в C_ExtClass в frm(для компиляции форм нужно запихать в проект через #include ...)
В других версиях возможно подойдет piExtAttr.sGetAttr(coBaseDoc,BaseDoc.Nrec,'атрибут')

Re: Экспорт ДО на продажу

Добавлено: 28 июл 2017, 12:16
maikl
function sSetAttr (_wTable : word; _cRec : comp; _Name : string; _Val
: string) : boolean;

А какие параметры у этой функции, как узнать ?
Узнал.
Код таблицы-владельца атрибута, номер записи-владельца значения атрибута, название внешнего атрибута, новое значение атрибута.

Набрал в вычислителе sSetAttr(1102,Basedoc.nrec,'ЗАКАЗ','P') пишет нет функции.
iExAttr.sSetAttr(1102,Basedoc.nrec,'ЗАКАЗ','P') тоже самое ((.

Re: Экспорт ДО на продажу

Добавлено: 28 июл 2017, 12:35
edward_K
так вы про экспорт или про импорт? если экспортнуть значение , то все таки sGetAttr(на или вариации по типам ВА).

Re: Экспорт ДО на продажу

Добавлено: 28 июл 2017, 12:40
maikl
Мне нужен шаблон настройки для импорта ДО, с неким значением внешнего атрибута ЗАКАЗ.
Я подумал, что надо начать с экспорта, получить шаблон и из него сделать шаблон для импорта.
Хочу получать заказы из EDI (Эдисофт) и загружать их в Галактику
Номер заказа заносить во вн. атрибут ЗАКАЗ

Re: Экспорт ДО на продажу

Добавлено: 28 июл 2017, 16:13
Gella
А Вы случайно не с Х5 работаете по EDI?

Re: Экспорт ДО на продажу

Добавлено: 28 июл 2017, 16:36
maikl
Gella писал(а):А Вы случайно не с Х5 работаете по EDI?
C Тандером

Re: Экспорт ДО на продажу

Добавлено: 28 июл 2017, 16:39
maikl
Экспорт получился. Спасибо.
Импорт пока не получается.

Re: Экспорт ДО на продажу

Добавлено: 28 июл 2017, 16:47
maikl
https://yadi.sk/i/h2YLaYNi3LVnow
Новое значение атрибута в поле H000034
В формуле убирали кавычки, и по всякому пробовали, при импорте значение атрибута не заносится

Re: Экспорт ДО на продажу

Добавлено: 28 июл 2017, 18:03
maikl
Разобрались,
при экспорте надо писать: iExAttr.sGetAttr(1102, BaseDoc.Nrec, 'Наименование')
при импорте: iExAttr.sSetAttr(coIEHFlds, tHeader.Nrec, 'Наименование', sImportField)
sImportField это имя поля с новым значением

Все время вспоминаю, как кто то написал на форуме: " Покажите мне то животное, которое понимает их документацию" :grin:
всем спасибо

Re: Экспорт ДО на продажу

Добавлено: 28 июл 2017, 18:52
Den
А что непонятного в документации ? открываем ExpImp.pdf и там есть прям об этом "Экспорт/импорт внешних атрибутов и внешней классификации"

Re: Экспорт ДО на продажу

Добавлено: 28 июл 2017, 20:29
maikl
Den писал(а):А что непонятного в документации ? открываем ExpImp.pdf и там есть прям об этом "Экспорт/импорт внешних атрибутов и внешней классификации"
1. нет описания параметров.
2. поле должно быть пустым, в этом разделе, мне кажется про это не пишут.
3. формула импорта, вообще была для нас загадкой, пока случайно не написали ее так, как она приведена в примере.
В ней же нет кода таблицы, а есть странное наименование первого параметра и следующих тоже.

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

Re: Экспорт ДО на продажу

Добавлено: 31 июл 2017, 10:11
maikl
Формула для импорта внешнеиго атрибута внашем случае такая:
iExAttr.sSetAttr(coIEHFlds, tHeader.Nrec, 'ЗАКАЗ', sImportField)
работает, непонятно что такое
1. coIEHFlds,
2. есть таблица IEHFlds, видимо coIEHFlds возвращает код этой таблицы.
3. со это что ?

4.tHeader это что ? такой таблицы в базе не нашел.
5. sImportField это тоже непонятно ?

Re: Экспорт ДО на продажу

Добавлено: 31 июл 2017, 10:40
edward_K
1. coIEHFlds,
это константа номер таблицы IEHFlds
2. есть таблица IEHFlds, видимо coIEHFlds возвращает код этой таблицы.
да, вы можете просто использовать код таблицы из x$files
3. со это что ?
префик для констант код таблицы
4.tHeader это что ? такой таблицы в базе не нашел.
Здесь временная таблица, со структурой=IEHFlds, ну или синоним в других случаях.
5. sImportField это тоже непонятно ?
в доке была описана. Или по F1 в настройке импорте. Значение импортированного поля. В общем случае переменная, доступная для вычисление по Ctrl+F4 - F3.