Создания шаблона для импорта - как добавить собственные поля

Добавляю в стандартные объекты свои поля, хотелось бы их увидеть при создании шаблона для импорта. В Инструментах/Конфигурации вижу такую вещь как "Скачать шаблон для импорта" - для нужного мне объекта. Но ни в самом объекте, ни в процессе "Скачать шаблон для импорта" не вижу ни опций для моего поля типа "участвовать в импорте", ни возможности добавить мое поле в импорт.
Тот же вопрос у меня относится к созданию импорта для моих собственных модулей. Как я понимаю, "Скачать шаблон для импорта" - это бизнесс-процесс.

Открываю бизнесс-процесс, например для контактов.
Внутри бизнесс-процесса, кроме "начала" и "завершения" есть только "задание-сценарий", вот его код :

var entitySchemaManager = UserConnection.EntitySchemaManager;
var entitySchema = entitySchemaManager.GetInstanceByName("KnowledgeBaseFile");
var entitySchemaQuery = new EntitySchemaQuery(entitySchemaManager, entitySchema.Name);

var dataColumn = entitySchemaQuery.AddColumn("Data");
entitySchemaQuery.Filters.Add(
        entitySchemaQuery.CreateFilterWithParameters(
                FilterComparisonType.Equal, "KnowledgeBase", new object[] {new Guid("edb71f06-f46b-1410-e980-20cf30b39373")}));
entitySchemaQuery.Filters.Add(
        entitySchemaQuery.CreateFilterWithParameters(
                FilterComparisonType.Equal, "Name", new object[] {FileName.ToString()}));

var entityCollection = entitySchemaQuery.GetEntityCollection(UserConnection);
if (entityCollection.Count > 0) {
        var data = entityCollection[0].GetBytesValue(dataColumn.Name)  as byte[];    
        var response = HttpContext.Current.Response;
        //response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml";
        //response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", FileName));
        //response.AddHeader("Content-Length", data.Length.ToString());
        //response.BinaryWrite(data);
        Terrasoft.Configuration.PageResponse.Write(response, data, FileName, Terrasoft.Configuration.ContentType.XmlType);
}

return true;

Как я могу добавить или где я могу указать, что поле должно участвовать в импорте?

Нравится

4 комментария

Наталия, вот здесь: http://www.community.terrasoft.ua/forum/topic/9011 (пост 3) я поднимала похожий вопрос, но в средствами бмпОнлайн он, к сожалению, так и не решился...

Возможно, Ваша задача "легче" и другие участники форума подскажут, как именно ее реализовать. Или за это время что-то поменялось. В общем, мне самой интересен ответ на этот вопрос)

Насколько я понял, Вы хотите добавить кастомные поля в шаблоны для импорта.
Для этого достаточно скачать, отредактировать и залить шаблон из базы знаний:

В объекте поле должно называться также, как в шаблоне.

Ок, спасибо. А как насчет созадния шаблона для импорта для собственных мокулей?
На данном этапе я обошлась импортом данных прямо через SQL, но на будущее хотелось бы знать.

Здравствуйте, Наталия.
Вам следует смотреть в процесс схемы Страница настроек импорта контактов, например.

Показать все комментарии