Помогите новичку разобраться с заданием

В разделе «Контрагенты» в окне основного реестра записей создать кнопку «Зафиксировать подарки» по нажатию на которую всем контактным лицам контрагента у которых день рожденья в этом месяце будет происходить добавление на деталь «Подарки» новой записи. При этом должно появиться диалоговое окно позволяющее массово для всех записей указать категорию подарка, дата должна быть ровна дате дня рожденья контакта.

Подскажите пожалуйста как можно это реализовать,или лучше приведите подобный пример ранее расмотреный на форуме

Нравится

1 комментарий

1. Добавляете кнопку
2. Добавляете обработчик на кнопку:

3. В обработчике открываете окно выбора с помощью функции ShowSelectDataWindow из scr_WindowUtils (или аналогичных - они там же рядом)
попутно учимся пользоваться GREP-поиском для поиска примеров использования (http://www.community.terrasoft.ru/blogs/6250)
4. Получаем выбранное значение:

function wnd_VisesInObjectGridAreaOnNotify(ScriptableService, Sender, Message, Data) {
	if ((Sender.Tag == 'SelectVise') && (Message == MSG_OK)) {
// здесь обрабатывается ответ от него
// в функции AddVise берется ID типа визы: var ViseTypeID = Sender.Attributes('KeyValue');
		if (AddVise(Sender, Message)) {
			wnd_BaseGridAreaOnNotify(ScriptableService, Sender, Message, Data);
		}
	} else {
		wnd_BaseGridAreaOnNotify(ScriptableService, Sender, Message, Data);
	}
}
 
function btnAddOnClick(Control) {
// здесь открывается окно
	var Dataset = Services.GetNewItemByUSI('ds_Vises');
	var SelectViseWindow = ShowSelectDataWindowSimple(Dataset, 'Name',
		Self, true, 'SelectVise');
}

5. Запускаем создание записей Подарков:
5.1. Получить список контактов:

var Dataset = Services.GetNewItemByUSI('ds_Contacts');
var AccountIDs = GetGridSelectedIDsArray();
ApplyDatasetFilter(Dataset, 'AccountID', AccountIDs[0], true);
Dataset.Open();

5.2. для каждого контакта создать подарок:

while (!Dataset.IsEOF) {
	var ContactID = Dataset('ID');
	var ContactBirthDate = Dataset('BirthDate'); //или как поле дата рождения называется
	InsertGiftsForContact(ContactID, ContactBirthDate); // функция, которую вы напишете, использующая InsertQuery для добавления записей - примеры ищете в коде по InsertQuery 
	Dataset.GoToNext();
}
Показать все комментарии