1с чрг не работает
Сегодня мы ответим на эти вопросы и пройдем по основным вариантам использования и применения функции Формат() при разработке в 1С.
Функция Формат() в 1С используется при конвертации логических, строковых, числовых данных, данных в формате даты и времени между собой в нужных программисту 1С комбинациях.
1С описывает функцию Формат() в синтаксис-помощнике , привязывая ее к Глобальному контексту.
В синтаксисе у функции имеется два параметра. Первый параметр — исходное значение, которое необходимо преобразовать, второй — строка, описывающая метод, которым будет выполнено преобразование. Возвращаемое значение — строка.
С текстом синтаксис-помощника Вы можете ознакомиться в низу статьи, под спойлером.
Итак, после ознакомления с официальной теоретической версией, перейдем к реальной ситуации. Будем рассматривать конкретные примеры использования функции.
Как в 1С 8.3 форматировать число
Например, нужно преобразовать число 123456.789 так, чтобы десятичные знаки были округлены до сотых, и общее число знаков было 10. Причем, нужно отметить, что для дробных чисел параметр ЧЦ используется обязательно с ЧДЦ.
Замена символа-разделителя десятичной и целой части. В данном случае запятая будет заменена на тире.
Замена разделителя разрядов
Форматирование отрицательного числа.
Случаи форматирования значений числа, даты в пропись.
Здесь мы немного отойдем от функции Формат() и для описания наиболее востребованных вариантов преобразования чисел в строку приведем примеры применения функций ЧислоПрописью(), НСтр() и ПредставлениеПериода() (аналог функции из 1С 7.7 ПериодСтр()). Эти функции позволяют выполнить представление числа прописью в соответствии с форматной строкой
ФорматированноеЗначение = ЧислоПрописью ( 1234.56 , , "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2" ) ;
Сообщить ( "Ответ " + ФорматированноеЗначение ) ; // Ответ Одна тысяча двести тридцать четыре рубля 56 копеек
Текст = "ru crayon-s">"" + ФорматированноеЗначение + " - дата нашей статьи;" "; en crayon-s">"Date of our article " + ФорматированноеЗначение + "" "" ;
ФорматированноеЗначение = ПредставлениеПериода ( НачалоКвартала ( Дата ( "20160111" ) ) , КонецКвартала ( Дата ( "20160411" ) ) , "ФП=Истина" ) ;
Как в 1С 8.3 форматировать дату
Применяя функцию Формат() в 1С 8.2, 1С 8.3 можно представить дату и время самыми различными комбинациями.
ФорматированноеЗначение = Формат ( '20160311163005' , "ДФ crayon-s">"дд ММММ гггг 'г.' ЧЧ:мм:сс" "" ) ;
Сообщить ( Формат ( ФорматированноеЗначение , "ДФ=м" ) ) ; // Ответ 30 (если будет 01, то выведет ответ 1)
Сообщить ( Формат ( ФорматированноеЗначение , "ДФ=Ч" ) ) ; // Ответ 16 (если будет 01, то выведет ответ 1)
Сообщить ( Формат ( ФорматированноеЗначение , "ДФ=д" ) ) ; // Ответ 11 (если будет 01, то выведет ответ 1)
Сообщить ( Формат ( ФорматированноеЗначение , "ДФ=МММ" ) ) ; // Ответ март (длинные наименования месяцев сократит до 3 букв с точкой) Сообщить(Формат(ФорматированноеЗначение, "ДФ=ММММ")); // Ответ Март
Сообщить ( Формат ( ФорматированноеЗначение , "ДФ=г" ) ) ; // Ответ 16 (если будет 01, то выведет ответ 1)
Как в 1С 8.2, 1С 8.3 форматировать булевы (логические) операторы
Естественно, приведенный набор примеров не в полной мере отражает все возможные варианты использования функции Формат(), но общее представление можно получить. Для получения более расширенного представления о возможностях функции рекомендуем просмотреть официальную документацию 1С и заниматься разработкой на практике.
Тип: Число; Дата; Булево. Форматируемое значение. <ФорматнаяСтрока>(необязательный) Тип: Строка. Форматная строка представляет собой строковое значение, включающее параметры форматирования. Параметры форматирования перечисляются через символ «;». Наличие параметра означает отличие форматирования от стандартного. Если параметр не задан, то применяется стандартное форматирование, которое в основном соответствует преобразованию значения к строке. Однако для значений типа Число и Дата по умолчанию (0 и 01.01.0001 00:00:00 соответственно) будет выдаваться пустая строка. Каждый параметр задается именем параметра, символом «=» и значением параметра. Значение параметра может указываться в одинарных или двойных кавычках. Это необходимо, если значение параметра содержит символы, используемые в синтаксисе форматной строки. Внутри значения параметра могут указываться произвольные символы, которые при формировании результирующей строки будут отображаться как есть. Таким образом, например, можно указывать разделители часов, минут и секунд при форматировании времени. Если эти символы совпадают со значениями форматной строки, их необходимо заключать в одинарные кавычки. Имена и значения параметров форматной строки: Л (L) — имя языка, страны, для которых будет выполняться стандартное форматирование. Доступные имена языков расположены после описания форматной строки. ЧЦ (ND) — общее число отображаемых десятичных разрядов целой и дробной частей. Исходное число округляется при этом в соответствии с правилами округления Окр15как20. Если указан этот параметр, то для отображения дробной части числа обязательно указание параметра ЧДЦ, иначе дробная часть отображаться не будет. ЧДЦ (NFD) — число десятичных разрядов в дробной части. Исходное число округляется при этом в соответствии с правилами округления Окр15как20. ЧС (NS) — сдвиг разрядов: положительный — деление, отрицательный — умножение. Другими словами, это означает, что исходное число будет умножено или поделено на 10*С, где С — значение параметра по модулю. ЧРД (NDS) — символ-разделитель целой и дробной части. ЧРГ (NGS) — символ-разделитель групп целой части числа. Если в качестве разделителя использовать пустую строку, то в этом случае разделителем будет символ неразрывного пробела. ЧН (NZ) — строка, представляющая нулевое значение числа. Если не задано, то представление в виде пустой строки. Если задано «ЧН=», то в виде «0». Не используется для числовых полей ввода. ЧВН (NLZ) — нужно ли выводить лидирующие нули. Значение данного параметра не задается, собственно наличие параметра определяет вывод лидирующих нулей. ЧГ (NG) — порядок группировки разрядов числа. В качестве значения указываются числа, через запятую, обозначающие количество группируемых разрядов справа налево. Имеют смысл только два первых числа. Первое из них указывает первичную группировку, то есть ту, которая будет использована для наименее значимых разрядов целой части числа. Если второе число не указано, то будут сгруппированы только наименее значимые разряды. Если в качестве второго числа задан 0, то для всех разрядов целой части числа будет применено значение указанное для первичной группировки. Если в качестве второго числа используется значение, отличное от 0, то это значение будет использовано для группировки всех разрядов, кроме уже сгруппированных наименее значимых. ЧО (NN) — представление отрицательных чисел. 0 (0) — строка вида «(1,1)»; 1 (1) — строка вида «-1,1»; 2 (2) — строка вида «- 1,1»; 3 (3) — строка вида «1,1-«; 4 (4) — строка вида «1,1 -«. ДФ (DF) — формат даты. д (d) — день месяца (цифрами) без лидирующего нуля; дд (dd) — день месяца (цифрами) с лидирующим нулем; ддд (ddd) — краткое название дня недели *); дддд (dddd) — полное название дня недели *); М (M) — номер месяца (цифрами) без лидирующего нуля; ММ (MM) — номер месяца (цифрами) с лидирующим нулем; МММ (MMM) — краткое название месяца *); ММММ (MMMM) — полное название месяца *); к (q) — номер квартала в году; г (y) — номер года без века и лидирующего нуля; гг (yy) — номер года без века с лидирующим нулем; гггг (yyyy) — номер года с веком; ч (h) — час в 12 часовом варианте без лидирующих нулей; чч (hh) — час в 12 часовом варианте с лидирующим нулем; Ч (H) — час в 24 часовом варианте без лидирующих нулей; ЧЧ (HH) — час в 24 часовом варианте с лидирующим нулем; м (m) — минута без лидирующего нуля; мм (mm) — минута с лидирующим нулем; с (s) — секунда без лидирующего нуля; сс (ss) — секунда с лидирующим нулем; вв (tt) — отображение половины дня AM/PM (действительно только для языков конфигурирования, поддерживающих 12 часовой вариант представления времени). Примечание: *) — не используется для форматной строки поля ввода даты. ДЛФ (DLF) — локальный формат даты. Указывается вариант отображения частей даты. Д (D) — дата (цифрами); ДД (DD) — длинная дата (месяц прописью); В (T) — полное время, дата может объединяться со временем; ДВ (DT) — дата время. Пример: выражение Формат(‘20051120140323’,»ДЛФ=ДДВ») имеет значение «20 ноября 2005 г. 14:03:23″. Важно! Порядок следования опций форматной строки для ДЛФ (ДВ или ДДВ) не может быть изменен. ДП (DE) — строка, представляющая пустую дату (например, Формат(‘00010101000000’ ,»ДП=»»пустая дата»»») вернет строку «пустая дата»). БЛ (BF) — строка, представляющая логическое значение Ложь. БИ (BT) — строка, представляющая логическое значение Истина. Примечание. Использование параметров для поля ввода: параметр ДП (DE) не используется; параметр ДЛФ (DLF) используется только со значениями Д (D), В(T) и ДВ (DT). Возвращаемое значение: Тип: Строка. Строка, полученная в результате форматирования переданного значения. Описание: Формирует удобное для чтения представление значений. Полезно использование в отчетах и при прочем визуальном отображении значений. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). Список языков: af Африкаанс af_NA (af_NA) Африкаанс (Намибия) af_ZA Африкаанс (Южная Африка) am Амхарский am_ET Амхарский (Эфиопия) ar Арабский ar_AE Арабский (Объединенные Арабские Эмираты) ar_BH Арабский (Бахрейн) ar_DZ Арабский (Алжир) ar_EG Арабский (Египет) ar_IQ Арабский (Ирак) ar_JO Арабский (Иордания) ar_KW Арабский (Кувейт) ar_LB Арабский (Ливан) ar_LY Арабский (Ливия) ar_MA Арабский (Марокко) ar_OM Арабский (Оман) ar_QA Арабский (Катар) ar_SA Арабский (Саудовская Аравия) ar_SD Арабский (Судан) ar_SY Арабский (Сирия) ar_TN Арабский (Тунис) ar_YE Арабский (Йемен) as Ассамский as_IN Ассамский (Индия) az Азербайджанский az_AZ Азербайджанский (Азербайджан) az_Cyrl Азербайджанский (Кириллица) az_Cyrl_AZ Азербайджанский (Кириллица, Азербайджан) az_Latn Азербайджанский (Латиница) az_Latn_AZ Азербайджанский (Латиница, Азербайджан) be Белорусский be_BY Белорусский (Беларусь) bg Болгарский bg_BG Болгарский (Болгария) bn Бенгальский bn_IN Бенгальский (Индия) ca Каталанский ca_ES Каталанский (Испания) cs Чешский cs_CZ Чешский (Чешская Республика) cy Валлийский cy_GB Валлийский (Великобритания) da Датский da_DK Датский (Дания) de Немецкий de_AT Немецкий (Австрия) de_BE Немецкий (Бельгия) de_CH Немецкий (Швейцария) de_DE Немецкий (Германия) de_LI (de_LI) Немецкий (Лихтенштейн) de_LU Немецкий (Люксембург) el Греческий el_CY (el_CY) Греческий (Кипр) el_GR Греческий (Греция) en Английский en_AU Английский (Австралия) en_BE Английский (Бельгия) en_BW Английский (Ботсвана) en_BZ (en_BZ) Английский (Белиз) en_CA Английский (Канада) en_GB Английский (Великобритания) en_HK Английский (Гонконг, (Область с Особым Административным Управлением, Китай)) en_IE Английский (Ирландия) en_IN Английский (Индия) en_JM (en_JM) Английский (Ямайка) en_MH (en_MH) Английский (Маршалловы Острова) en_MT Английский (Мальта) en_NA (en_NA) Английский (Намибия) en_NZ Английский (Новая Зеландия) en_PH Английский (Филиппины) en_PK Английский (Пакистан) en_SG Английский (Сингапур) en_TT (en_TT) Английский (Тринидад и Тобаго) en_US Английский (Соединенные Штаты Америки) en_VI Английский (Американские Виргинские Острова) en_ZA Английский (Южная Африка) en_ZW Английский (Зимбабве) es Испанский es_AR Испанский (Аргентина) es_BO Испанский (Боливия) es_CL Испанский (Чили) es_CO Испанский (Колумбия) es_CR Испанский (Коста-Рика) es_DO Испанский (Доминиканская Республика ) es_EC Испанский (Эквадор) es_ES Испанский (Испания) es_GT Испанский (Гватемала) es_HN Испанский (Гондурас) es_MX Испанский (Мексика) es_NI Испанский (Никарагуа) es_PA Испанский (Панама) es_PE Испанский (Перу) es_PR Испанский (Пуэрто-Рико) es_PY Испанский (Парагвай) es_SV Испанский (Сальвадор) es_US Испанский (Соединенные Штаты Америки) es_UY Испанский (Уругвай) es_VE Испанский (Венесуэлла) et Эстонский et_EE Эстонский (Эстония) eu Баскский eu_ES Баскский (Испания) fa Персидский fa_AF Персидский (Афганистан) fa_IR Персидский (Иран) fi Финский fi_FI Финский (Финляндия) fo Фарерский fo_FO Фарерский (Фарерские острова) fr Французский fr_BE Французский (Бельгия) fr_CA Французский (Канада) fr_CH Французский (Швейцария) fr_FR Французский (Франция) fr_LU Французский (Люксембург) fr_MC (fr_MC) Французский (Монако) fr_SN (fr_SN) Французский (Сенегал) ga Ирландский ga_IE Ирландский (Ирландия) gl Галисийский gl_ES, Галисийский (Испания) gu Гуярати gu_IN Гуярати (Индия) he Иврит he_IL Иврит (Израиль) hi Хинди hi_IN Хинди (Индия) hr Хорватский hr_HR Хорватский (Хорватия) hu Венгерский hu_HU Венгерский (Венгрия) hy Армянский hy_AM Армянский (Армения) hy_AM_REVISED Армянский (Армения, REVISED) id Индонезийский id_ID Индонезийский (Индонезия) is Исландский is_IS Исландский (Исландия) it Итальянский it_CH, Итальянский (Швейцария) it_IT Итальянский (Италия) ja Японский ja_JP Японский (Япония) ka Грузинский ka_GE Грузинский (Грузия) kk Казахский kk_KZ Казахский (Казахстан) kl Гренландский kl_GL Гренландский (Гренландия) kn Каннада kn_IN Каннада (Индия) ko Корейский ko_KR Корейский (Южная Корея) kok Конкани kok_IN Конкани (Индия) ky Киргизский ky_KY Киргизский (Киргизия) lt Литовский lt_LT Литовский (Литва) lv Латышский lv_LV Латышский (Латвия) mk Македонский mk_MK Македонский (Македония) ml Малаялам ml_IN Малаялам (Индия) mr Маратийский mr_IN Маратийский (Индия) ms Малайский ms_BN Малайский (Бруней) ms_MY Малайский (Малайзия) mt Мальтийский mt_MT Мальтийский (Мальта) nb Норвежский букмол nb_NO Норвежский букмол (Норвегия) nl Голландский nl_BE Голландский (Бельгия) nl_NL Голландский (Нидерланды) nn Норвежский нюнорск nn_NO Норвежский нюнорск (Норвегия) om Оромо (Афан) om_ET Оромо (Афан) (Эфиопия) om_KE Оромо (Афан) (Кения) or Ория or_IN Ория (Индия) pa Панджабский pa_IN Панджабский (Индия) pl Польский pl_PL Польский (Польша) ps Пашто (Пушто) ps_AF Пашто (Пушто) (Афганистан) pt Португальский pt_BR Португальский (Бразилия) pt_PT Португальский (Португалия) ro Румынский ro_RO Румынский (Румыния) ru Русский ru_RU Русский (Россия) ru_UA Русский (Украина) sk Словацкий sk_SK Словацкий (Словакия) sl Словенский sl_SI Словенский (Словения) so Сомали so_DJ Сомали (Джибути) so_ET Сомали (Эфиопия) so_KE Сомали (Кения) so_SO Сомали (Сомали) sq Албанский sq_AL Албанский (Албания) sr Сербский sr_BA (sr_BA) Сербский (Босния и Герцеговина) sr_CS Сербский (Сербия и Черногория) sr_Cyrl Сербский (Кириллица) sr_Cyrl_BA (sr_Cyrl_BA) Сербский (Кириллица, Босния и Герцеговина) sr_Cyrl_CS Сербский (Кириллица, Сербия и Черногория) sr_Cyrl_ME (sr_Cyrl_ME) Сербский (Кириллица, Черногория) sr_Cyrl_RS (sr_Cyrl_RS) Сербский (Кириллица, Сербия) sr_Latn Сербский (Латиница) sr_Latn_BA (sr_Latn_BA) Сербский (Латиница, Босния и Герцеговина) sr_Latn_CS Сербский (Латиница, Сербия и Черногория) sr_Latn_ME (sr_Latn_ME) Сербский (Латиница, Черногория) sr_Latn_RS (sr_Latn_RS) Сербский (Латиница, Сербия) sr_ME (sr_ME) Сербский (Черногория) sr_RS (sr_RS) Сербский (Сербия) sv Шведский sv_FI Шведский (Финляндия) sv_SE Шведский (Швеция) sw Суахили sw_KE Суахили (Суахили) sw_TZ Суахили (Танзания) ta Тамильский ta_IN Тамильский (Индия) te Телугу te_IN Телугу (Индия) th Тайский th_TH Тайский (Таиланд) ti Тигриниа ti_ER Тигриниа (Эритрея) ti_ET Тигриниа (Эфиопия) tr Турецкий tr_TR Турецкий (Турция) uk Украинский uk_UA Украинский (Украина) ur Урду ur_PK Урду (Пакистан) uz Узбекский uz_Cyrl Узбекский (Кириллица) uz_Cyrl_UZ Узбекский (Кириллица, Узбекистан) uz_Latn Узбекский (Латиница) uz_Latn_UZ Узбекский (Латиница, Узбекистан) uz_UZ Узбекский (Узбекистан) vi Вьетнамский vi_VN Вьетнамский (Вьетнам) zh Китайский zh_CN Китайский (Китай) zh_Hans Китайский (Hans) zh_Hans_CN Китайский (Hans, Китай) zh_Hans_SG Китайский (Hans, Сингапур) zh_Hant Китайский (Hant) zh_Hant_HK Китайский (Hant, Гонконг (Область с Особым Административным Управлением, Китай)) zh_Hant_MO Китайский (Hant, Макао (Область с Особым Административным Управлением, Китай)) zh_Hant_TW Китайский (Hant, Тайвань) zh_HK Китайский (Гонконг (Область с Особым Административным Управлением, Китай)) zh_MO Китайский (Макао (Область с Особым Административным Управлением, Китай)) zh_SG Китайский (Сингапур) zh_TW Китайский (Тайвань)ФорматнаяСтрока>
Если у Вас появились вопросы по статье или остались нерешенные проблемы обсудить их Вы можете на Форуме 1С Вопросы и ответы
При работе с 1С постоянно требуется выводить числа или даты в каком-либо особенном, либо просто в пристойном, виде. Для всего этого существует функция Формат(), о ней собственно и пойдет речь.
Общие сведения о функции Формат()
Если упростить, то функция Формат() позволяет превратить число, дату или булево в строку. Функция Формат() принимает два параметра:
- — это собственно то значения, которому мы хотим придать какой-либо вид, это может быть число, дата или булево. Параметр обязательный.
- — второй параметр, в котором и заключается весь смысл функции Формат(), об этом параметре поговорим более подробно.
Следует сказать, что форматная строка не является обязательным параметром, и в этом случаем функция Формат() отличается от функции Строка() только тем, что для значений по умолчанию для типов Число и Дата (0 и 01.01.0001 00:00:00 соответственно) функция Формат() вернет пустую строку.
В остальных же случаях форматная строка является строковым значением, которое состоит из одного или нескольких параметров форматирования, которые разделяются символом “;”.
Каждый параметр форматирования состоит из имени, знака “=” и значения параметра. При этом значение параметра можно указывать в одинарных или двойных кавычках, это в тех случаях, когда значение параметра содержит символы используемые в синтаксисе форматной строки (например знак “;”).
Внутри значения параметра можно использовать произвольные символы, которые будут отображаться как есть. Наиболее очевидный пример — разделители при формировании представления даты. Также можно использовать одинарные кавычки, если есть подозрение, что символ может быть неправильно воспринят.
Параметры форматирования
Л (L) — указание языка и страны для которой будет выполняться стандартное форматирование, полный список доступен в синтаксис-помощнике.
Преобразование числа в строку
ЧЦ (ND) — максимальная длина целой части числа. Исходное число при этом округляется по правилу “Окр15как20”. Если указан этот параметр, то для отображения дробной части обязательно использовать параметр «ЧДЦ» о котором ниже.
ЧДЦ (NFD) — максимальная длина дробной части числа. Исходное число при этом округляется по правилу “Окр15как20”.
ЧС (NS) — указывает сдвиг разрядов: положительный — деление, отрицательный — умножение.
ЧРД (NDS) — позволяет указать каким символом разделять целую и дробную части числа.
ЧН (NZ) — представление нулевого значения. Если параметр отсутствует, то нулевое значение будет представлено пустой строкой. Если параметр указан в виде “ЧН=”, то представлением нулевого значения будет “0”.
ЧВН (NLZ) — вывод лидирующих нулей. Параметр не имеет значения, само наличие “ЧВН=” уже свидетельствует о необходимости выводить лидирующие нули.
ЧО (NN) — представление отрицательных чисел:
- 0 (0) — строка вида «(1,1)»;
- 1 (1) — строка вида «-1,1»;
- 2 (2) — строка вида «- 1,1»;
- 3 (3) — строка вида «1,1-«;
- 4 (4) — строка вида «1,1 -«.
Преобразование даты в строку
ДФ (DF) — формат даты:
- д (d) — день месяца (цифрами) без лидирующего нуля;
- дд (dd) — день месяца (цифрами) с лидирующим нулем;
- ддд (ddd) — краткое название дня недели*;
- дддд (dddd) — полное название дня недели*;
- М (M) — номер месяца (цифрами) без лидирующего нуля;
- ММ (MM) — номер месяца (цифрами) с лидирующим нулем;
- МММ (MMM) — краткое название месяца*;
- ММММ (MMMM) — полное название месяца*;
- к (q) — номер квартала в году;
- г (y) — номер года без века и лидирующего нуля;
- гг (yy) — номер года без века с лидирующим нулем;
- гггг (yyyy) — номер года с веком;
- ч (h) — час в 12 часовом варианте без лидирующих нулей;
- чч (hh) — час в 12 часовом варианте с лидирующим нулем;
- Ч (H) — час в 24 часовом варианте без лидирующих нулей;
- ЧЧ (HH) — час в 24 часовом варианте с лидирующим нулем;
- м (m) — минута без лидирующего нуля;
- мм (mm) — минута с лидирующим нулем;
- с (s) — секунда без лидирующего нуля;
- сс (ss) — секунда с лидирующим нулем;
- вв (tt) — отображение половины дня AM/PM (действительно только для языков конфигурирования, поддерживающих 12 часовой вариант представления времени).
* — не используется для форматной строки поля ввода даты.
ДЛФ (DLF) — локальный формат даты. Указывается вариант отображения частей даты:
- Д (D) — дата (цифрами);
- ДД (DD) — длинная дата (месяц прописью);
- В (T) — полное время, дата может объединяться со временем;
- ДВ (DT) — дата время.
ДП (DE) — представление пустой даты.
Преобразование булево в строку
БЛ (BF) — представление логического значения Ложь.
БИ (BT) — представление логического значения Истина.
Типовые задачи представления данных
Число без пробелов
Дата без времени
А также еще множество вариантов.
Месяц прописью из даты
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
(оценок: 3, средняя оценка: 5,00 из 5)
Для чего я решил написать данную статью? Изначально ставилась задача правильно и быстро получать наиболее полную информацию об организации, контрагентах в одних из самых ходовых конфигурациях - бухгалтерия предприятия и управление торговлей для применения этой информации при разработке печатных форм (и вообще в обработках).
Решено было сделать анализ - сравнение на возможность применения уже готовых функций в этих конфигурациях.
Кроме того, в статье я привожу описание применения еще нескольких полезных функций работы с числами, суммами, строками.
Отмечу сразу, это не функции БСП и отношения к библиотеке стандартных подсистем никакого не имеют.
Все что получилось - привожу ниже по тексту. Надеюсь, что данный материал будет вам полезен. Начну описание с одной из самых базовых функций:
Функция 1.
СведенияОЮрФизЛице(ЮрФизЛицо, ДатаПериода, ДляФизЛицаТолькоИнициалы = Истина, Знач БанковскийСчет = Неопределено)
Ничего не нужно сочинять - данная функция вернет вам структуру с информацией об организации или контрагенте на заданных период времени. Параметр ЮрФизЛицо - это может быть Организация либо Контрагент.
Возвращает структуру следующего содержания:
Данная функция в Управлении Торговли 11.4 находится в модуле ФормированиеПечатныхФорм.
В Бухгалтерии 3.0 находится в модуле БухгалтерскийУчетПереопределяемый и она немного отличается входящими параметрами от функции торговли СведенияОЮрФизЛице(ЮрФизЛицо, ДатаПериода, ДляФизЛицаТолькоИнициалы = Истина, Знач БанковскийСчет = Неопределено), но возвращает то же самое.
Полезная функция, запомните ее.
Следующая, одна из полезнейших готовых функций
Функция 2.
ОписаниеОрганизации(СписокСведений, Список = "", СПрефиксом = Истина)
Данная функция позволяет получить необходимые данные об организации, контрагенте или физическом лице. Возвращает описание строкой такого вида:
В качестве основного параметра СписокСведений - это результат - структура предыдущей функции СведенияОЮрФизЛице.
Данная функция в Управлении Торговли 11.4 находится в модуле ФормированиеПечатныхФорм.
Возвращаемый результат такой:
В Бухгалтерии 3.0 находится в модуле ОбщегоНазначенияБПВызовСервера - по возвращаемой строке немного отличается от функции УТ.
Так же применяешь функцию, не придумывая что-то свое.
Функция 3.
ПолучитьАдресИзКонтактнойИнформации(Объект, ТипАдреса = "", Дата = Неопределено) Экспорт
Получаем сразу адрес объекта, ТипАдреса может быть "Юридический", "Регистрации", "Фактический" на дату (у меня указана ТекущаяДата())
Для получения адреса из контактной информации в Бухгалетрии 3.0, я использую ранее упомянутую функцию ОписаниеОрганизации.
Функция 4.
ПолучитьТелефонИзКонтактнойИнформации(Объект) Экспорт
Получаем напрямую телефон с помощью функции Управления Торговлей 11.4
В глубинах бухгалтерии нарыты такие интересные функции для работы с телефонами:
В обработке ОбщиеОбъектРеглОтчетности. Функция приводит формату 89012345678. Это неэкспортная функция, придется копировать в свой код.
так же есть "полуискусственная" функция, которая требует адаптации в вашем коде.
Здесь ЗаписиКонтактнойИнформации - это некая табличная часть, в которой содержится вся контактная информация.
Функция 5.
ФорматСумм(Сумма, Валюта, ЧН = "", ЧРГ = "") Экспорт
Стандартная для конфигурации Управление торговлей функция форматирования сумм
В бухгалтерии данная функция находится в модуле ОбщегоНазначенияБПВызовСервера
обращаться к ней нужно так: ОбщегоНазначенияБПВызовСервера.ФорматСумм(Сумма, Валюта, "0", ".");
Функция 6.
Функция СуммаРубКоп(Сумма, Валюта, ВалютаРегламентированногоУчета) Экспорт
Данная функция разбивает число "на входе" на валюты рег.учета.
Функция 7.
Функция КоличествоПрописью(Количество) Экспорт
Думаю, что данную функцию или что-то похожее придумывали все. Готовая функция работает вот так.:
Обращение в бухгалтерии:
Функция 8.
СформироватьСуммуПрописью(Сумма, Валюта) Экспорт
Обращение к этой готовой функции из бухгалтерии
Функция выглядит вот и состоит из двух функций - вышеупомянуюто ФорматСумм и встроенной в платформу ЧислоПрописью
Функция 9.
ДанныеФизЛица(Организация, ФизЛицо, ДатаСреза, ФИОКратко = Истина) Экспорт
Находится в общем модуле ОбщегоНазначенияБПВызовСервера. Полезная готовая функция бухгалтерии, выводящая данные физического лица на период времени в виде структуры:
Выглядит она так - просто экспортирует функцию УчетЗарплаты.ДанныеФизическихЛиц(Организация, ФизЛицо, ДатаСреза, ФИОКратко)
Функция 10.
ПолучитьФамилиюИмяОтчество(Фамилия = " ", Имя = " ", Отчество = " ", ФИОКратко = Истина) Экспорт
И последняя функция, о которой я хочу упомянуть в этой статье. Ее, думаю, тоже писали почти все. В бухгалтерии предприятия - она готовенькая и также находится в общем модуле ОбщегоНазначенияБПВызовСервера
Данная функция возвращает фамилия, имя, отчество одной строкой. По-умолчанию - кратко.
Процедура 1 и Процедура 2.
Так же хочу упомянуть о двух готовых процедурах в УТ - это Процедура ВывестиЛоготипВТабличныйДокумент(Макет, ОбластьМакета, ИмяОбласти, Организация) Экспорт и Процедура ВывестиФаксимилеВТабличныйДокумент(Макет, ОбластьМакета, Организация, ПараметрыПечати = Неопределено) Экспорт.
Логика работы этих процедур практически одинакова - берется готовый макет, область и по передаваемой организации вставляется картинка:
Сразу можно обращаться к готовым процедурам в УТ:
ФормированиеПечатныхФорм.ВывестиФаксимилеВТабличныйДокумент(Макет, ОбластьМакета, Организация, )
Итак, на примере этих 10-ти готовых функций и 2-х процедур, опять предлагаю вам не придумывать ничего, а брать готовое - пользоваться наработками. Так же напомню, что данные функции не имеют отношения к БСП.
Если вам интересен мой практический подход и информация, которую вы сможете реально использовать, если у вас есть желание, чтобы данный комплекс статей наполнялся практическими материалы для программистов - я не откажусь от поддержки как данной статьи, так и всего комплекса статей в целом.
Спасибо, что дочитали данную статью до конца. Так же, прошу ознакомиться с моей предыдущей статьей Возможности работы со строками при помощи БСП, которые должен знать каждый программист.
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ Cодержимое указанного ниже веб-сайта в этом приложении блокируется. Aboutsecurity_1cv8c.exe 1
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Блокировка записей, невозможно изменить или удалить из регистра. Конфликт блокировок MS SQL + 1C 3
При попытке удалить запись из регистра сведений - получаю ошибку: она заблокирована, ошибка блокировок и т.д. Отключил всех пользователей, перезапустил сервер, пробую удалить - опять ошибка блокировки :( Путем тестов было вяснено, что проблема Ввод по строке - поиск по первым символам или в любом месте наименования 6
При разработке конфигурации, для упрощении ввода документов потребовалось настроить ввод номенклатуры по совпадению любой части наименования! В 1С 8.3 по умолчанию настройки справочника номенклатуры такие: При такой настройке, механизм поиска в Посмотреть все результаты поиска похожих
Еще в этой же категории
Полнотекстовый поиск в 1С (что это и пример использования) 23
Полнотекстовый поиск - позволит найти текстовую информацию, размещенную практически в любом месте используемой конфигурации. При этом искать нужные данные можно либо по всей конфигурации в целом, либо сузив область поиска до нескольких объектов Дата создания объекта по ссылке (GUID) 7
Код позволяет получить информацию о дате и времени создания объекта ИБ (документ, элемент справочника) по уникальному идентификатору (GUID) Позволяет узнать, когда был создан документ или элемент справочника. Для получения информации используется у Циклы в языке 1С, примеры и тест - какой цикл быстрее? 6
Циклы применяются для выполнения каких либо повторяющихся действий, возможные варианты перебора в цикле: Перебираем строки с помощью цикла Для каждого Для каждого ТекСтрока Из КоллекцияСтрок Цикл // код обработки КонецЦикла; Перебираем строки Полнотекстовый Поиск - пример поиска контрагентов в базе 3
У клиента огромная база клиентов и соответственно огромный штат менеджеров. Дошло до того, что менеджеры в поисках новых клиентов( знакомство, интернет, реклама и т.д.) очень часто звонят одним и тем же клиентам по несколько раз. Стали вести базу зв Отказ от модальности - Где, Что и Как? 2
В общем виде задача отказа от модальности заключается в том, чтобы заменить модальные методы их асинхронными аналогами. Старая процедура, открывавшая модальное окно и обрабатывавшая полученные им данные, могла выглядеть так: В новом варианте Посмотреть все в категории Встроенные Функции
21 апреля пользователи Сети начали сообщать о проблемах с работой всех сервисов 1С. Недоступны обновления, невозможно зайти в личный кабинет и на сервис ИТС, не работает ЭДО и 1С:отчётность. 25 числа необходимо подавать отчёт в налоговую, но его невозможно подготовить из-за сбоя.
В официальном Telegram-канале 1C:Франчайзи появилась информация, что доступ к сервисам пропал из-за DDoS-атаки на ресурсы 1С и часть сайтов компании.
По неподтверждённой информации, кроме 1C DDoS-атаке подверглись РАР и ФСС.
Информационная служба Хабра направила 1С запрос с просьбой дать официальный комментарий по ситуации. Как указали в компании:
«С 21 апреля происходят DDoS-атаки на различные сервисы для учёта и отчётности в организациях, в том числе на ресурсы 1С. Часть наших сайтов и сервисов была временно недоступна или работали медленно и неустойчиво. На данный момент восстановлено нормальное функционирование большинства интернет-ресурсов и сервисов 1С, включая 1С:ЭДО и 1С-Отчетность. DDoS-атаки продолжаются, технические специалисты 1С отслеживают ситуацию и принимают усилия для обеспечения нормального функционирования интернет-ресурсов и сервисов 1С. Угрозы для данных пользователей не наблюдается, они не пострадали и надёжно защищены».
Несмотря на заявление компании, пользователи Сети продолжают жаловаться на полное прекращение работы 1С. В частности, пользователь Хабра @nat_young рассказал, что со вчерашнего дня в работе сервисов практически ничего не изменилось.
Читайте также: