Внезапно банальная задача не решилась "в лоб".
Задача стоит таким образом - создаем счет в ТС, экспортируем его в 1С, потом надо счету в ТС присвоить номер, который ему прикрутила 1С.
Сначала настроил интеграцию Счетов, табличных частей - все ок, счета улетают в 1С. Но при импорте из 1С (другая интеграция, связь та же, настроено соответствие только полей номеров). Разнообразные пляски с бубном не помогли.
Решил сделать еще проще - в скрипте интеграции в функции OnBeforeRecordImport тупо прописал:
var InNumber = Select1C[QueryLink].НомерДок;
//Log.Write(1, InNumber);
Dataset('InvoiceNumber') = InNumber;
Номера документов из 1С приходят, система проходит по попадающим в выборку по условиям фильтрации записям, но номера счетов остаются прежними.
В итоге появилось несколько вопросов - если синхронизация записей осуществляется по полям Code1C, Date1C, Object1C - то что происходит при экспорте в 1С с полями Code1C и Date1C? По идее, ведь в них и при экспорте должны сразу загоняться значения из 1С, иначе повторный экспорт не увидит связи между записями?
Нравится
Уже стало приметой - стоит после того, как что-то не получается, решиться таки напрячь саппорт, как через 15 минут все решаешь сам :-)
Все решилось просто:
function OnAfterRecordExport(Param, Dataset, Select1C) {
var InCode = Dataset('Code1C');
Dataset.Edit();
Dataset('InvoiceNumber') = InCode;
Dataset.Post();
}