счет
Технические вопросы
7.x

Создание счета в одно нажатие

Здравствуйте, подскажите пожалуйста как можно решить задачю!

В карточке продаж в группе элементов "Счета" по одному нажатию нужно формировать и прикреплять счет к этой продаже не переходя и редактирую карточку счета! тоесть: Нажимаю на кнопку Добавить и в этот момент вся информация продажи и продукты продажи в том числе, подтягивались в счет, автоматически создавали его и добавляли в группу элементов "Счет"( вообщем все что мы делаем руками при добавлении счета, нажал-> открыл-> заполнил->сохранил, делалось автоматически )
Буду благодарен за инф.

Нравится

8 комментариев

Здравствуйте.

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

Далее в левом блоке кода, добавить примерно такой код:

[javascript]
define('OpportunityPage', ['ext-base', 'terrasoft', 'sandbox', , 'Opportunity', 'OpportunityPageStructure',
'OpportunityPageResources', 'GeneralDetails'],
function(Ext, Terrasoft, sandbox, Opportunity, structure, resources, GeneralDetails) {

structure.userCode = function() {

this.methods.createInvoice = function(){
//код для создания счета
//получить данные продажи можно так
var opportunityId = this.get('Id');
var OpportunityTitle = this.get('Title');
};
this.actions = [
{
caption: 'Создать счет',
methodName: 'createInvoice'
}
];
};
return structure;
});
[/javascript]

После публикации, у Вас на странице появится действие "Создать счет".
В функции createInvoice необходимо прописать логику добавления нового счета.
Как получить значения полей текущей продажи есть в примере.
Чтобы получить файлы продажи - нужно будет создавать отдельные select'ы, а затем и insert'ы.
Примеры можно посмотреть в исходных кодах конфигурации.

Дмитрий, большое Вам спасибо, просто огромное))

> Чтобы получить файлы продажи - нужно будет создавать отдельные select'ы, а затем и insert'ы.
Примеры можно посмотреть в исходных кодах конфигурации.

А можно указать место, где это можно посмотреть?

Здравствуйте, Наталья!

Пример можно посмотреть в схеме MoneyModule, функции "function onLoadCurrencyRate".

А можно перейти на страницу счета через
function goToPage()
{
var url = document.getElementById('id_Элемента');
document.location.href = url.value;
} ???
Из-за того что анг язык в BPM не работает, уж больно сложно придумывать код)

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

Юрий,

[javascript]
this.add('EditPageName', null, this);
[/javascript]

Дмитрий :lol: Большое спасибо)

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