Здравствуйте!
Добавил в деталь Платежные реквизиты, свойство "Основной", чтобы в Счете при выборе Контрагента по умолчанию подставлялся реквизит с признаком Основной.
Как получить я понял:
rootSchemaName: "AccountBillingInfo"
});
esq.addColumn("Account");
esq.addColumn("qrtIsMain");
esq.addColumn("Name");
esq.filters.add("AccId", Terrasoft.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL, "Account", this.get("qrtAccount").Id));
esq.filters.add("IsMain", Terrasoft.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL, "qrtIsMain", true));
esq.getEntityCollection(function(result) {
if (result.success) {
Terrasoft.each(result.collection.getItems(), function(item) {
//self.set("qrtClientBilling", item.get("Id"));
//self.setValue("qrtClientBilling", item.get("Id"));
});
}
});
А как установить значение (то есть выбрать из существующих программно) ComboBox'а не пойму, подскажите, пожалуйста
Нравится
Для того чтобы установить новые значения для колонки записи (объекта) из клиентской части приложения необходимо использовать Terrasoft.InsertQuery. К сожалению, статьи по добавлению данных в конфигурационных схемах в документации разработчика пока нет.
Единственный пример, который может вам помочь, приведен в статье по созданию детали с выбором из справочника. Правда здесь используется пакетный запрос, аггрегирующий несколько запросов InsertQuery.
Стаья находится здесь:
https://academy.terrasoft.ru/documents/technic-sdk/7-8-0/sozdanie-detal…
Обратите внимание на этот кусок кода из примера
// Добавление выбранных продуктов. addCallBack: function(args) { // Экземпляр класса пакетного запроса BatchQuery. var bq = this.Ext.create("Terrasoft.BatchQuery"); var OrderId = this.get("MasterRecordId"); // Коллекция выбранных в справочнике документов. this.selectedRows = args.selectedRows.getItems(); // Коллекция, передаваемая в запрос. this.selectedItems = []; // Копирование необходимых данных. this.selectedRows.forEach(function(item) { item.OrderId = OrderId; item.DocumentId = item.value; bq.add(this.getDocumentInsertQuery(item)); this.selectedItems.push(item.value); }, this); // Выполнение пакетного запроса, если он не пустой. if (bq.queries.length) { this.showBodyMask.call(this); bq.execute(this.onDocumentInsert, this); } }, //Возвращает запрос на добавление текущего объекта. getDocumentInsertQuery: function(item) { var insert = Ext.create("Terrasoft.InsertQuery", { rootSchemaName: this.entitySchemaName }); insert.setParameterValue("Order", item.OrderId, this.Terrasoft.DataValueType.GUID); insert.setParameterValue("Document", item.DocumentId, this.Terrasoft.DataValueType.GUID); return insert; },
Здесь я давал решение:
Всем спасибо за помощь, всё получилось...
"Владимир Соколов" написал:Здесь я давал решение:
http://www.community.terrasoft.ua/forum/topic/21807
... отдельное спасибо за пример