Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 3 Следующий »

Примеры правил применимости, которые можно использовать в правиле применимости продукта в целом или для пакетов документов в составе продукта.

Вы можете по аналогии написать собственные правила.

Описание правилаscript

ИП с типом налогообложения ОСНО и запрашиваемой суммой больше 1 млн

(пример синтаксиса действует до  версии 1.8 включительно)

                 function isAvailableForDealApplicationData(dealApplicationData) {

                     var companyClass = java.lang.Class.forName('com.keyintegrity.shb.company.query.dto.CompanyDto');

                     var clientCompany = dealApplicationData.fetchFields[companyClass][dealApplicationData.result.client.id];

                     if (clientCompany == null) {

                         return null; 

                    } 

                    var taxSystemClass =  java.lang.Class.forName('com.keyintegrity.shb.company.query.dto.catalog.TaxSystemCatalogDto'); 

                    var taxSystemDto = dealApplicationData.fetchFields[taxSystemClass][clientCompany.taxSystem];

                     if (clientCompany.legalType == null || taxSystemDto == null || dealApplicationData.result.productDealState.amount == null) {

                         return null;

                     } 

                    return taxSystemDto.code == 'OSNO' && clientCompany.legalType.id == 'IP' && dealApplicationData.result.productDealState.amount > 1000000;

                 }             

ЮЛ с типом налогообложения ОСНО и запрашиваемой суммой больше 10 млн

(пример синтаксиса действует до  версии 1.8 включительно)

                 function isAvailableForDealApplicationData(dealApplicationData) {

                      var companyClass = java.lang.Class.forName('com.keyintegrity.shb.company.query.dto.CompanyDto');

                     var clientCompany = dealApplicationData.fetchFields[companyClass][dealApplicationData.result.client.id]; 

                    if (clientCompany == null) { 

                        return null; 

                    }

                     var taxSystemClass =  java.lang.Class.forName('com.keyintegrity.shb.company.query.dto.catalog.TaxSystemCatalogDto'); 

                    var taxSystemDto = dealApplicationData.fetchFields[taxSystemClass][clientCompany.taxSystem];

                     if (clientCompany.legalType == null || taxSystemDto == null || dealApplicationData.result.productDealState.amount == null) { 

                        return null;

                     } 

                    var taxSystems = ['OSNO'];

                     return taxSystems.indexOf(taxSystemDto.code) !== -1 && clientCompany.legalType.id == 'ORGANIZATION' && dealApplicationData.result.productDealState.amount > 10000000;

                 }             

коммерческие и некоммерческие организации - ЮЛ 

(пример синтаксиса действует до  версии 1.8 включительно)

                 function isAvailableForDealApplicationData(dealApplicationData) {

                     var orgTypes = ['COM', 'UNCOM'];

                     var companyClass = java.lang.Class.forName('com.keyintegrity.shb.company.query.dto.CompanyDto');

                     var clientCompany = dealApplicationData.fetchFields[companyClass][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'; 

                }             

ЮЛ с организационно-правовыми формами АО (код 12200), ПАО (код 12247), НАО (код 12267)

(пример синтаксиса действует до  версии 1.8 включительно)

function isAvailableForDealApplicationData(dealApplicationData) {

if (dealApplicationData.result.client.clientType.id != 'COMPANY') {

return false;

}

var okopfTypes = ['12200', '12247', '12267'];

var companyClass = java.lang.Class.forName('com.keyintegrity.shb.company.query.dto.CompanyDto');

var clientCompany = dealApplicationData.fetchFields[companyClass][dealApplicationData.result.client.id];

var okopfClass = java.lang.Class.forName('com.keyintegrity.shb.company.query.dto.catalog.OkopfCatalogDto');

var okopfDto = dealApplicationData.fetchFields[okopfClass][clientCompany.okopf]; return okopfDto !== null && okopfTypes.indexOf(okopfDto.code) !== -1;

}

ЮЛ с заявкой на продукт по 44 или 223, или 185/615 ФЗ (пример синтаксиса действует до  версии 1.8 включительно)

                 function isAvailableForDealApplicationData(dealApplicationData) {

                     var fls = ['44FL','223FL','185FL615PP'];

                     var companyClass = java.lang.Class.forName('com.keyintegrity.shb.company.query.dto.CompanyDto');

                     var clientCompany = dealApplicationData.fetchFields[companyClass][dealApplicationData.result.client.id];

                     if (clientCompany == null || clientCompany.legalType == null || dealApplicationData.result.productDealState.tender.federalLaw == null) {

                         return null;

                     }

                     return fls.indexOf(dealApplicationData.result.productDealState.tender.federalLaw.id) !== -1 && clientCompany.legalType.id == 'ORGANIZATION'; 

                }             

Продукт применим только для головных компаний (ЮЛ), филиалы исключаются (пример синтаксиса действует с версии 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';
}

ИП с типом налогообложения УСН, Сельхоз, ЕНВД и запрашиваемой суммой больше 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;
}
  • Нет меток