Привет всем! Помогите с ключевание счетов, ситуация токая меняется бик банка и кор счет, прийдется переключевывать все счета а их ого-го сколько, может есть у кого нить, макрос для автоматического ключевания счета,буду очень презнателен,или может какие нибуть другие варианты есть? подскажите.СПАСИБО
Объявление
Свернуть
Пока нет объявлений.
Ключивание счетов в RS-Bank V5
Свернуть
X
-
Не факт, что при изменении БИК не придется менять ключи. Ибо! В результате слияния/разделения банков внутри номера счета появляется/изменяется номер филиала банка. И тогда - все ключи пересчитывать. Сколько помню, ваяешь таблицу соответствия старых-новых счетов, потом делаешь проводки по занулению всех счетов, а поскольку актив=пассив, то все вообще в нуль уходит, потом закрываешь все старые счета, открываешь все новые и делаешь обратные проводки на них - восстанавливаешь остатки. Печатаешь кучу бумажек для клиентов и налоговых и принимаешься разгребать последствия на предыдущих этапах
Поскольку ключ - всего одна цифра, то вполне могут совпадать ключи только у некоторых счетов. Предположительно, тут вероятность 0.1, впрочем, не берусь утверждать, не проверял.
Тут немного на Паскале, вдруг пригодится.
function DefKeyRazr(Account: String; BikAcc: String): String;
var
BegString: String;
i, k, j: Integer;
begin
Result := Account;
BegString := Copy(BikAcc, 7, 3) + Account;
k := 0;
j := 7;
for i := 1 to Length(BegString) do
begin
if i > 12 then
k := k + (((Ord(BegString [i]) - Ord('0')) * j) mod 10);
case j of
1: j := 3;
3: j := 7;
7: j := 1;
end;
end;
k := ((k mod 10) * 3) mod 10;
Result [9] := Chr(k + Ord('0'));
end;
Комментарий
-
А вот и на макрос наткнулся. Он попроще штатного - не предусматривает расчет ключа для РКЦ и на буквы в номере счета прореагирует непредсказуемо. Но обычно ничего этого и не нужно.
MACRO KeyAcc(Счет, Номер)
array KeyDigits;
KeyDigits(1) = 7;
KeyDigits(2) = 1;
KeyDigits(3) = 3;
KeyDigits(4) = 7;
KeyDigits(5) = 1;
KeyDigits(6) = 3;
KeyDigits(7) = 7;
KeyDigits(8) = 1;
KeyDigits(9) = 3;
KeyDigits(10) = 7;
KeyDigits(11) = 1;
KeyDigits(12) = 0;
KeyDigits(13) = 7;
KeyDigits(14) = 1;
KeyDigits(15) = 3;
KeyDigits(16) = 7;
KeyDigits(17) = 1;
KeyDigits(18) = 3;
KeyDigits(19) = 7;
KeyDigits(20) = 1;
KeyDigits(21) = 3;
KeyDigits(22) = 7;
KeyDigits(23) = 1;
var
newac = счет,
Ключ = 0,
s = 0,
Счет_и_Номер = "",
j = 1;
Счет_и_Номер = Номер + Счет;
while (j 24)
s = s + int(substr(Счет_и_Номер, j, 1)) * KeyDigits(j);
j = j + 1
nd;
s = s - 10 * (s / 10);
s = s * 3;
Ключ = s - 10 * (s / 10);
StrSet (newac, 9, MkStr(Ключ + 48, 1));
return newac;
END;
Комментарий
-
2 WiktorNSK:
А вот и на макрос наткнулся. Он попроще штатного - не предусматривает расчет ключа для РКЦ и на буквы в номере счета прореагирует непредсказуемо.
А надо ли велосипед изобретать? В штатной поставке есть макрос
mac\operday\keyac_r.mac
который и для РКЦ предусматривает и на буквы предсказуемо реагирует...
Да и не такой уж он и сложный...
Комментарий
-
Сделали из мухи слона
Есть стандартная процедура ключевания счета, можно макрос использовать который указывает Cost.
Из RSL_Proc.pdf
Процедура ключевания счета
GetKey (Account:V_String [, BIC:V_String]):V_String
Процедура предназначена для ключевания лицевого счета.
Параметры:
Account – номер лицевого счета до ключевания.
BIC – БИК банка, в котором находится ключуемый счет. Если этот параметр не задан, то ключ
рассчитывается по БИК, который задан в подсистеме "Системный сервис" в режиме
"Переменные для расчета" в графе РАСЧЕТ КЛЮЧА_КОД БАНКА (см. раздел
"Переменные для расчета" Руководства пользователя "Системный сервис").
Возвращаемое значение:
Процедура возвращает номер счета с правильным ключом.
Комментарий
-
А вообще, что бы было понятно, "откуда ноги растут" -
"ПОРЯДОК РАСЧЕТА КОНТРОЛЬНОГО КЛЮЧА В НОМЕРЕ ЛИЦЕВОГО СЧЕТА"
(утв. ЦБ РФ 08.09.1997 N 515)
7*С7 + 1*С8 + 3*С9 = 7*Н7 + 1*Н8 + 3*Н9, где Cn и Нn - соответственно n-ая позиция Старого и Нового БИКа, то ключ счета(стечтов, открытых в кредитной организации) не изменяется.
Комментарий
-
Даже если представить, что пришлось бы переключевывать все счета - это же такой ужос! :-)
Перезаключать различные договора (в которых указываются лицевики), настраивать АБС, ПО (лиц. счета в схемаха бухучета). В налоговую, вроде как, хотя бы не надо писать письма с сообщениями об открытии-закрытии-изм счетов.
ANDREI078, наверное, уже это понял и отдыхает :-)
Комментарий
-
Сообщение от ANDREI078 Посмотреть сообщениеПривет всем! Помогите с ключевание счетов, ситуация токая меняется бик банка и кор счет, прийдется переключевывать все счета а их ого-го сколько, может есть у кого нить, макрос для автоматического ключевания счета,буду очень презнателен,или может какие нибуть другие варианты есть? подскажите.СПАСИБО
- Составить список счетов с остатками на дату перехода
- Создать таблицу соответствия старый - новый счет и утвердить у руководителя.
- Импортировать новые счета в РС из таблицы
- Сгенерировать проводки по переносу остатков, провести их.
- Закрыть старые счета.
- Сгенерировать извещения о изменении номера счета клиентам, и вообще, куда надо (выяснить у главбуха).
- Парным счетам перепривязать ПАРНЫЙ СЧЕТ.
- Поменять счета в настройках (касса, схема корсчетов)
- Поменять счета везде в макросах, где они могут быть прописаны. (к примеру в макросах сложных сделок)
...
Если есть необходимость, то я готов выполнить эту задачу.
Все выполняется в РСЛ, и ключевание, списки, и т.д.
Комментарий
-
Adyan
Даже если представить, что пришлось бы переключевывать все счета - это же такой ужос! :-)
Просто для справки: в 1996-м такая фигня была Когда ключи только придумали У меня в Сбере считалось 14 часов
Сообщать надо в везде, Big_Mike прав
Daddy
Таблицу соответствий для картотек забыли
Внебаланс не ключуется, но могут возникнуть проблемы в перспективе с автоматической генерацией новый счетов
Комментарий
-
Сообщение от Daddy Посмотреть сообщение- Составить список счетов с остатками на дату перехода
- Создать таблицу соответствия старый - новый счет и утвердить у руководителя.
- ...
Если есть необходимость, то я готов выполнить эту задачу.
Все выполняется в РСЛ, и ключевание, списки, и т.д.
Комментарий
Комментарий