Проблема с нумерацией.

1. igorka_69 26.11.12 02:04 Сейчас в теме
УТ 10.3. платформа 8.2. Возникла такая ситуация. При загрузке из клиент-банка выдается сообщение что невозможно записать документ с таким-то номером. Невозможно - потому что уже платежка стаким номером есть. Почему-то при создании документа пытается присвоить ему уже существующий номер. Нуменрация не сбита, если попробовать ввести документ вручную, то проблем не будет. Возникает проблема именно с загрузкой из клиент-банка почему-то((( при данной загрузке номер присваивается никак не следующий за последним.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Артано 795 26.11.12 02:31 Сейчас в теме
(1) igorka_69, видимо обработка взяла на себя смелость присваивания номера доументу. Соответственно стандартная система нумерации этого не понимает и считает, номер присвоенный свежему документу присвоен другому, более раннему.
3. igorka_69 26.11.12 09:54 Сейчас в теме
(2) Артано, в обработке используется УстановитьНовыйНомер()
8. Артано 795 26.11.12 12:23 Сейчас в теме
(3) igorka_69, о чем и речь. Вы Номер установили, а перед записью система снова пытается его установить.

(5) попробуйте перенумеровать, что-нибудь у себя. Проблема очевидна, зачем же советовать ерунду.
9. igorka_69 26.11.12 19:11 Сейчас в теме
(8) Артано, пробовал, все нормально перенумеровывается. что делать-то?)))
10. interlamersha 26.11.12 19:20 Сейчас в теме
(9) igorka_69, текст модуля в студию:)
20. Артано 795 27.11.12 04:09 Сейчас в теме
Ну что за тугой народ. Уже дважды указал причину в сообщениях (2) и (8). Засрали всю ветку непонятными советами. Вы еще перепроведение всех документов посоветуйте.

УБЕРИ ИЗ ОБРАБОТКИ УстановитьНовыйНомер() Доверься типовому механизму нумерации и не влезай в него не понимая тонкостей

И ВСЁ!
user1706724; +1 Ответить
21. igorka_69 27.11.12 10:04 Сейчас в теме
(20) Артано, если убрать установитьНовыйНомер() то номер формируется без префикса и лидирующих нулей - полная ерунда выходит. Как понял проблема из-за того что загружали платежки и из клиент-банка и создавали их вручную, анадо где-то в одном месте)
22. Артано 795 27.11.12 10:14 Сейчас в теме
(21) igorka_69, странно(про префикс). посмотрел даже обработку загрузки в рабочей УТ 103 (там заремарена эта строка). Документы формируются с префиксами. Нет разницы как создан документ. Если документ новый или меняется организация, то номер формируется механизмом нумерации. Если конечно ничего не сломали в конфигурации. Присоединяюсь к вопросу в (11)
25. igorka_69 27.11.12 14:13 Сейчас в теме
(22) Артано, конфап типовая, только внешние печатные формы. Можно что-то изменить в настройках чтобы это слетела? Префиксы не меняли. Что точно известно. Загрузили документы из клиент банка. Затем часть документов удалили и вместо их создали вручную документы на других контрагентов.
27. Фоур 27 27.11.12 14:23 Сейчас в теме
(25) igorka_69, почему на других контрагентов те же номера? если платежка уже по банку прошле, зачем ее удаляли из базы? какие-то танцы с бубном у ваших бухгалтеров...
29. igorka_69 27.11.12 22:14 Сейчас в теме
(27) Фоур, смысл такой, транспортная компания собирает деньги с клиентом и перечисляет их фирме, т.е. деньги приходят от транспортной. Бухи лучше ничего не придумали как удалять эти платежки и заводить платежки якобы от клиентов чтобы закрывались долги. хотя это входящие платежки, а проблема с исходящими. наверное тоже что-то ввели руками только уже не помнят.
30. Фоур 27 27.11.12 22:18 Сейчас в теме
(29) igorka_69, вручную нужно было в этом случае делать не платежки а плат. ордера на поступление/списание средств
платежки вещь нежная, низзя с ними так
31. Фоур 27 27.11.12 22:21 Сейчас в теме
(29) igorka_69, вобщем, что могу посоветовать
- сделать обработку, которая скопирует платежки в плат. ордера, а сами платежки удалит
тогда у загружаемых не будет конфликтов
а в дальшейшем все ручные приколы пусть бухи делают с ордерами, а не с платежками
32. igorka_69 27.11.12 23:39 Сейчас в теме
(31) Фоур, так проблема счас выяснить что ввели вручную))) они копировали существующие и сиправляли) везде - загружено из клиент-банка)
33. Фоур 27 27.11.12 23:42 Сейчас в теме
(32) igorka_69, а не надо ничего выяснять - с начала года все чесом переводите из пл. пор. в пл. орд. хуже не будет от этого.
23. Фоур 27 27.11.12 10:51 Сейчас в теме
(21) igorka_69, если создавали и загружали, то при загрузке просто перезаписывается ранее созданный, а тут новый объект
Скорее всего все-таки путаница с рабочим годом. Например, документ формируется программно в прошлом году, где платежек было меньше, чем в этом, устанавливается новый для прошлого года номер, затем дата меняется и упс, в этом году такой номер уже есть.
Отладчиком, там где новый номер устанавливается, посмотрите, какая при этом ДАТА у документа. в текущем ли она году?
24. igorka_69 27.11.12 14:08 Сейчас в теме
(23) Фоур, дата текущего года. выходит сообщение, к примеру такое -Документ "Исходящее платежное поручение" № УТ000111115 от 23.11.2012 0:00:00 не создан! Произошли ошибки при записи!
Документ "Исходящее платежное поручение" № УТ000111116 от 23.11.2012 0:00:00 не создан! Произошли ошибки при записи!
Документв с такими номерами в базе существуют, из-за этого и ошибка. Но документы соверешенно другие. База ведется с этого года и за предыдущий год документов нет.
26. Фоур 27 27.11.12 14:22 Сейчас в теме
(24) igorka_69, не путаем дату в сообщении с датой в момент установки нового номера
в сообщении понятно, что дата текущего года - тут уже конфликт уникальности,
а вот при установке в отладчике какая дата?
плюс, имеет смысл разобраться в процедуре поиска существующего документа. по какой-то причине она не находит существующий, вопрос почему?
и где вообще сделана платежка изначально? если в 1С, то найдите ее в журнале - какой там номер? может такой же как у другой платежки, но количество нулей впереди отличается?
43. WKBAPKA 215 27.04.18 10:04 Сейчас в теме
(20) тугой ты. сам столкнулся с таким же.
а когда пытаюсь запросом получить последний номер документа, получаю на выходе документ за прошлый год
4. SGordon1 26.11.12 11:07 Сейчас в теме
Там небось что то не то с организацией или датой документа на момент Установки нового номера?
6. igorka_69 26.11.12 11:48 Сейчас в теме
(4) SGordon1, дату подставляет верную, организация одна в базе.
5. Airlord 26.11.12 11:18 Сейчас в теме
Обработку вы писали сами или используете стандартные механизмы? Попробуйте переномеровать заново имеющимися обработками выписки и заново попробовать загрузить. может где-то внутри сбилось?
7. igorka_69 26.11.12 11:49 Сейчас в теме
(5) Airlord, обработка типовая, пробовал перенумеровать, хватило на раз, в следующуй снова такая проблема.
11. interlamersha 26.11.12 19:21 Сейчас в теме
а, пардон, увидила, ТИПОВаЯ. А релиз какой? и сильно ли доработанная конфа?
12. Фоур 27 26.11.12 20:07 Сейчас в теме
Обычно данная ситуация означает, что в системе имеется "кривой" номер, введенный кем-то вручную, из-за которого дальнейшая (до конца года) нумерация невозможна. Например, с дробью или отсутствием лидирующих нулей. Отладчиком посмотрите в момент записи, какой именно номер присваивается платежке перед тем, как обработка сообщит о "неуникальности". Далее ищите существующий документ с тем же номером и решайте вопрос с его изменением. Если проблема в отсутствии лидирующих нулей, то обработка, втыкающая эти нули всем документам с начала года пишется за 5 мин. Если имеет место дробь "/", то поставьте в существующем документе не-буквенный-префикс, например "_", чтобы автонумерация его игнорировала.
Adamus722; +1 Ответить
14. igorka_69 26.11.12 22:25 Сейчас в теме
(12) Фоур, если пробую создать вручную документ новый и записать его - все нормалньо, присваеивается новый нормальный номер, что говорит о том, что нумерация не сбита. Просто документам пытается присвоиться номер документа,который уже создан в этой базе.
15. Фоур 27 27.11.12 00:02 Сейчас в теме
(14) igorka_69, в любом случае, начинать надо с отладчика и проверки какой именно номер устанавливается при загрузке, а потом уже анализировать почему такой и почему не уникальный
16. igorka_69 27.11.12 00:28 Сейчас в теме
(15) Фоур, ну вот я вижу под отладчиком номер, документ с таким номером уже есть в базе. как выяснить причину произошедшего?
17. Фоур 27 27.11.12 00:33 Сейчас в теме
(16) igorka_69, теперь надо в отладчике ставить точку останова на "пораньше", отлавливая момент, когда номер еще не тот, что в этой точке, а затем найти то место в программе, где номер меняется на текущий, и, томно вглядываясь в эту строку, подумать "а что в этой строке не так?"
18. Фоур 27 27.11.12 00:37 Сейчас в теме
(16) igorka_69, еще в качестве безумной мысли класса "а вдруг" - проверьте, не стоит ли у вас в параметрах рабочая дата на не_текущий год
19. Фоур 27 27.11.12 00:39 Сейчас в теме
(16) igorka_69, либо в той платежке, которая "уже есть" дата поступления и дата самой платежки в разных годах, нет?
13. interlamersha 26.11.12 20:31 Сейчас в теме
а еще может быть в драбодан допиленная конфа с введением единого нумератора, и смотрит человек в платежки входящие вроде всё зашибись, а там какой нибудь аккредитив с кривым номером или платежное требование с номером "9 ".
28. Артано 795 27.11.12 14:28 Сейчас в теме
Скажите пожалуйста номер релиза конфигурации. Есть предположение связанное с тем, что в УТ меняли летом систему нумерации для платежек.
Также есть предположение, что у организации(единственной) в префиксе стоит пробел


Мне уже стало интересно ))

P.S. Прошу прощения за сегодняшний пост эмоциональный. Мой косяк. Забыл что еще в прошлом году переделал систему нумерации документов чтобы номер присваивался всегда с префиксами.
34. st_an 28.11.12 08:20 Сейчас в теме
Обычно данная ситуация означает, что в системе имеется "кривой" номер, введенный кем-то вручную, из-за которого дальнейшая (до конца года) нумерация невозможна. Либо кто то вручную ввел слишком короткий номер, например, 9 и 1с не может увеличить разрядность.
35. igorka_69 28.11.12 11:09 Сейчас в теме
(34) st_an, тогда почему если делать вручную платежку то номер не сбивается и все происходит нормально?
41. Sergoninfostarru 2 13.05.14 12:07 Сейчас в теме
(35) igorka_69,

Вручную включается другой механизм нумерации - автоматический, а программно можна этот механизм изменить.
36. pricetema 13.05.13 17:35 Сейчас в теме
столкнулся с такой же проблемой в обработке клиент-банк для ут 10.3
пришлось редактировать модуль.
за комментировал три строчки:

Процедура ЗаполнитьРеквизитПлатежногоПорученияИсходящего(ОбъектДокумента, ИсходныеДанные)

//Организация, ДАТА, НОМЕР
УстановитьСвойство(ОбъектДокумента, "Организация", Организация);
УстановитьСвойство(ОбъектДокумента, "Дата", ИсходныеДанные.ДатаДок);
Если ЗначениеЗаполнено(ИсходныеДанные.Списано) Тогда
УстановитьСвойство(ОбъектДокумента, "Оплачено", Истина);
УстановитьСвойство(ОбъектДокумента, "ДатаОплаты",НачалоДня(ИсходныеДанные.Списано), истина);
КонецЕсли;
//Если ОбъектДокумента.ЭтоНовый() Тогда
ОбъектДокумента.УстановитьНовыйНомер(Организация.Префикс);
Если Не ОбщегоНазначения.ЕстьНеЦифры(ИсходныеДанные.Номер) Тогда
ОкончаниеНомера = Формат(Число(СокрЛП(ИсходныеДанные.Номер)), "ЧН=; ЧГ=0");
ДлинаОкончания = СтрДлина(ОкончаниеНомера);
ДлинаНомера = СтрДлина(СокрЛП(ОбъектДокумента.Номер));
Если ДлинаОкончания < 3 Тогда
ДлинаОкончания = 3;
КонецЕсли;

//ОбъектДокумента.Номер = Лев(ОбъектДокумента.Номер, ДлинаНомера - ДлинаОкончания) + Формат(Число(ОкончаниеНомера), "ЧЦ=" + ДлинаОкончания + "; ЧВН=; ЧГ=0");

КонецЕсли;
//КонецЕсли;
37. whoo 30.01.14 11:38 Сейчас в теме
(36) pricetema, В УПП в клиент банке такая же беда с исходящими платёжками. Тоже спасают эти закомментированные строки.
38. Sabfir 18.04.14 16:06 Сейчас в теме
(36) pricetema,
Прокомментируйте, пожалуйста, для чего комментируется вот эта строчка:
//Если ОбъектДокумента.ЭтоНовый() Тогда

?
Заранее благодарю
39. Sabfir 18.04.14 16:11 Сейчас в теме
(36) pricetema,
И, конечно же, код лучше оформлять в виде кода. Легче понять о чем речь.

Процедура ЗаполнитьРеквизитПлатежногоПорученияИсходящего(ОбъектДокумента, ИсходныеДанные)

//Организация, ДАТА, НОМЕР
УстановитьСвойство(ОбъектДокумента, "Организация", Организация);
УстановитьСвойство(ОбъектДокумента, "Дата", ИсходныеДанные.ДатаДок);
Если ЗначениеЗаполнено(ИсходныеДанные.Списано) Тогда
УстановитьСвойство(ОбъектДокумента, "Оплачено", Истина);
УстановитьСвойство(ОбъектДокумента, "ДатаОплаты",НачалоДня(ИсходныеДанные.Списано), истина);
КонецЕсли;
//Если ОбъектДокумента.ЭтоНовый() Тогда
ОбъектДокумента.УстановитьНовыйНомер(Организация.Префикс);
Если Не ОбщегоНазначения.ЕстьНеЦифры(ИсходныеДанные.Номер) Тогда
ОкончаниеНомера = Формат(Число(СокрЛП(ИсходныеДанные.Номер)), "ЧН=; ЧГ=0");
ДлинаОкончания = СтрДлина(ОкончаниеНомера);
ДлинаНомера = СтрДлина(СокрЛП(ОбъектДокумента.Номер));
Если ДлинаОкончания < 3 Тогда
ДлинаОкончания = 3;
КонецЕсли;

//ОбъектДокумента.Номер = Лев(ОбъектДокумента.Номер, ДлинаНомера - ДлинаОкончания) + Формат(Число(ОкончаниеНомера), "ЧЦ=" + ДлинаОкончания + "; ЧВН=; ЧГ=0");

КонецЕсли;
//КонецЕсли; 
Показать
40. Sergoninfostarru 2 13.05.14 11:57 Сейчас в теме
Причин может быть три :
1) При загрузке клиент-банка номер документа записывается явным образом, а не генерируется 1С, а разные рассчетные счета одного банка могут накладываться по нумерации;
2) Попробуйте провести тестирование и исправление базы данных в части логической целостности и ссылочной целостности.
3) Почистить кэш 1С8.
42. Maratuster 29.10.15 12:43 Сейчас в теме
Я на каком-то форуме видел: после выгрузки документа - в банке при обработке сбрасывались номера и прописывались новые - соответственно при загрузке возникала такая проблема. Не знаю, насколько это правдивая история. А в релизе 8.3.42.45 - полностью переписан модуль клиент-банка.
44. ankr 19 09.08.19 16:16 Сейчас в теме
Столкнулся с такой проблемой, когда в организации открыли второй расчетный счет.
Номер исходящего платежного поручения 1С пытается создать используя номер платежки. А этот номер уже занят платежкой другого банка.
Тоже подправил процедуру:
Процедура ЗаполнитьРеквизитПлатежногоПорученияИсходящего(ОбъектДокумента, ИсходныеДанные)
	
//Организация, ДАТА, НОМЕР 
	УстановитьСвойство(ОбъектДокумента, "Организация", Организация);
	УстановитьСвойство(ОбъектДокумента, "Дата", ИсходныеДанные.ДатаДок);
	Если ЗначениеЗаполнено(ИсходныеДанные.Списано) Тогда
		УстановитьСвойство(ОбъектДокумента, "Оплачено", Истина);
		УстановитьСвойство(ОбъектДокумента, "ДатаОплаты",НачалоДня(ИсходныеДанные.Списано), истина);
	КонецЕсли;
	Если ОбъектДокумента.ЭтоНовый() Тогда
		ОбъектДокумента.УстановитьНовыйНомер(Организация.Префикс);
		//Если Не ОбщегоНазначения.ЕстьНеЦифры(ИсходныеДанные.Номер) Тогда
		//	ИтоговыйПрефикс = ОбменДаннымиСобытияУТ.ПолучитьПрефиксЧислоНомера(ОбъектДокумента.Номер);
		//	ОкончаниеНомера = Формат(Число(СокрЛП(ИсходныеДанные.Номер)), "ЧН=; ЧГ=0");
		//	ДлинаОкончания = СтрДлина(СокрЛП(ОбъектДокумента.Номер)) - СтрДлина(ИтоговыйПрефикс);
		//	ОбъектДокумента.Номер = ИтоговыйПрефикс + Формат(Число(ОкончаниеНомера), "ЧЦ=" + ДлинаОкончания + "; ЧВН=; ЧГ=0");
		//КонецЕсли;
	КонецЕсли;
Показать
47. lisiland 06.03.20 00:08 Сейчас в теме
Всем огромная благодарность. Столкнулся с этой проблемой, закомментил, всё заработало. Причём столкнулся как только начался новый период.
(44)
45. Red_Devil 181 15.11.19 11:14 Сейчас в теме
Спасибо коллеги, помогли и мне :)
46. dasan92 12 28.01.20 11:39 Сейчас в теме
Сделал так: если находит уже такой номер в пределах года, тогда оставляет тот номер, который присвоился автоматически:
   // +	
   НовыйНомер = Лев(ОбъектДокумента.Номер, ДлинаНомера - ДлинаОкончания) + Формат(Число(ОкончаниеНомера), "ЧЦ=" + ДлинаОкончания + "; ЧВН=; ЧГ=0");
   
   Запрос = Новый Запрос;
   Запрос.Текст = 
   "ВЫБРАТЬ
   |	ПлатежноеПоручениеИсходящее.Ссылка
   |ИЗ
   |	Документ.ПлатежноеПоручениеИсходящее КАК ПлатежноеПоручениеИсходящее
   |ГДЕ
   |	ПлатежноеПоручениеИсходящее.Номер = &Номер
   |	И ПлатежноеПоручениеИсходящее.Дата >= &Дата";
   
   Запрос.УстановитьПараметр("Дата", НачалоГода(ОбъектДокумента.Дата));
   Запрос.УстановитьПараметр("Номер", НовыйНомер);
   
   РезультатЗапроса = Запрос.Выполнить();
   
   ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
   Если НЕ ВыборкаДетальныеЗаписи.Следующий() Тогда
	   ОбъектДокумента.Номер = НовыйНомер; 	
   КонецЕсли			
   // - 
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот