1с убрать ведущие нули в номере
1С убрать нули слева
Часто при разработке печатных форм или отчетов, нужно номера документов вида 000001 преобразовать в 1 – убрав лидирующие нули. в этой статье я приведу несколько способов, а какой выбрать – решайте сами:
Код 1C v 8.х Код 1C v 8.х
Код 1C v 8.х Код 1C v 8.х
Похожие FAQ
Еще в этой же категории
Ключевые слова и Изображения
Слова упорядочены по частоте использования в тексте
Изображения
В первом примере используется рекурсия, а значит нет смысла использовать цикл. Правильнее будет вот такой код:
btrvodka |
---|
Комментарий: 1 |
В первом примере используется рекурсия, а значит нет смысла использовать цикл. Правильнее будет вот такой код:
Код 1C v 8.3 Код 1C v 8.3 Код 1C v 8.3 Код 1C v 8.3 Код 1C v 8.3 Код 1C v 8.3 Код 1C v 8.3 Код 1C v 8.3
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования (Linus Torvalds).
Страницы
пятница, 17 января 2014 г.
Убрать лидирующие нули из номера документа
Убрать лидирующие нули из номера документа может нам понадобиться в том случае, если мы, к примеру, формируем печатную форму и номер нужно привести к нормальному виду, не показывая лидирующие нули и префикс документа. Для этого можно воспользоваться готовой процедурой, которая преобразовывает номер к нужному нам виду. Содержится она в общем модуле ОбщегоНазначения:
Если Документ = Неопределено Тогда
Возврат 0 ;
КонецЕсли;
Если ТипЗнч ( Документ ) <> Тип ( «ВыборкаИзРезультатаЗапроса» )
И ТипЗнч ( Документ ) <> Тип ( «Структура» ) Тогда
Если ПечатьПрефиксовРИБ Тогда
МассивПрефиксовРИБ = ПолучитьМассивПрефиксовРИБ ();
КонецЕсли;
Если МассивПрефиксов = Неопределено Тогда
Если ТипЗнч ( Документ ) = Тип ( «ВыборкаИзРезультатаЗапроса» )
ИЛИ ТипЗнч ( Документ ) = Тип ( «Структура» ) Тогда
Если ПечатьПрефиксовРИБ Тогда
// если печатаем префиксы РИБ в документах – не добавляем их в массив удаляемых префиксов
МассивПрефиксовДляОбхода = СформироватьМассивПрефиксовПоОрганизации ( Организация );
Иначе
МассивПрефиксовДляОбхода = СформироватьМассивПрефиксовДляРИБИОрганизации ( Организация );
КонецЕсли;
Для Каждого ТекущийПрефикс ИЗ МассивПрефиксовДляОбхода Цикл
Если ПечатьПрефиксовРИБ И ПрефиксРИБ <> «» Тогда
Номер = ПрефиксРИБ + Номер ;
КонецЕсли;
Функция удаления лидирующих нулей обходит символы строки с лева на право, до тех пор пока не встретится символ отличный от нуля. Как только встречается символ не равный нулю, берется часть строки начиная с этого символа и до конца строки. Если входящая строка «000016», функция вернет «16».
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
Как убрать нули и префиксы в документах ERP?
Программа придумывает номера типа 00УБ-000241. Это пример счета-фактуры. На печать она выходит с номером УБ-241.
Тоже само и с другими документами. Никакого префикса в Организации не задано.
Как убрать фсю эту хрень раз и навсегда.
Пригласите специалиста. Он вам расскажет как корректно настроить префиксы информационной базы и организации.
Убрать префиксы и ведущие нули совсем не удастся. В таком случае перестанет работать типовая нумерация объектов, которая функционирует на уровне платформы.
Есть типовой механизм, который печатает номера документов так как вы хотите.
Но вы же считаете себя выше каких-то там мануалов и разобраться почему не работает стандартный механизм.
Написав в (5) «Пригласите специалиста» я вовсе не шутил.
Лучше сейчас заплатить копейки за консультации по таким дебильным вопросам, типа это ветки или ветки OFF: Почему фирма 1C так делает? В спр. Контрагенты в ERP можно ввести многое чем наворотить и потом платить серьезные деньги за исправление косяков.
(9)Дмитрий, вы уклонились от прямого ответа на вопрос, а на бессодержательные посты время находите.
Вопрос заключается в том, как при помощи только настроек, обеспечить вывод на печать номеров документов вида 00УБ-000241 в печатную форму в виде 241.
Оказалось, что простейшими настройками этого добиться можно!
По поводу подсказок: их тут и так полно. Просто они не всегда всплывают от «коллективного разума» оперативно и без снобизма. Особенно здесь. Последнее дело в этой ситуации сопровождать свои вопросы раздражительными криками.
Теперь по поводу очищения префикса БД. Глупо вот так сразу советовать делать такое, ибо даже если сейчас нет никакой идентификации доков в разрезе информационных узлов, она может появиться в будущем. И вот тогда вспомнят недобрым словом того, кто додумался стереть префикс БД.
Род занятий: Косяки
Достижения (опыт): Косяки
Интересы: Косяки
(26) И что дальше?
Это не значит что надо очищать префиксы.
Префиксы и ведущие нули система сама убирает из номера при выводе документа на печать, оставляя только сам номер.
>> 0000-000001, а в печатную форму выведется 1.
(29) Вы не правы.
У меня сам документ Счет-фактура имеет номер 00УБ-000234
в печатную форму выводится так:
Счет-фактура № УБ-234 от 31 января 2018 г.
Релиз свежий и конфигурация на замке.
Убрать нули из номера документа 1с
Часто при разработке печатных форм или отчетов, нужно номера документов вида 000001 преобразовать в 1 – убрав лидирующие нули. в этой статье я приведу несколько способов, а какой выбрать – решайте сами:
Код 1C v 8.х Код 1C v 8.х
Код 1C v 8.х Код 1C v 8.х
Похожие FAQ
Еще в этой же категории
Ключевые слова и Изображения
Слова упорядочены по частоте использования в тексте
Изображения
В первом примере используется рекурсия, а значит нет смысла использовать цикл. Правильнее будет вот такой код:
btrvodka |
---|
Комментарий: 1 |
В первом примере используется рекурсия, а значит нет смысла использовать цикл. Правильнее будет вот такой код:
Код 1C v 8.3 Код 1C v 8.3 Код 1C v 8.3 Код 1C v 8.3 Код 1C v 8.3 Код 1C v 8.3 Код 1C v 8.3 Код 1C v 8.3
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования (Linus Torvalds).
Страницы
пятница, 17 января 2014 г.
Убрать лидирующие нули из номера документа
Убрать лидирующие нули из номера документа может нам понадобиться в том случае, если мы, к примеру, формируем печатную форму и номер нужно привести к нормальному виду, не показывая лидирующие нули и префикс документа. Для этого можно воспользоваться готовой процедурой, которая преобразовывает номер к нужному нам виду. Содержится она в общем модуле ОбщегоНазначения:
Если Документ = Неопределено Тогда
Возврат 0 ;
КонецЕсли;
Если ТипЗнч ( Документ ) <> Тип ( «ВыборкаИзРезультатаЗапроса» )
И ТипЗнч ( Документ ) <> Тип ( «Структура» ) Тогда
Если ПечатьПрефиксовРИБ Тогда
МассивПрефиксовРИБ = ПолучитьМассивПрефиксовРИБ ();
КонецЕсли;
Если МассивПрефиксов = Неопределено Тогда
Если ТипЗнч ( Документ ) = Тип ( «ВыборкаИзРезультатаЗапроса» )
ИЛИ ТипЗнч ( Документ ) = Тип ( «Структура» ) Тогда
Если ПечатьПрефиксовРИБ Тогда
// если печатаем префиксы РИБ в документах – не добавляем их в массив удаляемых префиксов
МассивПрефиксовДляОбхода = СформироватьМассивПрефиксовПоОрганизации ( Организация );
Иначе
МассивПрефиксовДляОбхода = СформироватьМассивПрефиксовДляРИБИОрганизации ( Организация );
КонецЕсли;
Для Каждого ТекущийПрефикс ИЗ МассивПрефиксовДляОбхода Цикл
Если ПечатьПрефиксовРИБ И ПрефиксРИБ <> «» Тогда
Номер = ПрефиксРИБ + Номер ;
КонецЕсли;
Для того чтобы в печатной форме документа номер отражался без префиксов и нулей, необходимо выполнить следующую настройку:
В разделе Администрирование перейти в пункт Печатные формы, отчеты и обработки.
В открывшемся окне настройки в пункте Представление номера необходимо выбрать значение Без префикса и нулей.
Данная настройка может быть выполнена как для документов, так и для счетов-фактур.
После выполнения настройки, номер в печатной форме будет представлен следующим образом:
Убрать лидирующие нули в номере Документа в 1С – Okolokompa
Статья в которой описан, простой способ убрать префикс и лидирующие нули из номера документа.
Работа с данными выбора
Практика программирования Работа с интерфейсом v8 Россия Абонемент ($m)
В управляемом интерфейсе заложена мощная возможность описывать связи реквизитов формы через параметры. Установка параметров связей позволяет ограничить выбор данных так, чтобы целостность данных была обеспечена на этапе ввода. Однако без дополнительного программирования задать можно только самые простые связи. Такие условия связи, как зависимость от реквизита через точку или зависимость через дополнительное отношение, заданное в регистре сведений – уже задать без программирования не получится.
17.07.2018 61213 24 kalyaka 16
Удалить лидирующие нули из номера Документа в 1С
Способ 1
Функция УбираемЛидрНули ( НомДок )
Способ 2
Функция УбираемЛидрНули ( НомДок )
ПокаКодСимвола ( НомДок ) 48 Или КодСимвола ( НомДок ) > 57 Цикл
Если Не ПустаяСтрока ( Преф ) Тогда
НомДок = Преф+УбираемЛидрНули ( НомДок ) ;
Способ 3
КОНЕЦ КАК НомерБезНулей
Способ 4
Способ 5
Функция УбираемЛидНули ( НомерДок )
СтрокаИтога = УбираемЛидНули ( НомерДокумента ) ;
Внутренний язык программирования 1С 8.3 для начинающих программистов: формат в 1С
Автор уроков и преподаватель школы: Владимир Милькин
При программировании в 1С часто приходится выводить (в те же отчеты) значения различных типов (строки, даты, числа …). У каждого из значений есть различные представления.
К примеру, одну и ту же дату ‘01.01.2005’ можно представить в виде строки как:
Всё это строковые представления одного и того же значения, д ля формирования которых в 1С используется специальная функция Формат.
Использование функции Формат в 1С
Отключаем группировку разрядов
Пусть нам требуется вывести число 10000.
То число 10000 отобразится с пробелами 10 000. Так получается потому, что 1С по умолчанию группирует цифры по 3 штуки (начиная справа) и выводит пробелы между ними.
Чтобы отменить это правило, воспользуемся функцией Формат:
Первый параметр – это само значение, а второй – форматная строка. Её не нужно пытаться запомнить – просто нужно знать, где посмотреть пример или справку по этой функции (здесь или в синтакс-помощнике).
Форматная строка в общем случае состоит из двух частей, разделенных знаком равно. Слева от равно стоит имя задаваемого параметра (смотрим в справке или на примерах), а справа значение этого параметра.
В приведенном выше примере форматная строка “ЧГ=0” имеет параметр ЧГ и значение 0. Такая комбинация отменяет группировку разрядов числа. И, как вы можете убедиться, теперь выводится 10000.
Выводим лидирующие нули
Также частой задачей является вывод лидирующих нулей перед цифрой. К примеру, пусть требуется вывести число 5 с лидирующим впереди нулём то есть в виде “05”:
Давайте разберём форматную строку “ЧЦ=2; ЧВН=”. Она состоит из двух форматных строк, разделенных точкой с запятой. Разберём каждую из них по отдельности.
Строка “ЧЦ=2” задаёт общее число отображаемых десятичных разрядов целой и дробной частей. Таким образом общее число позиций, которое будет занимать число при выводе будет равно 2.
Строка “ЧВН=”, как следует из справки, указывает функции формат, что если число не дотягивает по длине до заявленного (как в нашем случае, ведь мы указали 2 позиции, а 5 занимает только одну), то следует использовать лидирующие нули. Особенность данной форматной строки в том, что она имеет только имя параметра и знак равно, но не имеет значения. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.
Комбинация двух форматных строк и даёт нужный нам результат “05”, вместо “5”.
Отлично. Идём дальше.
Меняем разделитель целой и дробной части
Предположим нам требуется выводить дробные числа с разделителем звёздочка вместо точки. То есть, чтобы 25.46 выводилось как “25*46”:
Разберём форматную строку “ЧРД=*”. ЧРД – имя параметра, которое я узнал из справки, * – значение этого параметра, которое и будет являться новым разделителем целой и дробной части вместо точки.
Общее представление даты
А что если мы хотим вывести дату ‘20050101’ в виде “01.01.2005”:
А что если мы хотим вывести дату как “1 января 2005 г.”:
Обе используемые форматные строки “ДЛФ=Д” и “ДЛФ=ДД” имеют один и тот же параметр ДЛФ, но вот значения у него различные. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. В первом случае (сокращенный вариант даты) – Д, а во втором (длинный вариант) ДД.
Представление дня недели даты
Если посмотреть календарь, то выяснится, что 1 января 2005 года было субботой. Вот как можно выводить описание дня недели по его дате:
Форматная строка представляет из себя параметр ДФ и значение дддд, что и указывает функции Формат вывести длинное представление дня недели (обратите внимание как много букв “д” она содержит).
Представление месяца даты
Описание месяца по дате выводится так:
Форматная строка имеет тот же самый параметр ДФ, как и в предыдущем случае. Но вот значение отличается. Теперь оно равно ММММ.
Заполняем по шаблону (по умолчанию)
Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)
Простой в подключении, универсальный и достаточно удобный механизм заполнения реквизитов произвольных документов/справочников значениями по умолчанию. Реализован в расширении, но может быть и непосредственно включен практически в любую конфигурацию на управляемых формах простым копированием одной формы и двух команд. Весь код в статье.
Лидирующие нули в номерах СЧФ и Декларация НДС
где Если ДатаКонца >= ‘01.10.2014’ Тогда ФормироватьПоПостановлению735 = 1;
При этом номера в печатных формах счетов-фактур почему-то с лидирующими нулями, так как в макете печатной формы номер документа получается не через глПреобразоватьНомерДок, а просто СокрЛП(НомарДок).
Так и должно быть, или это ошибка, и в печатных формах счетов-фактур лидирующие нули должны также удаляться?
Как теперь быть, если в течение квартала выдавали печатные формы счетов-фактур с лидирующими нулями? Выгружать в декларацию также лидирующими нулями, исправив глПреобразоватьНомерДок на СокрЛП()?
в коде отчета Книга продаж 1С ссылается на постановление 735
но в комментариях к данному Постановлению речь идет в основном о том, что для структурных подразделений их код должен добавляться в номере через наклонную черту /
С 1 октября надо соблюдать лишь одну верную нумерацию счетов-фактур при отгрузках через подразделения. Поправки в правила оформления счетов-фактур четко определили, что цифровой номер надо ставить через символ «/», а не тире или дефис (постановление Правительства РФ от 30.07.14 № 735).
В то же время неверные разделители — это несущественный недочет, который не препятствует налоговикам на проверке идентифицировать продавца и покупателя, стоимость товара, ставку налога и т. п. (п. 2 ст. 169 НК РФ). А значит, инспекторы не вправе отказать покупателям в вычетах НДС. Но чтобы у контрагентов не возникло проблем, проще исправить счет-фактуру.
разве есть в этом Постановлении однозначный запрет на наличие лидирующих нулей? почему 1С так жестко связало отсечение лидирующих нулей с этим Постановлением?