1с убрать префикс из номера

Обновлено: 04.07.2024

Программа придумывает номера типа 00УБ-000241. Это пример счета-фактуры. На печать она выходит с номером УБ-241.
Тоже само и с другими документами. Никакого префикса в Организации не задано.

Как убрать фсю эту хрень раз и навсегда.

(0) ОФФ.
Автор просто таки плодит ветки - одна дебильней другой.

Пригласите специалиста. Он вам расскажет как корректно настроить префиксы информационной базы и организации.

В результате у вас будут системные номера с префиксами ( например, 00УБ-000241) а на печать выводится номера без префиксов (просто - 241).

Убрать префиксы и ведущие нули совсем не удастся. В таком случае перестанет работать типовая нумерация объектов, которая функционирует на уровне платформы.

+ к (5) ИМХО, эту ветку, как и предыдущую, можно тоже перенести в секцию "Юмор".

(7) Такой юмор рождается в двух случаях:
1. от нежелания или неумения читать документацию по программному продукту
2. желания использовать программный продукт альтернативным ректальным методом, именуемым в народе - "через *опу".

Есть типовой механизм, который печатает номера документов так как вы хотите.
Но вы же считаете себя выше каких-то там мануалов и разобраться почему не работает стандартный механизм.

Написав в (5) "Пригласите специалиста" я вовсе не шутил.
Лучше сейчас заплатить копейки за консультации по таким дебильным вопросам, типа это ветки или ветки OFF: Почему фирма 1C так делает? В спр. Контрагенты в ERP можно ввести многое чем наворотить и потом платить серьезные деньги за исправление косяков.

(9)Дмитрий, вы уклонились от прямого ответа на вопрос, а на бессодержательные посты время находите.

Конечно, можно включить возможность изменения конфигурации и откорректировать какие то модули, - это все понятно.

Вопрос заключается в том, как при помощи только настроек, обеспечить вывод на печать номеров документов вида 00УБ-000241 в печатную форму в виде 241.

Вы знаете ответ?

(11) запрограммируй это при помощи универсального 1с-программатора

Оказалось, что простейшими настройками этого добиться можно!

А умники всегда дают спасительный совет - Пригласите программиста:)

Вау. Как это оно само вдруг "оказалось"? Неужели банальное очищение префикса БД?
(14) В двух местах. Можно было подсказать сразу и не умничать
(15) всего-то нужно было запустить отладчик и посмотреть откуда тянется префикс
Для моего случая (это ERP) нужно в разделе НСИ и администрирование -> Синхронизация данных, очистить префикс информационной базы. Затем в НСИ и администрирование -> Сведения о предприятии -> Сведения об организации, очистить префикс. После этого нумерация документов будет в виде
0000-000001, а в печатную форму выведется 1.
(19) у вас там реально странные люди. Зачем надо было покупать erp, если ведете в нем всего одну организацию?

Делаем вывод: префикс для организации не указан. Тогда непонятно, зачем еще "Затем в НСИ и администрирование -> Сведения о предприятии -> Сведения об организации, очистить префикс" Он же и так не заполнен.

По поводу подсказок: их тут и так полно. Просто они не всегда всплывают от "коллективного разума" оперативно и без снобизма. Особенно здесь. Последнее дело в этой ситуации сопровождать свои вопросы раздражительными криками.

Теперь по поводу очищения префикса БД. Глупо вот так сразу советовать делать такое, ибо даже если сейчас нет никакой идентификации доков в разрезе информационных узлов, она может появиться в будущем. И вот тогда вспомнят недобрым словом того, кто додумался стереть префикс БД.

(20) Кстати, да. Лучше сразу сделать организацию с префиксом. Всё равно потом ещё одна организация понадобится.

Род занятий: Косяки
Достижения (опыт): Косяки
Интересы: Косяки

Мне главбух поставил условие: чтобы никаких букв и левых нулей не было в выходных формах!
(26) Дык надо был изменять алгоритм формирования номера в печатной форме. Пригласите уже программиста, не портите базу.
(26) А я думал, что она тебе сказала сделать все так, чтобы косяков не было.

(26) И что дальше?
Это не значит что надо очищать префиксы.
Префиксы и ведущие нули система сама убирает из номера при выводе документа на печать, оставляя только сам номер.

>> 0000-000001, а в печатную форму выведется 1.

Ты удивишься, но те четыре нуля, что до знака "-" - это тоже префикс. А точнее два одинаковых префикса - "00" - ИБ и организации.

(29) Вы не правы.
У меня сам документ Счет-фактура имеет номер 00УБ-000234

Я бы вообще не стал трогать префиксы - а вдруг захотите обмен настроить с другой базой? Не нравятся вам префиксы в печатных формах, ну так и не печатайте их:

в общем модуле ПрефиксацияОбъектовКлиентСерверПереопределяемый

Для УТ 11 добавляем установку значений параметрам (пример ниже) в начале функции ОбщийМодуль.ПрефиксацияОбъектов.ПолучитьНомерНаПечать, т.к. в конфе данная функция вызывается без этих параметров, а по умолчанию они равны ЛОЖЬ

Для бухгалтерии 3.0 проще сделать так. Включить все функции в "Главное меню" -> "Сервис" -> "Параметры". Далее "Главное меню" -> "Все функции" - "РегистрСведений.ПрефиксыИнформационныхБаз", открываем форму нужного перефикса и устанавливаем "Печатать префикс = ложь". Все! Наслаждаемся нормальной нумерацией при печати и нормальной нумерацией в журнале с/ф и декларации по НДС )))

rafa_gas18; angur; user970589; motorsoft; llxmanll; 1C_Lab; Georgik; + 7 – Ответить (13)
Добрый день.
А не подскажите как включить вывод на печать префикса организации в ут 11? още сделать так. Включить все функции в "Главное меню" -> "Сервис" -> "Параметры". Далее "Главное меню" -> "Все функции" - "РегистрСведений.ПрефиксыИнформационныхБаз", открываем форму нужного перефикса и устанавливаем "Печатать префикс = ложь". Все! Наслаждаемся нормальной нумерацией при печати и нормальной нумерацией в жу
В УТ есть подобный регистр? чет с первого взгляда не вижу. пойду в конфе искать (13) В журнале с/ф печать без префикса происходит, а в декларации по НДС нет, к сожалению, на последнем на данный момент релизе 3.0.76.67 Получилось помочь себе самому, несмотря на то что в модуле стоят значения Ложь для удаления префикса организации, ниже идёт значение истина. 1с. (15) Префикс организации у вас и так пустой. А вот префикс узла (это который "УТ") у вас есть и он печатается. Всё более чем логично.

У меня подобная ситуация.
Работаем в УТ 11.4.11.71 в справочнике Организации префикс УТ установлен изначально, в экранной форме он присутствует, а в печатном виде его нет.
Например, номер документа отображался УТ00-000045.

На днях настроили обмен УТ 11 и БП 3.0 в момент настройки синхронизации в УТ 11 задали префикс УТ и теперь:
1. Номер документа на экране выглядит УТУТ-000054.
2. В печатной форме появился префикс УТ-54.
Подскажите, пожалуйста, как на строить программу, чтобы в печатной форме выводился на печать только номер без префикса.
Можно ли это настроить в программе не используя конфигуратор?

title

Нужно открыть ОбщийМодуль ПрефиксацияОбъектовКлиентСервер
и найти процедуру ПолучитьНомерНаПечать

В коде:
Код 1C v 8.2 УП

Разместил: E_Migachev  Версии: | 8.x | 8.2 УП |  Дата: 16.01.2014   Прочитано: 25270

Распечатать

Похожие FAQ

Как заполнить табличную часть формы программно?  6
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 1C: Enterprise Development Tools  50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем 1С Предприятие что это?  11
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое Cклонения по падежам  6
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) Результат = " " ; Google maps : вывод точек на карту и режим панорамы  7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Посмотреть все результаты поиска похожих


Часто возникает необходимость вывести в печатную форму номер документа без префикса и лидирующих нулей.

Для этого можно воспользоватся маленькой обработкой прикрепленной к статьи или использовать ниже приведенный код.

НомерБезНулей = НомерБезПрефикса ;
Пока Найти ( НомерБезНулей ,"0") = 1 Цикл
НомерБезНулей = Сред( НомерБезНулей , 2 ); //удаляет лидирующие нули
КонецЦикла;
Объект . ОбработанныйНомер = НомерБезНулей ;

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Забавно. Буквально вчера решал эту общеизвестную задачку и думал, как бы поэффективнее. Способ замен, конечно, тоже рассматривал, но. Автор, простите, а если номер "00012034", что будет? Верно, лажа будет. Вот если использовать Лев(,1) и Прав(,1) или новомодные СтрНачинаетсяС и СтрЗаканчиваетсяНа, тогда ещё куда ни шло. А так явный минус.

Ну и вообще, кажется мне, что не самый это изящный и быстрый способ.

(2) Yashazz, функции СтрНачинаетсяС и СтрЗаканчиваетсяНа не на всех релизах конфигурации работают.
Если номер документа "00012034" после обработки станет "12034", что вполне корректно..

(5) не релизах конфигурации, а релизах платформы. Не ниже 8.3.7, ну я и написал, что "новомодные")

Хожу второй день и пытаюсь решить задачу в духе работ Ильдаровича. Чтобы стильно и извратно)))

а зачем изобретать "велосипед", если можно вызвать готовую функцию общего модуля ОбщегоНазначения.ПолучитьНомерНаПечать(документ); KDZorkov; intelligentvadik; zoikins; unduty; wolfsoft; Eillecho; user598655_ilia-bers; timurkhann; TManukovskaya; temdj; mark_oilbass; synelf; BIT_vnedr; vadimlp77; vovan_victory; eksdak; + 16 – Ответить (3) alex-l19041, ОбщегоНазначения.ПолучитьНомерНаПечать(документ) удаляет только ПрефиксПодразделения или ПрефиксИнформационнойБазы. Если вручную бухгалтер поменял префикс на какой захотел, он не удалится стандартной функцией. (4) ОбщегоНазначения.ПолучитьНомерНаПечать если её вызывать в цикле и много документов, то она очень медленно работает. в БП 3.0 с нумерацией типа ААББ-000001 корректно работает? (6) c300pm, не могу сказать не проверял на БП 3.0.
Тем не менее была просьба доработать такой механизм для печати, поскольку стандартный не отрабатывал.
Какая конфигурация и какой релиз уже не помню.
Мой способ не является эталоном, но как мне кажется имеет право на жизнь)) Очевидно, что это вариант не сработает с номером АА-123, так как в нем ни одного нуля нет. Или, например, с номером АА-101 сработает неверно, оставив от него только 1 Думаю, более правильно будет просматривать посимвольно справа налево до первой не цифры, затем полученную подстроку чистить от ведущих нулей, например так Строка(Число("0"+ПромежуточнаяПодстрока)) (9) v3rter, согласен Ваш вариант более коректный чем мой. Хотя есть альтернативный способ - выкинуть из номера все нецифровые символы, затем ведущие нули. Недостаток: кривые номера типа Н1АБ0000021 превратятся в 10000021, а не в 21. Такие "чудо-номера" бывают от кривых префиксов при обмене. Если исходить из того, что все нецифровые префиксы уже отброшены, то самое топорное решение это Формат(Число(Номер)). Вот простой код, который сработает, если номер содержит число.

Как всегда шедевры. Математики поймут )

Попробую расшифровать для тех, кому лень разбираться.

Первая функция: рекурсивно проверяются символы справа налево до первой не цифры,
затем происходит возврат правой части строки по накопленному значению К;
( КодСимвола() / 5 - 10.5 ) возвращает значение от -0,9 до 0,9 для символов с "0" до "9",
Цел() отсекает дробную часть, в результате для цифр получится 0, для остальных символов не ноль;
?(Цел(КодСимвола(Прав("!" + Стр, К + 1)) / 5 - 10.5),<не цифра>,<цифра>) базируется на особенности преобразования нуля в булево ложь, а "!" + Стр - подстраховка от пустой строки на входе.

Вторая функция: все числа заменяются пробелами "матрёшкой" вложенных функций
СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрЗаменить(Номер
, "0", " "), "1", " "), "2", " "), "3", " "), "4", " "), "5", " "), "6", " "), "7", " "), "8", " "), "9", " ")
СокрП отсекает пробелы справа, остаток замереятся через СтрДлина и вырезается часть с середины до конца с позиции +1, где должны начинаться цифры.

Формат( , "ЧГ=") в обоих случаях убирает разделители разрядов при обратном преобразовании числа в текст, потом что через Строка() "формируется . полное представление в стандартном виде, соответствующем национальным установкам". Или как у Ovrfox в (16) вместо Формат(, "ЧГ=") можно попробовать неявное преобразование в строку ""+Число(

Читайте также: