Добрый день, подскажите пожалуйста как добавить записи в деталь из карточки редактирования, для сохраненной детали, и для вновь создаваемой.
Нравится
Илья, уточните, пожалуйста, что Вы имеете ввиду.
Если я правильно понял, то имеются виду вкладки с деталями на карточке редактирования:
Чтобы они появились в карточке необходимо для карточки редактирования раздела в "Рабочих местах" указать признак "Добавить в карточку детали раздела":
Тогда можно на вкладках карточки редактирования добавлять записи на детали.
Поправьте, если я не так понял.
Илья, я это понял.
По поводу заполнения детали, тут зависит от того, как Вы связывали ее с объектом продажи.
Если связь между деталью и полем на данный момент отсутствует, то можно после добавления группы делать выборку контрагентов, входящих в указанною группу, а потом для каждого контрагента создавать экземпляры (записи) объекта детали.
Пример можно посмотреть на "Странице реестра контактов рассылки", где добавляется группа контактов. Думаю, это то, что нужно.
Реализовал вот так:
Guid affiliationId = Guid.Parse(Page.AffilationEdit.Value.ToString()); var userConnection = Page.UserConnection; var entitySchemaManager = Page.Schema.SchemaManagerProvider.GetManager("EntitySchemaManager") as Terrasoft.Core.Entities.EntitySchemaManager; var entitySchemaQuery = new EntitySchemaQuery(entitySchemaManager, "AccountToAffiliation"); var accountColumnName = entitySchemaQuery.AddColumn("Account").Name; entitySchemaQuery.Filters.Add(entitySchemaQuery.CreateFilterWithParameters(FilterComparisonType.Equal, "Affiliation", affiliationId)); var accountCollection = entitySchemaQuery.GetEntityCollection(UserConnection); Guid accountId; var accountInOpportunityEntitySchema = UserConnection.EntitySchemaManager.GetInstanceByName("AccountInOpportunity"); foreach (var record in accountCollection) { accountId = record.GetTypedColumnValue<Guid>("AccountId"); var accountInOpportunityEntity = accountInOpportunityEntitySchema.CreateEntity(UserConnection); accountInOpportunityEntity.SetDefColumnValues(); accountInOpportunityEntity.SetColumnValue("OpportunityId", EntityPrimaryColumnValue); accountInOpportunityEntity.SetColumnValue("AccountId", accountId); accountInOpportunityEntity.Save(); }
Илья, рад, что получилось.
Спасибо, что делитесь решениями.)