Примеры правил применимости, которые можно использовать в правиле применимости продукта в целом или для пакетов документов в составе продукта.
Вы можете по аналогии написать собственные правила.
Описание правила | script |
---|---|
Продукт применим только для головных компаний (ЮЛ), филиалы исключаются (пример синтаксиса действует с версии 1.9.0) | function isAvailableForDealApplicationData(dealApplicationData) { var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id); if(clientCompany == null || clientCompany.legalType == null) { return null; } var sourceInfo = clientCompany.sourceInfo; if (sourceInfo) { if (sourceInfo.headCompany) { return true; } else if (sourceInfo.hasBranches) { return false; } } else if (clientCompany.okopf) { return [30000, 30001, 30002, 30003, 30004, 30005, 30006, 30008].indexOf(Number(clientCompany.okopf.id)) === -1; } var clientLegalTypeId = clientCompany.legalType.id; return clientLegalTypeId == 'ORGANIZATION'; } где для указания значения clientCompany.legalType.id используется справочник legal_types |
ИП с типом налогообложения УСН, Сельхоз, ЕНВД и запрашиваемой суммой больше 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 || dealApplicationData.result.productDealState.amount == null) { return null; } var taxSystems = ['USN', 'ENVD', 'ESHN']; return taxSystems.indexOf(taxSystemDto.code) !== -1 && clientCompany.legalType.id == 'IP' && dealApplicationData.result.productDealState.amount > 1000000; } |
ЮЛ с организационно-правовыми формами АО (код 12200), ПАО (код 12247), НАО (код 12267) (пример синтаксиса действует с версии 1.9.0) | function isAvailableForDealApplicationData(dealApplicationData) { if (dealApplicationData.result.client.clientType.id != 'COMPANY') { return false; } var okopfTypes = ['12200', '12247', '12267']; var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id); var okopfDto = dealApplicationData.getFetchField('OkopfCatalog', clientCompany.okopf); return okopfDto !== null && okopfTypes.indexOf(okopfDto.code) !== -1; } |
коммерческие и некоммерческие организации - ЮЛ (пример синтаксиса действует с версии 1.9.0) | function isAvailableForDealApplicationData(dealApplicationData) { var orgTypes = ['COM', 'UNCOM']; var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id); if(clientCompany == null || clientCompany.orgType == null || clientCompany.legalType == null) { return null; } var clientOrgTypeId = clientCompany.orgType.id; var clientLegalTypeId = clientCompany.legalType.id; return orgTypes.indexOf(clientOrgTypeId) !== -1 && clientLegalTypeId == 'ORGANIZATION'; } |
ЮЛ с налогообложением = (УСНО ИЛИ ЕНВД ИЛИ Сельхоз) И сумма БГ>10 млн И ФЗ = (223 ФЗ ИЛИ 185/615 ФЗ) (пример синтаксиса действует с версии 1.9.0) | function isAvailableForDealApplicationData(dealApplicationData) { var clientCompany = dealApplicationData.getFetchField('Company', dealApplicationData.result.client.id); var taxSystemDto = dealApplicationData.getFetchField('TaxSystemCatalog', clientCompany.taxSystem); var taxSystems = ['USN', 'ENVD', 'ESHN']; var federalLaw = dealApplicationData.result.productDealState.tender.federalLaw.id; var federalLaws = ['223FL','185FL615PP']; if (clientCompany == null || clientCompany.legalType == null || taxSystemDto == null || dealApplicationData.result.productDealState.amount == null || federalLaw == null) { return null; } return federalLaws.indexOf(federalLaw) !== -1 && taxSystems.indexOf(taxSystemDto.code) !== -1 && clientCompany.legalType.id == 'ORGANIZATION' && dealApplicationData.result.productDealState.amount > 10000000; } |