Здравствуйте, коллеги!
При работе с платежными реквизитами, может возникнуть вопрос, как изменить количество полей карточки "Платежные реквизиты", в зависимости от законодательства страны контрагента. Ниже приведу особенности настройки функционала.
Платформа Terrasoft позволяет регулировать количество полей карточки "Платежные реквизиты". Благодаря чему, при формировании платежных реквизитов, список полей в карточке редактирования будет различаться, в зависимости от страны контрагента.
Для того чтобы определить для какой страны будут доступны те или иные поля, необходимо перейти в форму настройки пользовательских полей (Файл – Настройки – Пользовательские поля), выбрать группу «Платежные реквизиты», и установить взаимосвязь между страной и реквизитами.
Здравствуйте, Анастасия!
Изменить номер строки можно с помощью кода в Terrasoft Administrator.
Для этого откройте сервис src_MdsUserFieldsEdit и в функцию AppendItem(Dataset, UserFields, Item, ItemType, ItemControlColumnIndex) внесите следующие изменения:
(на примере ОГРН)
if (Item.Name == 'OGRN') { Dataset.ValAsInt(ItemRowNumberFieldName) = 22; //нужный Вам номер строки }
Полностью функция будет иметь вид:
void function AppendItem(Dataset, UserFields, Item, ItemType, ItemControlColumnIndex) { Dataset.Append(); if (1 == Item.ControlColumnIndex) { TotalLeft = TotalLeft + 1; Dataset.ValAsInt(ItemRowNumberFieldName) = TotalLeft; } else if (2 == Item.ControlColumnIndex) { TotalRight = TotalRight + 1; Dataset.ValAsInt(ItemRowNumberFieldName) = TotalRight; } if (Item.Name == 'OGRN') { Dataset.ValAsInt(ItemRowNumberFieldName) = 22; } Dataset.ValAsStr(UserFieldsCaptionFieldName) = UserFields.Caption; Dataset.ValAsStr(UserFieldsUSIFieldName) = UserFields.USI; Dataset.ValAsStr(ItemNameFieldName) = Item.Name; Dataset.ValAsStr(ItemCaptionFieldName) = Item.Caption; Dataset.ValAsGUID(ItemTypeFieldName) = ItemType; Dataset.ValAsGUID(ItemColumnIndexFieldName) = ItemControlColumnIndex; Dataset.Post(); }
Только внимательно следите чтобы не было дублей в номерах строки.