ТиС. Строка выписки банка. Отключение контроля уникальности. Последствия будут? #523323


#0 by jk3
Собственно, сабж.
#1 by DrZombi
Нет, только одна. В бухию не выгрузишь с теми же номерами документов. Так же не смогешь по номеру отыскивать нужный документ. А по сути идея бредовая. Для этого префикс есть. Что бы лупить один и тот же номер.
#2 by andrewks
зачем?
#3 by jk3
Обработка.ПредприятиеКлиент
#4 by Митор
1000 выписок за день что-ли
#5 by jk3
Мда, а с выгрузкой в бухию действительно будет проблемка.
#6 by Митор
(+4) 1000=10000
#7 by andrewks
интересно ты хочешь обойти проблему. почему нумерация похерилась? А100 и разбираться не хочешь, и перенумеровать не хочешь?
#8 by DrZombi
Руки вам за такой номер Оторвать! Номер должен быть с нулями А000000100 Когда идет А99, то А100 это придел авто нумератора. ... Нечего удивительного. Исправляй на другой префикс. Типо Б000000001 и живи дальше спокойно
#9 by DrZombi
Удивительно что у вас там еще в префикс фразы не пишут... А то у нас тут пытаются вместо одной буквы аж слова вставлять :)
#10 by jk3
Нет, номер документа правился вручную. Причем весь год. Естественно, теперь автоматически не перегружается.
#11 by DrZombi
+Про исправление на Б0000001, то тут просто создай не проведенный банковский документ и все дальше пойдет по правильному. Правда может быть, что у вас префикс "А" зашит в коде. Но тут только переписать. ... Есть еще один вариант. Написать обработку перенумератора, которая выставит недостающие нули после префикса.
#12 by DrZombi
Пользователю руки обломи в нужную сторону.
#13 by Митор
нда, как они синхронизировались-то при такой-то загрузке
#14 by Митор
написать.... скачать.. их миллионы
#15 by jk3
Ну чтобы номер в ТиС совпадал с номером в клиент-банке. А неуникальность обходили вставкой всяких символов.
#16 by andrewks
зачёт.
#17 by DrZombi
? Простите, вы меня учите копипастить? У мну нет проблем с . Уже и так понятно от куда грабли выросли.
#18 by jk3
Собственно, номер новому документу в данной обработке (типовой) присваивается так:
#19 by Митор
простите, конечно не учу, Вас что-то задело :)
#20 by andrewks
и?
#21 by DrZombi
Ну да, при этом если это база в режиме УРБД работает. И заметь, она присваивается правильно с нулями. И требовать от программы другой логики чревато головной болью. ... Не стоит идти на поводу пользователя. Если хотят сохранять номер из банковской программы, то добавь им для этого отдельный реквизит. И поверь, этот номер некому не будет нужен. Как правило такие ошибки совершают пользователи Ани кейщики, которые как обезьяны не понимают что делают, но твердо верят в правильность нажатой кнопки :)
#22 by DrZombi
Удивило :)
#23 by Митор
ну раз такая тема пошла, может у кого есть обмен с сити банком обработка, а то завтра теги высматривать по каким они файл формируют
#24 by jk3
Да с нового года надо так и сделать. Т.к. нумерация пойдет с нового года новая. Запретить редактировать номер + добавить доп. реквизит для входящего номера + подкорректировать обработки выгрузки/загрузки в бухию. Этот год, я так понимаю надо доживать, перенося вручную эти документы из клиент-банка?
#25 by Митор
добавь НГ при переносе в номер, этого хватит
#26 by andrewks
ага, давайте заметём весь мусор под ковёр, авось никто не заметит.
#27 by DrZombi
Нет, добавь недостающие нули. Если База SQL, то это мона сделать прямым запросом без перепроведения.
#28 by andrewks
если не sql - тоже. и прямым, и перебором
#29 by Митор
оно ему нужно, если в конце декабря проблему нашли только
#30 by jk3
Да не, нумерацию уже не восстановишь в этом году. Есть одна мысль как дотянуть до НГ, правда код обработки ПредприятиеКлиент придется править.
#31 by jk3
Завести номер, к примеру "Я000000001" И написать фунцию, которая обратным перебором доков натыкалась бы на 1-ый док с префиксом "Я" (такого точно нет в базе), отрезала его, а остальную строку преобразовывало в число, инкрементировало и обратно в строку нужной длины. Тогда уже отобрать права на правку номера можно.
#32 by DrZombi
Разве? Может быть... Я не помню :(
#33 by DrZombi
Вы там что все возможные варианты префиксов переписали? Вот тебе...
#34 by jk3
Я так понял, функция по входному параметру НомерДок раскладывает эту строку, возвращая собственно номер, а в выходных параметрах префикс и окончание.
#35 by DrZombi
Возвращает число, Последние два параметра это возвращаемый префикс и окончание. Окончание - это у нас тут умник до меня в конце номера точку воткнул, я долго истерически смеялся, когда узнал для чего это было сделано :)
#36 by DrZombi
+Первый параметр номер документа.
#37 by jk3
Ну да, я всё правильно понял, что функция делает. Хорошая функция. И в каком случает ты её используешь? Как она мне поможет сгенерировать новый номер, не прибегая к отключению контроля уникальности? Хотя да, можно использовать как я описал в для отсечения префикса. Причем универсально, любого префикса.
#38 by DrZombi
Я ее использую при выгрузки и загрузки документов из разных баз. Понапишут префиксов, а потом гадай, какой там новый префикс. ... Тебе не знаю... Ты не хочешь тупо добавить нули к номеру, а так бы эта функция помогла бы тебе отщепить от номера префикс (любой) и номер. После добавить нули дело техники.
#39 by DrZombi
+Методом ...
#40 by jk3
Восстановить нумерацию, изменив все номера с начала года с помощью этой функции автоматически не получится. Например, 2 номера А0-001 и А0/001 при замене символов в нули трансформируются в дубль и контроль уникальности не пропустит такое. Получается, нужно придумать свой временный генератор новых номеров, чтобы можно было автоматически загружать новые документы из клиент-банка, либо отключать контроль уникальности. Это меня и сподвигло начать тему с таким названием. Отключить контроль, действительно косяк будет при перегрузке в бухию. Остается только собственный нумератор придумывать. Больше я выходов пока не вижу.
#41 by DrZombi
У вас уже касяк, ну они и учудили А0-001 или А0/001 Это будет по круче точки в конце номера :)
#42 by DrZombi
+Но по сути функция есть, идея тоже. Так что можешь ее переписать чуток, т.е. научить распознавать конечный номер. И писать теже нулики.
#43 by jk3
Если я полный список этой красоты приведу, вообще выпадешь в осадок.
#44 by DrZombi
+К примеру номер искать с конца, тогда ты всегда бушь находить число, а когда встретится символ, т.е. не число. То тут же понимать, что перед тобой префикс.
#45 by DrZombi
Как утверждали умельцы, что номер можно переписать у проведенного документа, в чем я не уверен :) То без перепроведения можно подредактировать весь год за пару часиков.
#46 by jk3
Короче, для такого клинического случая, нужно идти реализовавать идею из и усё. Только если где-нибдуь по дороге не натолнусь на подводный камень.
#47 by DrZombi
Дело твое. Но у номеров А0-001 или А0/001, после обработки будет след вид. А0-000000001 или А0/0000000001
#48 by jk3
Можно обработкой изменить номер документа без перепроведения. Только что проверил. Но как-то неохота вручную исправлять нумерацию 3 тыс. документов. Это отнюдь не пару часиков.
#49 by jk3
Так надо чтобы все документы в году соответствовали одному шаблону, чтобы заработала встроенная нумерация нормальная. Как вариант, завести реквизит НомерВходящий, простенькой обработкой в него перекинуть все существующие номера документов, а доки просто перенумеровать... ээээ.. не получится... опять таки из-за бухии, в которую переливается инфа. Так что низзя трогать те номера, которые уже наколбасили.
#50 by jk3
Офигеть, вот это бордель. При загрузке из клиент-банка создаются документы в базе ТиС-а ПлатежноеПоручение, причем в номер документа пишется номер документа, из загружаемого файла. А на основании созданной платежки формируются доки СтрокаВыпискиБанка. Поэтому-то там собственно и используется автоматическая нумерация, и править номер дока там совершенно ни к чему. Только вот засада в том, что клиен-банк отдает файлик kl_to_1c.txt, в котором есть с одинаковыми номерами, но это разные платежи! Один из них, это перечисление самому банку, а второй -- поставщику. И типовая загрузка, естественно, отваливается с криками "Неудачная попытка записи документа: : Номер не уникальный!" %)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С