Описание правила | Пример правила применимости, script |
---|
для ИП (пример синтаксиса действует с версии 1.9.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
if (clientCompany == null || clientCompany.legalType == null) {
return null;
}
return clientCompany.legalType.id == 'IP';
} |
где для указания значения clientCompany.legalType.id используется справочник Формы предпринимательской деятельности: legal_types |
ЮЛ с суммой гарантии больше 10 млн (пример синтаксиса действует с версии 1.9.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
if (clientCompany == null || clientCompany.legalType == null || dealApplicationData.result.productDealState.amount == null) {
return null;
}
return clientCompany.legalType.id == 'ORGANIZATION' && dealApplicationData.result.productDealState.amount > 10000000;
} |
|
ЮЛ с фактической ценой контракта до 100 тысяч (пример синтаксиса действует с версии 1.9.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
if (clientCompany == null || clientCompany.legalType == null || dealApplicationData.result.productDealState.actualContractPrice == null) {
return null;
}
return clientCompany.legalType.id == 'ORGANIZATION' && dealApplicationData.result.productDealState.actualContractPrice < 100000;
} |
|
ЮЛ со сроком гарантии меньше 30 дней (пример синтаксиса действует с версии 1.9.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
if (clientCompany == null || clientCompany.legalType == null || dealApplicationData.result.productDealState.termDays == null) {
return null;
}
return clientCompany.legalType.id == 'ORGANIZATION' && dealApplicationData.result.productDealState.termDays < 30;
} |
|
ЮЛ, финансовая (FIN) или некоммерческая организации (UNCOM) (пример синтаксиса действует с версии 1.9.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
var clientOrgTypeId = clientCompany.orgType.id;
var orgTypes = ['FIN', 'UNCOM'];
if(clientCompany == null || clientOrgTypeId == null || clientCompany.legalType == null) {
return null;
}
return orgTypes.indexOf(clientOrgTypeId) !== -1 && clientCompany.legalType.id == 'ORGANIZATION';
} |
где orgTypes может быть 'COM' - коммерческая организация, 'UNCOM' - некоммерческая организация, 'FIN' - финансовая организация |
ЮЛ, регион заказчика Камчатский край или Чукотский АО (пример синтаксиса действует с версии 1.9.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
var customerRegion = dealApplicationData.result.productDealState.customer.region.id;
var customerRegions = ['Камчатский край', 'Чукотский АО'];
if (clientCompany == null || clientCompany.legalType == null || customerRegion == null) {
return null;
}
return clientCompany.legalType.id == 'ORGANIZATION' && customerRegions.indexOf(customerRegion) !== -1;
} |
|
ИП с типом налогообложения УСН, Сельхоз, ЕНВД (пример синтаксиса действует с версии 1.9.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
if (clientCompany == null) {
return null;
}
var taxSystemDto = dealApplicationData.getFetchField('TaxSystemCatalog', clientCompany.taxSystem);
if (clientCompany.legalType == null || taxSystemDto == null ) {
return null;
}
var taxSystems = ['USN', 'ENVD', 'ESHN'];
return taxSystems.indexOf(taxSystemDto.code) !== -1 && clientCompany.legalType.id == 'IP';
} |
|
ЮЛ, дата государственно регистрации после 2003-06-05 (пример синтаксиса действует с версии 1.9.0)
|
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
if (clientCompany == null || clientCompany.legalType == null || clientCompany.regDate == null) {
return null;
}
return clientCompany.legalType.id == 'ORGANIZATION' && clientCompany.regDate > '2003-06-05';
} |
|
ЮЛ, Сумма БГ до 2 млн.руб. - срок деятельности клиента от 180 дней. Сумма БГ от 2 млн.руб. срок деятельности клиента - от 365 дней.
(пример синтаксиса действует с версии 1.9.0)
|
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
if (clientCompany == null || clientCompany.legalType == null || clientCompany.regDate == null || dealApplicationData.result.productDealState.amount == null) {
return null;
}
now = new Date();
rD = new Date(clientCompany.regDate);
termClient = (now - rD)/(60 * 60 * 24 * 1000);
return clientCompany.legalType.id == 'ORGANIZATION' && ((termClient >= 180 && dealApplicationData.result.productDealState.amount <= 2000000) || (termClient >= 365 && dealApplicationData.result.productDealState.amount > 2000000));
} |
|
ЮЛ, базовый ОКВЭД 86.23 - Стоматологическая практика или 86.90.9 - Деятельность в области медицины прочая, не включенная в другие группировки (пример синтаксиса действует с версии 1.9.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
if (clientCompany == null) {
return null;
}
var сlientBaseOkved = dealApplicationData.getFetchField('OkvedCatalog', clientCompany.baseOkved);
if (clientCompany.legalType == null || сlientBaseOkved == null) {
return null;
}
var baseOkveds = ['86.23', '86.90.9'];
return baseOkveds.indexOf(сlientBaseOkved.code) !== -1 && clientCompany.legalType.id == 'ORGANIZATION';
} |
|
ЮЛ с организационно-правовыми формами АО (код 12200), ПАО (код 12247), НАО (код 12267) (пример синтаксиса действует с версии 1.9.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
if (clientCompany == null) {
return null;
}
var okopfDto = dealApplicationData.getFetchField('OkopfCatalog', clientCompany.okopf);
if(okopfDto == null || clientCompany.legalType == null) {
return null;
}
var okopfTypes = ['12200', '12247', '12267'];
return clientCompany.legalType.id == 'ORGANIZATION' && okopfTypes.indexOf(okopfDto.code) !== -1;
} |
|
ЮЛ, 223-ФЗ или 44-ФЗ (пример синтаксиса действует с версии 1.9.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
var federalLaw = dealApplicationData.result.productDealState.tender.federalLaw.id;
if (clientCompany == null || clientCompany.legalType == null || federalLaw == null) {
return null;
}
var federalLaws = ['223FL', '44FL'];
return federalLaws.indexOf(federalLaw) !== -1 && clientCompany.legalType.id == 'ORGANIZATION';
} |
где для указания значения federalLaws используется справочник Федеральные законы: federallaw_types |
Продукт применим только для головных компаний (ЮЛ), филиалы исключаются (пример синтаксиса действует с версии 1.9.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
if(clientCompany == null) {
return null;
}
var okopfDto = dealApplicationData.getFetchField('OkopfCatalog', clientCompany.okopf);
if(okopfDto == null || clientCompany.legalType == null) {
return null;
}
var sourceInfo = clientCompany.sourceInfo;
var okopfTypes = ['30000', '30001', '30002', '30003', '30004', '30005', '30006', '30008'];
return clientCompany.legalType.id == 'ORGANIZATION' && okopfTypes.indexOf(okopfDto.code) === -1 && sourceInfo.headCompany === true && sourceInfo.hasBranches === false;
} |
|
ЮЛ, регион фактического местоположения компании Камчатский край или Тульская область (пример синтаксиса действует с версии 1.14.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
if (clientCompany == null) {
return null;
}
var factAddressDto = dealApplicationData.getFetchField('CompanyAddress', clientCompany.factAddress);
if (clientCompany.legalType == null || factAddressDto == null) {
return null;
}
var companyRegions = ['Камчатский край', 'Тульская область'];
return companyRegions.indexOf(factAddressDto.region) !== -1 && clientCompany.legalType.id == 'ORGANIZATION';
} |
|
ЮЛ, стоп-регионы по юридическому адресу: Адыгея, Республика Ингушетия, Чеченская республика, Республика Дагестан, республика Крым, Севастополь
(пример синтаксиса действует с версии 1.14.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
var LegalAddress = dealApplicationData.getFetchField('CompanyAddress', clientCompany.legalAddress);
if (clientCompany == null || clientCompany.legalType == null || LegalAddress.region == null) {
return null;
}
var regex = new RegExp('адыгея|ингушет|чечен|дагестан|крым|севастоп', 'i');
var clientLegalReg = regex.test(LegalAddress.region);
return !clientLegalReg && clientCompany.legalType.id == 'ORGANIZATION';
} |
|
ЮЛ, среди собственников есть юр. лица (пример синтаксиса действует с версии 1.14.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
if (clientCompany == null || clientCompany.legalType == null) {
return null;
}
var legalFounders = dealApplicationData.getFetchFieldAsMap('LegalFounder');
var keyArray = legalFounders.keySet().toArray();
if(keyArray.length == 0) {
return false;
}
return clientCompany.legalType.id == 'ORGANIZATION';
} |
|
ЮЛ, среди собственников только физ. лица (пример синтаксиса действует с версии 1.14.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
if (clientCompany == null || clientCompany.legalType == null) {
return null;
}
var legalFounders = dealApplicationData.getFetchFieldAsMap('LegalFounder');
var keyArray = legalFounders.keySet().toArray();
if(keyArray.length !== 0) {
return false;
}
return clientCompany.legalType.id == 'ORGANIZATION';
} |
|
ЮЛ, запрет тендеров по 275-ФЗ (пример синтаксиса действует с версии 1.16.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
var tenderClosedLaw = dealApplicationData.result.productDealState.tender.closedLaw;
if (clientCompany == null || clientCompany.legalType == null) {
return null;
}
if (tenderClosedLaw === true) {
return false;
}
return clientCompany.legalType.id == 'ORGANIZATION';
} |
|
ЮЛ, валюта контракта - рубли
(пример синтаксиса действует с версии 1.9.0)
|
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
var tenderCurrencyType = dealApplicationData.result.productDealState.tender.currencyType;
var сurrencyTypeDto = dealApplicationData.getFetchField('CurrencyTypeCatalog', tenderCurrencyType);
if (clientCompany == null || clientCompany.legalType == null) {
return null;
}
var currencyTypes = ['RUB'];
return clientCompany.legalType.id == 'ORGANIZATION' && currencyTypes.indexOf(сurrencyTypeDto.code) !== -1;
} |
|
ИП, БГ(У), где сумма БГ на исполнение не превышает 10 млн. (пример синтаксиса действует с версии 1.16.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
var isNeedPerformanceBgDeal = dealApplicationData.result.productDealState.isNeedPerformanceBg;
if (isNeedPerformanceBgDeal === true) {
var amountBG = dealApplicationData.result.productDealState.performanceBg.amount;
return amountBG <= 10000000;
}
if (clientCompany == null || clientCompany.legalType == null ) {
return null;
}
return clientCompany.legalType.id == 'IP';
} |
|
Не заполнены фин. показатели. (пример синтаксиса действует с версии 1.20.0)
Ниже приведен аналог проверки заполнения фин. показателей для версии 1.19.0 |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
return !isFinanceIndicatorFilledForAllPeriods(dealApplicationData, 'FORM_1', '1600') ||
!isFinanceIndicatorFilledForAllPeriods(dealApplicationData, 'FORM_1', '1700') ||
!isFinanceIndicatorFilledForAllPeriods(dealApplicationData, 'FORM_2', '2110');
} |
|
Якорь |
---|
| Аналог проверки фин. показателей 1.19 |
---|
| Аналог проверки фин. показателей 1.19 |
---|
| Сумма БГ меньше 1млн И не заполнены фин. показатели.
(пример синтаксиса действует с версии 1.19.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
if (dealApplicationData.result.productDealState.amount > 1000000) {
return false;
}
if (dealApplicationData.getFetchFieldAsMap('FinanceIndicator') == null) {
return true;
}
var allIndicators = dealApplicationData.getFetchFieldAsMap('FinanceIndicator').values();
var idOf1600 = allIndicators.stream()
.filter(function(e) {
return '1600' == e.code
})
.findFirst()
.map(function(e){ return e.id})
.orElse(null);
var idOf1700 = allIndicators.stream()
.filter(function(e) {
return '1700' == e.code
})
.findFirst()
.map(function(e){ return e.id})
.orElse(null);
var idOf2110 = allIndicators.stream()
.filter(function(e) {
return '2110' == e.code
})
.findFirst()
.map(function(e){ return e.id})
.orElse(null);
if (idOf1600 == null || idOf1700 == null || idOf2110 == null) {
return true;
}
var form1Values = dealApplicationData.result.financeForms.stream()
.filter(function(e) {
return '1b010932-3e5b-4992-861e-b3648f83a03d' == e.formId
})
.findFirst()
.get();
var form2Values = dealApplicationData.result.financeForms.stream()
.filter(function(e) {
return 'a48142d6-ded8-41c2-bfbf-57035a4fc773' == e.formId
})
.findFirst()
.get();
if (form1Values == null || form2Values == null) {
return true;
}
for (var j = 0; j < form1Values.periods.size(); j++) {
if (form1Values.values[form1Values.getIndicators().indexOf(idOf1600)][j] == null ||
form1Values.values[form1Values.getIndicators().indexOf(idOf1700)][j] == null) {
return true;
}
}
for (var j = 0; j < form2Values.periods.size(); j++) {
if (form2Values.values[form2Values.getIndicators().indexOf(idOf2110)][j] == null) {
return true;
}
}
return false;
} |
|
ЮЛ, если все физ. лица компании с документом "Паспорт гражданина РФ" (пример синтаксиса действует с версии 1.19.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
var allPersonsHasPassport = true;
var personsMap = dealApplicationData.getFetchFieldAsMap('Person');
if (personsMap !== null) {
var persons = personsMap.values();
allPersonsHasPassport = persons.stream().allMatch(function(person) {
return person.docType != null && person.docType.id == 'PASSPORT';
});
}
return clientCompany.legalType.id == 'ORGANIZATION' && allPersonsHasPassport;
} |
|
ЮЛ, если прикреплены документы: "Бухгалтерская (финансовая) отчетность на последнюю календарную квартальную дату" И "Годовая бухгалтерская (финансовая) отчетность" (пример синтаксиса действует с версии 1.19.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
if (clientCompany == null) {
return null;
}
// Для проверки каждого документа требуются:
// 1. переменная, хранящая признак прикрепления документа
//----------------------------------------
var financeReportExists = false;
//----------------------------------------
var analyticalBalanceExists = false;
var documentsMap = dealApplicationData.getFetchFieldAsMap('ApplicationDocument');
if (documentsMap !== null) {
var documents = documentsMap.values();
// 2. осуществить поиск прикрепленного документа (не архивного) нужного типа; записать результат (true/false) в переменную
//----------------------------------------
financeReportExists = documents.stream().anyMatch(function(doc) {
return doc.docType != null && doc.docType.id == 'FINANCE_REPORT_LAST_QUARTER' && doc.docState != null && doc.docState.id == 'ACTUAL';
});
//----------------------------------------
analyticalBalanceExists = documents.stream().anyMatch(function(doc) {
return doc.docType != null && doc.docType.id == 'ANALYTICAL_BALANCE_LAST_REPORTING_YEAR' && doc.docState != null && doc.docState.id == 'ACTUAL';
});
}
// 3. Если требуются все документы, то в return указать "! (признак_прикрепления_документа_1 && ... && признак_прикрепления_документа_N)"
// Если требуется прикрепить один из документов, то в return указать "! (признак_прикрепления_документа_1 || ... || признак_прикрепления_документа_N)"
//----------------------------------------
return clientCompany.legalType.id == 'ORGANIZATION' && !(financeReportExists && analyticalBalanceExists);
//----------------------------------------
} |
|
ЮЛ, стоп по ИНН заказчика: 1660049283, 1653014843. (пример синтаксиса действует с версии 1.6.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
var customerInn = dealApplicationData.result.productDealState.customer.inn;
if (clientCompany == null || clientCompany.legalType == null) {
return null;
}
var stopCustomerInn = ['1660049283', '1653014843'];
return clientCompany.legalType.id == 'ORGANIZATION' && stopCustomerInn.indexOf(customerInn) == -1;
} |
|
ЮЛ, стоп по ОКПД (пример синтаксиса действует с версии 1.19.0) |
Блок кода |
---|
| function isAvailableForDealApplicationData(dealApplicationData) {
var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id);
var okpdMap = dealApplicationData.getFetchFieldAsMap('OkpdCatalog');
var okpdIsValid = true;
if (okpdMap !== null) {
var okpds = okpdMap.values();
okpdIsValid = okpds.stream().allMatch(function(okpd) {
return okpd.code !== null && okpd.code !== '42.11.20.000';
});
}
return clientCompany.legalType.id == 'ORGANIZATION' && okpdIsValid;
} |
|