fix(payments): убрать обязательное поле «КПП банка» из реквизитов счёта
Typecheck / desktop (pull_request) Successful in 13m21s
Typecheck / controller (pull_request) Successful in 13m24s

КПП — реквизит юрлица, у ИП и физлиц его нет. Общий тип реквизитов
банковского счёта (IBankAccount.details.kpp) требовал КПП у всех держателей
счёта, из-за чего индивидуальный предприниматель не мог пройти регистрацию
(и фронт, и бэкенд заворачивали пустой КПП).

Поле снято во всех слоях:
- cooptypes: тип IBankAccount.details + шаблон ParticipantApplication
  (render-аргументы и плейсхолдеры) + mock-данные registry
- controller: BankAccountDetails(Input) DTO, domain-интерфейсы, init-config
- factory: ajv-схема BankAccountSchema (properties + required)
- sdk: zeus-селектор bankAccountSelector + перегенерённый zeus-клиент
- desktop: формы ИП/юрлица/физлица, реквизиты, добавление способа оплаты,
  CSV-импорт участников

КПП организации/кооператива (details.kpp, отчётность, qrpay/sberpoll)
НЕ затронут — это легитимный реквизит юрлица.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
coopops
2026-06-04 11:40:13 +00:00
parent e54115d28f
commit 93b94326ca
37 changed files with 26 additions and 176 deletions
@@ -11,9 +11,4 @@ export class BankAccountDetailsInputDTO {
@IsNotEmpty({ message: 'Корр. счет обязателен' })
@IsString()
corr!: string;
@Field(() => String, { description: 'КПП банка' })
@IsNotEmpty({ message: 'КПП обязателен' })
@IsString()
kpp!: string;
}
@@ -12,14 +12,8 @@ export class BankAccountDetailsDTO {
@IsString()
corr: string;
@Field(() => String, { description: 'КПП банка' })
@IsNotEmpty({ message: 'КПП обязателен' })
@IsString()
kpp: string;
constructor(details: { bik: string; corr: string; kpp: string }) {
constructor(details: { bik: string; corr: string }) {
this.bik = details.bik;
this.corr = details.corr;
this.kpp = details.kpp;
}
}
@@ -6,6 +6,5 @@ export interface BankAccountDomainInterface {
details: {
bik: string;
corr: string;
kpp: string;
};
}
@@ -11,6 +11,5 @@ export interface BankTransferDataDomainInterface {
details: {
bik: string;
corr: string;
kpp: string;
};
}
@@ -36,7 +36,6 @@ export const initConfig: {
details: {
bik: '123456789',
corr: '12345678901234567890',
kpp: '123456789',
},
},
},
+1 -2
View File
@@ -2074,8 +2074,7 @@ export const ReturnTypes: Record<string,any> = {
},
BankAccountDetails:{
bik:"String",
corr:"String",
kpp:"String"
corr:"String"
},
BankPaymentMethod:{
created_at:"DateTime",
+5 -21
View File
@@ -1981,8 +1981,6 @@ export type ValueTypes = {
bik?:boolean | `@${string}`,
/** Корреспондентский счет */
corr?:boolean | `@${string}`,
/** КПП банка */
kpp?:boolean | `@${string}`,
__typename?: boolean | `@${string}`,
['...on BankAccountDetails']?: Omit<ValueTypes["BankAccountDetails"], "...on BankAccountDetails">
}>;
@@ -1990,9 +1988,7 @@ export type ValueTypes = {
/** БИК банка */
bik: string | Variable<any, string>,
/** Корреспондентский счет */
corr: string | Variable<any, string>,
/** КПП банка */
kpp: string | Variable<any, string>
corr: string | Variable<any, string>
};
["BankAccountInput"]: {
/** Номер банковского счета */
@@ -10443,17 +10439,13 @@ export type ResolverInputTypes = {
bik?:boolean | `@${string}`,
/** Корреспондентский счет */
corr?:boolean | `@${string}`,
/** КПП банка */
kpp?:boolean | `@${string}`,
__typename?: boolean | `@${string}`
}>;
["BankAccountDetailsInput"]: {
/** БИК банка */
bik: string,
/** Корреспондентский счет */
corr: string,
/** КПП банка */
kpp: string
corr: string
};
["BankAccountInput"]: {
/** Номер банковского счета */
@@ -18671,17 +18663,13 @@ export type ModelTypes = {
/** БИК банка */
bik: string,
/** Корреспондентский счет */
corr: string,
/** КПП банка */
kpp: string
corr: string
};
["BankAccountDetailsInput"]: {
/** БИК банка */
bik: string,
/** Корреспондентский счет */
corr: string,
/** КПП банка */
kpp: string
corr: string
};
["BankAccountInput"]: {
/** Номер банковского счета */
@@ -27351,17 +27339,13 @@ export type GraphQLTypes = {
bik: string,
/** Корреспондентский счет */
corr: string,
/** КПП банка */
kpp: string,
['...on BankAccountDetails']: Omit<GraphQLTypes["BankAccountDetails"], "...on BankAccountDetails">
};
["BankAccountDetailsInput"]: {
/** БИК банка */
bik: string,
/** Корреспондентский счет */
corr: string,
/** КПП банка */
kpp: string
corr: string
};
["BankAccountInput"]: {
/** Номер банковского счета */
@@ -6,7 +6,6 @@ export interface IBankAccount {
details: {
bik: string // < бик
corr: string // < корр счёт
kpp: string // < кпп
}
}
@@ -72,7 +72,7 @@ padding-bottom: 20px;
{% elif type == 'entrepreneur' %}
<h1 class="header">{% trans 'application_entrepreneur' %}</h1>
<p style="text-align: center">{% trans 'in' %} {{ coop.full_name }}<p>
<p style="text-align: right">{{ meta.created_at }}, {{coop.city}}</p> <p>{% trans 'to_council_of' %} {{ coop.short_name }} {% trans 'from_entrepreneur' %} {{ entrepreneur.last_name }} {{ entrepreneur.first_name }} {{ entrepreneur.middle_name }}, {% trans 'birthdate' %} {{ entrepreneur.birthdate }}, {% trans 'registration_address' %} {{ entrepreneur.full_address }}, {% trans 'entrepreneur_details', entrepreneur.details.inn, entrepreneur.details.ogrn, entrepreneur.bank_account.account_number, entrepreneur.bank_account.details.kpp, entrepreneur.bank_account.details.corr, entrepreneur.bank_account.details.bik, entrepreneur.bank_account.bank_name %}, {% trans 'phone_and_email_notice', entrepreneur.phone, entrepreneur.email %}</p>
<p style="text-align: right">{{ meta.created_at }}, {{coop.city}}</p> <p>{% trans 'to_council_of' %} {{ coop.short_name }} {% trans 'from_entrepreneur' %} {{ entrepreneur.last_name }} {{ entrepreneur.first_name }} {{ entrepreneur.middle_name }}, {% trans 'birthdate' %} {{ entrepreneur.birthdate }}, {% trans 'registration_address' %} {{ entrepreneur.full_address }}, {% trans 'entrepreneur_details', entrepreneur.details.inn, entrepreneur.details.ogrn, entrepreneur.bank_account.account_number, entrepreneur.bank_account.details.corr, entrepreneur.bank_account.details.bik, entrepreneur.bank_account.bank_name %}, {% trans 'phone_and_email_notice', entrepreneur.phone, entrepreneur.email %}</p>
<p>{% trans 'request_to_join' %} {{ coop.full_name }}. {% trans 'acknowledge_documents_entrepreneur' %}</p>
<p>{% if coop.is_branched %}{% trans 'authorize_chairman_branch', branch.short_name %} {% endif %} </p>
<p>{% trans 'obligation_to_pay_entrepreneur', initial, minimum %} </p>
@@ -87,7 +87,7 @@ padding-bottom: 20px;
<h1 class="header">{% trans 'application_legal_entity' %}</h1>
<p style="text-align: center">{% trans 'in' %} {{ coop.full_name }}<p>
<p style="text-align: right">{{ meta.created_at }}, {{coop.city}}</p>
<p>{% trans 'to_council_of' %} «{{ coop.full_name }}» {% trans 'from_legal_entity' %} {{ organization.full_name }}, {% trans 'legal_address' %}: {{ organization.full_address }}, {% trans 'fact_address' %}: {{organization.fact_address}}, {% trans 'legal_entity_details', organization.details.inn, organization.details.ogrn, organization.bank_account.account_number, organization.bank_account.details.kpp, organization.bank_account.details.corr, organization.bank_account.details.bik, organization.bank_account.bank_name %}, {% trans 'phone_and_email_notice', organization.phone, organization.email %}</p>
<p>{% trans 'to_council_of' %} «{{ coop.full_name }}» {% trans 'from_legal_entity' %} {{ organization.full_name }}, {% trans 'legal_address' %}: {{ organization.full_address }}, {% trans 'fact_address' %}: {{organization.fact_address}}, {% trans 'legal_entity_details', organization.details.inn, organization.details.ogrn, organization.bank_account.account_number, organization.bank_account.details.corr, organization.bank_account.details.bik, organization.bank_account.bank_name %}, {% trans 'phone_and_email_notice', organization.phone, organization.email %}</p>
<p>{% trans 'request_to_join_legal_entity', organization.represented_by.position, organization.represented_by.last_name, organization.represented_by.first_name, organization.represented_by.middle_name, organization.represented_by.based_on %} {{ coop.full_name }}.</p>
<p>{% trans 'acknowledge_documents_legal_entity' %}</p>
<p>{% if coop.is_branched %}{% trans 'authorize_chairman_branch_organization', branch.short_name %} {% endif %}</p>
@@ -119,13 +119,13 @@ export const translations = {
application_legal_entity: 'Заявление юридического лица о приеме в пайщики',
from_legal_entity: 'от юридического лица',
legal_address: 'юридический адрес',
legal_entity_details: 'ИНН {0}, ОГРН {1}, Р/с {2}, КПП {3}, К/с {4}, БИК {5}, банк получателя {6}',
legal_entity_details: 'ИНН {0}, ОГРН {1}, Р/с {2}, К/с {3}, БИК {4}, банк получателя {5}',
acknowledge_documents_legal_entity: 'Подтверждает, что с Уставом и иными нормативными документами Общества ознакомлен.',
agreement_on_sms_email_notice_legal_entity: 'Выражает свое согласие с тем, что информация, отправляемая Обществом в sms-сообщениях на указанный номер телефона, в сообщениях на указанный адрес электронной почты, или в PUSH уведомлениях с сайта, приравнивается к уведомлению Заявителя Обществом в письменной форме.',
obligation_to_pay_individual: 'Обязуюсь своевременно внести в Общество вступительный {0} и минимальный паевой {1} взносы в порядке, предусмотренном Уставом Общества.',
obligation_to_pay_entrepreneur: 'Обязуюсь своевременно внести в Общество вступительный {0} и минимальный паевой {1} взносы в порядке, предусмотренном Уставом Общества.',
obligation_to_pay_legal_entity: 'Обязуется своевременно внести в Общество вступительный {0} и минимальный паевой {1} взносы в порядке, предусмотренном Уставом Общества.',
entrepreneur_details: 'ИНН {0}, ОГРНИП {1}, Р/с {2}, КПП {3}, К/с {4}, БИК {5}, банк получателя {6}',
entrepreneur_details: 'ИНН {0}, ОГРНИП {1}, Р/с {2}, К/с {3}, БИК {4}, банк получателя {5}',
authorize_chairman_branch: 'Уполномочиваю Председателя кооперативного участка {0} принимать участие с правом голоса в Общих собраниях уполномоченных Общества, на период моего членства в Обществе при указанном кооперативном участке.',
request_to_join_legal_entity: 'Заявитель, в лице представителя юридического лица - {0} {1} {2} {3}, действующий на основании {4}, просит принять в пайщики ',
authorize_chairman_branch_organization: 'Уполномочивает Председателя кооперативного участка {0} принимать участие с правом голоса в Общих собраниях уполномоченных Общества, на период моего членства в Обществе при указанном кооперативном участке.',
@@ -181,7 +181,6 @@ export const exampleData = {
bank_account: {
account_number: '234234234234',
details: {
kpp: '23423423423',
corr: '234234234234234',
bik: '234234234234',
},
@@ -207,7 +206,6 @@ export const exampleData = {
bank_account: {
account_number: '23423423423423',
details: {
kpp: '234234234234',
corr: '234234234234',
bik: '234234234234',
},
@@ -177,7 +177,6 @@ export const exampleData = {
details: {
bik: '044525225',
corr: '30101810400000000225',
kpp: '772801001',
},
},
chairman: {
@@ -105,7 +105,6 @@ export const exampleData = {
details: {
bik: '044525225',
corr: '30101810400000000225',
kpp: '772801001',
},
},
chairman: {
@@ -115,7 +115,6 @@ export const exampleData = {
details: {
bik: '044525225',
corr: '30101810400000000225',
kpp: '772801001',
},
},
chairman: {
@@ -100,7 +100,6 @@ export const exampleData = {
details: {
bik: '044525225',
corr: '30101810400000000225',
kpp: '772801001',
},
},
chairman: {
@@ -109,7 +109,6 @@ export const exampleData = {
details: {
bik: '044525225',
corr: '30101810400000000225',
kpp: '772801001',
},
},
chairman: {
@@ -121,7 +121,6 @@ export const exampleData = {
details: {
bik: '044525225',
corr: '30101810400000000225',
kpp: '772801001',
},
},
chairman: {
@@ -155,7 +155,6 @@ export const exampleData = {
details: {
bik: '044525225',
corr: '30101810400000000225',
kpp: '772801001',
},
},
city: 'Москва',
@@ -57,7 +57,6 @@ const initialUserDataState: IUserData = {
details: {
bik: '',
corr: '',
kpp: '',
},
},
},
@@ -82,7 +81,6 @@ const initialUserDataState: IUserData = {
details: {
bik: '',
corr: '',
kpp: '',
},
},
},
@@ -124,7 +124,6 @@ const createDefaultOrganizationData = (): ICreateOrganizationData => ({
details: {
corr: '',
bik: '',
kpp: '',
},
account_number: '',
currency: 'RUB',
@@ -160,7 +159,6 @@ const isValidData = computed(() => {
data?.bank_account?.bank_name &&
data?.bank_account?.details?.corr &&
data?.bank_account?.details?.bik &&
data?.bank_account?.details?.kpp &&
data?.bank_account?.account_number
);
});
@@ -84,15 +84,6 @@ BaseDialog(
autocomplete='off'
)
q-input(
v-model='bank_transfer.details.kpp',
standout='bg-teal text-white',
mask='#########',
label='КПП',
:rules='[(val) => notEmpty(val), (val) => val.length === 9 || "ожидаем 9 цифр"]',
autocomplete='off'
)
q-input.q-mb-lg(
v-model='bank_transfer.account_number',
standout='bg-teal text-white',
@@ -151,7 +142,6 @@ const bank_transfer = ref({
details: {
bik: '',
corr: '',
kpp: '',
},
});
@@ -165,7 +155,6 @@ const clear = (): void => {
details: {
bik: '',
corr: '',
kpp: '',
},
};
};
@@ -8,7 +8,6 @@ export interface IBankTransferData {
details: {
bik: string;
corr: string;
kpp: string;
};
}
@@ -57,7 +57,6 @@ const ENTREPRENEUR_HEADERS: HeaderMap = {
'банк': 'bank_name',
'расчетный счет': 'account_number',
'бик': 'bik',
'кпп банка': 'kpp_bank',
'корр счет': 'corr',
'валюта': 'currency',
};
@@ -83,7 +82,6 @@ const ORGANIZATION_HEADERS: HeaderMap = {
'банк': 'bank_name',
'расчетный счет': 'account_number',
'бик': 'bik',
'кпп банка': 'kpp_bank',
'корр счет': 'corr',
'валюта': 'currency',
};
@@ -315,7 +313,6 @@ export function useParticipantCsvParser(options: ParserOptions) {
'банк',
'расчетный счет',
'бик',
'кпп банка',
'корр счет',
'дата вступления',
]
@@ -338,7 +335,6 @@ export function useParticipantCsvParser(options: ParserOptions) {
'банк',
'расчетный счет',
'бик',
'кпп банка',
'корр счет',
'дата вступления',
];
@@ -457,7 +453,6 @@ export function useParticipantCsvParser(options: ParserOptions) {
details: {
bik: row.bik ?? '',
corr: row.corr ?? '',
kpp: row.kpp_bank ?? '',
},
},
};
@@ -481,7 +476,6 @@ export function useParticipantCsvParser(options: ParserOptions) {
'bank_account.account_number',
'bank_account.details.bik',
'bank_account.details.corr',
'bank_account.details.kpp',
'created_at',
].filter((field) => {
const path = field.split('.');
@@ -553,7 +547,6 @@ export function useParticipantCsvParser(options: ParserOptions) {
details: {
bik: row.bik ?? '',
corr: row.corr ?? '',
kpp: row.kpp_bank ?? '',
},
},
};
@@ -581,7 +574,6 @@ export function useParticipantCsvParser(options: ParserOptions) {
'bank_account.account_number',
'bank_account.details.bik',
'bank_account.details.corr',
'bank_account.details.kpp',
'created_at',
].filter((field) => {
const path = field.split('.');
@@ -53,7 +53,7 @@ export interface EntrepreneurCsvRow extends BaseRow {
bank_name: string;
account_number: string;
currency: string;
details: { bik: string; corr: string; kpp: string };
details: { bik: string; corr: string };
};
}
@@ -79,7 +79,7 @@ export interface OrganizationCsvRow extends BaseRow {
bank_name: string;
account_number: string;
currency: string;
details: { bik: string; corr: string; kpp: string };
details: { bik: string; corr: string };
};
}
@@ -355,7 +355,6 @@ const detailsList = (row: any) => {
push('Банк', row.bank_account?.bank_name);
push('Р/с', row.bank_account?.account_number);
push('БИК', row.bank_account?.details?.bik);
push('КПП банка', row.bank_account?.details?.kpp);
push('Корр. счет', row.bank_account?.details?.corr);
push('Валюта', row.bank_account?.currency);
} else if (row.type === 'organization') {
@@ -380,7 +379,6 @@ const detailsList = (row: any) => {
push('Банк', row.bank_account?.bank_name);
push('Р/с', row.bank_account?.account_number);
push('БИК', row.bank_account?.details?.bik);
push('КПП банка', row.bank_account?.details?.kpp);
push('Корр. счет', row.bank_account?.details?.corr);
push('Валюта', row.bank_account?.currency);
}
@@ -573,14 +571,14 @@ const sampleTemplates = computed(() => {
`2,Петров,Петр,Петрович,petrov@example.com,+7 999 444-55-66,1985-02-02,"г. Казань, ул. Баумана, д.5",${defaultsIndividual.initial},${defaultsIndividual.minimum},2024-01-12,,,,,`,
].join('\n'),
entrepreneur: [
'№,фамилия,имя,отчество,почта,телефон,дата рождения,страна,город,адрес,инн,огрн,банк,расчетный счет,бик,кпп банка,корр счет,валюта,вступительный взнос,минимальный взнос,дата вступления',
`1,Смирнов,Алексей,Сергеевич,smirnov@example.com,+7 912 000-11-22,1988-03-03,Russia,Екатеринбург,"ул. Мира, 10",123456789012,1234567890123,"АО Банк",40817810099910004312,044525225,773643001,30101810400000000225,RUB,${defaultsIndividual.initial},${defaultsIndividual.minimum},2024-02-01`,
`2,Кузнецов,Дмитрий,Олегович,dmitry@example.com,+7 921 555-66-77,1991-04-04,Russia,Самара,"ул. Гагарина, 22",9876543210,9876543210987,"ПАО Банк",40817810099910004313,044525226,773643002,30101810400000000226,RUB,${defaultsIndividual.initial},${defaultsIndividual.minimum},2024-02-05`,
'№,фамилия,имя,отчество,почта,телефон,дата рождения,страна,город,адрес,инн,огрн,банк,расчетный счет,бик,корр счет,валюта,вступительный взнос,минимальный взнос,дата вступления',
`1,Смирнов,Алексей,Сергеевич,smirnov@example.com,+7 912 000-11-22,1988-03-03,Russia,Екатеринбург,"ул. Мира, 10",123456789012,1234567890123,"АО Банк",40817810099910004312,044525225,30101810400000000225,RUB,${defaultsIndividual.initial},${defaultsIndividual.minimum},2024-02-01`,
`2,Кузнецов,Дмитрий,Олегович,dmitry@example.com,+7 921 555-66-77,1991-04-04,Russia,Самара,"ул. Гагарина, 22",9876543210,9876543210987,"ПАО Банк",40817810099910004313,044525226,30101810400000000226,RUB,${defaultsIndividual.initial},${defaultsIndividual.minimum},2024-02-05`,
].join('\n'),
organization: [
'№,краткое название,полное название,тип,почта,телефон,страна,город,юрадрес,фактический адрес,инн,огрн,кпп,представитель фамилия,представитель имя,представитель отчество,должность представителя,основание полномочий,банк,расчетный счет,бик,кпп банка,корр счет,валюта,вступительный взнос,минимальный взнос,дата вступления',
`1,"ООО Ромашка","Общество с ограниченной ответственностью Ромашка",COOP,office@example.com,+7 495 000-11-22,Russia,Москва,"ул. Тверская, 1","ул. Тверская, 1",7701234567,1234567890123,770101001,Сидоров,Виктор,Алексеевич,Генеральный директор,Устав,"АО Банк",40702810999910004312,044525225,773643001,30101810400000000225,RUB,${defaultsOrg.initial},${defaultsOrg.minimum},2024-03-01`,
`2,"АНО Прогресс","Автономная некоммерческая организация Прогресс",COOP,contact@progress.ru,+7 812 333-44-55,Russia,Санкт-Петербург,"Невский пр., 10","Невский пр., 10",7801234567,9876543210987,780101001,Ильина,Мария,Игоревна,Директор,Устав,"ПАО Банк",40702810999910004313,044525226,773643002,30101810400000000226,RUB,${defaultsOrg.initial},${defaultsOrg.minimum},2024-03-05`,
'№,краткое название,полное название,тип,почта,телефон,страна,город,юрадрес,фактический адрес,инн,огрн,кпп,представитель фамилия,представитель имя,представитель отчество,должность представителя,основание полномочий,банк,расчетный счет,бик,корр счет,валюта,вступительный взнос,минимальный взнос,дата вступления',
`1,"ООО Ромашка","Общество с ограниченной ответственностью Ромашка",COOP,office@example.com,+7 495 000-11-22,Russia,Москва,"ул. Тверская, 1","ул. Тверская, 1",7701234567,1234567890123,770101001,Сидоров,Виктор,Алексеевич,Генеральный директор,Устав,"АО Банк",40702810999910004312,044525225,30101810400000000225,RUB,${defaultsOrg.initial},${defaultsOrg.minimum},2024-03-01`,
`2,"АНО Прогресс","Автономная некоммерческая организация Прогресс",COOP,contact@progress.ru,+7 812 333-44-55,Russia,Санкт-Петербург,"Невский пр., 10","Невский пр., 10",7801234567,9876543210987,780101001,Ильина,Мария,Игоревна,Директор,Устав,"ПАО Банк",40702810999910004313,044525226,30101810400000000226,RUB,${defaultsOrg.initial},${defaultsOrg.minimum},2024-03-05`,
].join('\n'),
};
});
@@ -41,14 +41,6 @@
input-class='font-mono'
)
.col-12.col-md-6(v-if='bankData?.details?.kpp')
CopyableInput.full-width(
:label='"КПП"',
:model-value='bankData.details.kpp',
dense,
input-class='font-mono'
)
.col-12.col-md-6(v-if='bankData?.card_number')
CopyableInput.full-width(
:label='"Номер карты"',
@@ -68,15 +68,6 @@
:rules="[val => notEmpty(val), val => val.length === 9 || 'БИК должен содержать 9 цифр']"
)
q-input(
v-model="data.bank_account.details.kpp"
outlined color="primary"
mask="#########"
label="КПП (банка) (9 цифр)"
:rules="[val => notEmpty(val), val => val.length === 9 || 'КПП должен содержать 9 цифр']"
autocomplete="off"
)
q-select(v-model="data.bank_account.currency"
label="Валюта счёта"
outlined color="primary"
@@ -196,16 +196,6 @@
:readonly="readonly"
)
q-input(
v-model='data.bank_account.details.kpp',
outlined dense color='primary',
mask='#########',
label='КПП банка (9 цифр)',
:rules='[(val) => notEmpty(val), (val) => val.length === 9 || "КПП должен содержать 9 цифр"]',
autocomplete='off'
:readonly="readonly"
)
q-input(
v-model='data.bank_account.account_number',
outlined dense color='primary',
@@ -277,7 +267,6 @@ const data = ref<ICreateOrganizationData>(props.data || {
details: {
corr: '',
bik: '',
kpp: '',
},
account_number: '',
currency: 'RUB',
@@ -69,15 +69,6 @@
:rules="[val => notEmpty(val), val => val.length === 9 || 'БИК должен содержать 9 цифр']"
)
q-input(
v-model="userData.entrepreneur_data.bank_account.details.kpp"
outlined color="primary"
mask="#########"
label="КПП (банка) (9 цифр)"
:rules="[val => notEmpty(val), val => val.length === 9 || 'КПП должен содержать 9 цифр']"
autocomplete="off"
)
q-select(v-model="userData.entrepreneur_data.bank_account.currency"
label="Валюта счёта"
outlined color="primary"
@@ -173,15 +173,6 @@
autocomplete='off'
)
q-input(
v-model='userData.organization_data.bank_account.details.kpp',
outlined color='primary',
mask='#########',
label='КПП банка (9 цифр)',
:rules='[(val) => notEmpty(val), (val) => val.length === 9 || "КПП должен содержать 9 цифр"]',
autocomplete='off'
)
q-input(
v-model='userData.organization_data.bank_account.account_number',
outlined color='primary',
@@ -29,16 +29,6 @@ q-form(ref="form")
:rules="[val => notEmpty(val), val => val.length === 9 || 'БИК должен содержать 9 цифр']"
autocomplete="off"
)
q-input(
dense
v-model="data.data.details.kpp"
standout="bg-teal text-white"
mask="#########"
label="КПП (банка)"
placeholder="9 цифр"
:rules="[val => notEmpty(val), val => val.length === 9 || 'КПП должен содержать 9 цифр']"
autocomplete="off"
)
q-input(
dense
v-model="data.data.account_number"
@@ -38,7 +38,6 @@
mono
)
DataRow(label='БИК', :value='method.data.details.bik', copyable, mono)
DataRow(label='КПП', :value='method.data.details.kpp', copyable, mono)
EmptyState(
v-else,
@@ -13,9 +13,8 @@ export const BankAccountSchema: JSONSchemaType<IBankAccount> = {
properties: {
bik: { type: 'string' },
corr: { type: 'string' },
kpp: { type: 'string' },
},
required: ['bik', 'corr', 'kpp'],
required: ['bik', 'corr'],
additionalProperties: true,
},
},
-2
View File
@@ -300,7 +300,6 @@ describe('тест генератора документов', async () => {
details: {
bik: '044525225',
corr: '30101810400000000225',
kpp: '773643001',
},
},
deleted: false,
@@ -350,7 +349,6 @@ describe('тест генератора документов', async () => {
details: {
bik: '098765432',
corr: '30101810400000000225',
kpp: '098765432',
},
},
deleted: false,
-4
View File
@@ -386,7 +386,6 @@ export async function preLoading() {
details: {
bik: '044525225',
corr: '30101810400000000225',
kpp: '773643001',
},
},
deleted: false,
@@ -427,7 +426,6 @@ export async function preLoading() {
details: {
bik: '098765432',
corr: '30101810400000000225',
kpp: '098765432',
},
},
deleted: false,
@@ -475,7 +473,6 @@ export async function preLoading() {
details: {
bik: '044525225',
corr: '30101810400000000225',
kpp: '773643001',
},
},
deleted: false,
@@ -523,7 +520,6 @@ export async function preLoading() {
details: {
bik: '098765432',
corr: '30101810400000000225',
kpp: '098765432',
},
},
deleted: false,
-1
View File
@@ -24,7 +24,6 @@ describe('тестируем цифровой кошелёк', () => {
details: {
bik: '44525225',
corr: '30101 810 4 0000 0000225',
kpp: '',
},
},
deleted: false,
@@ -5,7 +5,6 @@ const rawBankAccountSelector = {
details: {
bik: true,
corr: true,
kpp: true,
},
account_number: true,
bank_name: true,
+1 -2
View File
@@ -2074,8 +2074,7 @@ export const ReturnTypes: Record<string,any> = {
},
BankAccountDetails:{
bik:"String",
corr:"String",
kpp:"String"
corr:"String"
},
BankPaymentMethod:{
created_at:"DateTime",
+5 -21
View File
@@ -1981,8 +1981,6 @@ export type ValueTypes = {
bik?:boolean | `@${string}`,
/** Корреспондентский счет */
corr?:boolean | `@${string}`,
/** КПП банка */
kpp?:boolean | `@${string}`,
__typename?: boolean | `@${string}`,
['...on BankAccountDetails']?: Omit<ValueTypes["BankAccountDetails"], "...on BankAccountDetails">
}>;
@@ -1990,9 +1988,7 @@ export type ValueTypes = {
/** БИК банка */
bik: string | Variable<any, string>,
/** Корреспондентский счет */
corr: string | Variable<any, string>,
/** КПП банка */
kpp: string | Variable<any, string>
corr: string | Variable<any, string>
};
["BankAccountInput"]: {
/** Номер банковского счета */
@@ -10443,17 +10439,13 @@ export type ResolverInputTypes = {
bik?:boolean | `@${string}`,
/** Корреспондентский счет */
corr?:boolean | `@${string}`,
/** КПП банка */
kpp?:boolean | `@${string}`,
__typename?: boolean | `@${string}`
}>;
["BankAccountDetailsInput"]: {
/** БИК банка */
bik: string,
/** Корреспондентский счет */
corr: string,
/** КПП банка */
kpp: string
corr: string
};
["BankAccountInput"]: {
/** Номер банковского счета */
@@ -18671,17 +18663,13 @@ export type ModelTypes = {
/** БИК банка */
bik: string,
/** Корреспондентский счет */
corr: string,
/** КПП банка */
kpp: string
corr: string
};
["BankAccountDetailsInput"]: {
/** БИК банка */
bik: string,
/** Корреспондентский счет */
corr: string,
/** КПП банка */
kpp: string
corr: string
};
["BankAccountInput"]: {
/** Номер банковского счета */
@@ -27351,17 +27339,13 @@ export type GraphQLTypes = {
bik: string,
/** Корреспондентский счет */
corr: string,
/** КПП банка */
kpp: string,
['...on BankAccountDetails']: Omit<GraphQLTypes["BankAccountDetails"], "...on BankAccountDetails">
};
["BankAccountDetailsInput"]: {
/** БИК банка */
bik: string,
/** Корреспондентский счет */
corr: string,
/** КПП банка */
kpp: string
corr: string
};
["BankAccountInput"]: {
/** Номер банковского счета */