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

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

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

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

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

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

Описание правила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;
}
  • Нет меток