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