Формирование синонима переменной из идентификатора

Формирование синонима переменной из идентификатора

Функция формирует синоним переменной из идентификатора, как это делает платформа 1С8. Используется при визуализации таблицы значений, давая читабельные для пользователей названия колонок:

  • "СуммаБезНДС" => "Сумма без НДС",
  • "СуммаЗадолженностиКонтрагента" => "Сумма задолженности контрагента",
  • "СинонимПеременной" => "Синоним переменной".

Для 7.7 переделывается легко.

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

А вот обратное преобразование:

P.S. ъ - как счетчик цика. мда. оригинально.

  • Скопировать ссылку
  • Перейти

(1) DrAku1a, гиде взял? ))

Вот пару строк для этого: (8-ка)

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

(17) andrewks, ну если пошагово, то так:

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

А это идея - аббревиатуры отделять знаком подчёркивания. Да и подчёркивание я не учел в начальной процедуре.

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

(7) лень копаться, навскидку, чтобы не было выходов за границы строки, например так:

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

(12) в (13) уже ответили

(16) у нас прямо конкурс решений образовался :) "ленивый" вариант для обратного преобразования

  • Скопировать ссылку
  • Перейти

(19) О! А это уже универсальное решение для любой платформы. Респект и уважуха.

Конкурс! да! профинтерес размяться )))

Я вот думаю над параметром "ЦенаСНДС", чтобы его в "Цена с НДС" перевести, наверно, составить словарь односимвольных слов "С", "а", "в", "к". Если массив прописных букв начинается с этого слова, отедалить её как слово.

"СлаваКПСС" тогда сработает как "Слава к ПСС", зато "СуммаСНДС" будет правильно - "Сумма с НДС"!

upd: Хотя нет, Символы.ПС - это ж для 8-ки, а в 7.7 РазделительСтрок. Да и отталкиваться тогда удобнее от пробелов.

  • Скопировать ссылку
  • Перейти

(20) про СлаваКПСС - улыбнул. Спасибо.

не в тему: Разбор предложения: Дочь генерала. Дочь - "кто?", генерала - "что делала?".

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

Проверка на прописные буквы делается просто:

// 7.х Прописная = Символ>="А" И Символ<="Я" ИЛИ Символ>="A" И Символ<="Z"; // 8.х Прописная = КодСимвола(Символ)>=КодСимвола("А") И КодСимвола(Символ)<=КодСимвола("Я") ИЛИ КодСимвола(Символ)>=КодСимвола("A") И КодСимвола(Символ)<=КодСимвола("Z");

  • Скопировать ссылку
  • Перейти

. С латиницей понятно, там действительно алфавит находится в одной последовательности, не прерываясь. Что же делать с национальными кодировками? Украинский, белорусский, казахский языки имеют свои буквы, которые не вписываются в диапазон А..Я, они часто стоят отдельно. Та же Ё и ё не вписываются в диапазон "а".."я", они раньше. Так же и с "Ґ" и "ґ", "Є" и "є", "І" и "і", "Ї" и "ї", "Ў" и "ў". Да и КодСимвола("Z") ведь постоянный, можно просто заменить на диапазон 0x41..0x5a. Правда? )))

За подсказку спасибо, в 7.7 код не тестировал, честно.

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

Обсуждение пошло явно не в то русло :) Предлагаю альтернативное решение проблемы:

Зацените мощЪ мысли. :D

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

(37) Процедуру заменить на функцию и Стр=Лев(Стр,Х-1)+" "+Сред(Махонькие,П,1)+Сред(Стр,Х+1);

Тогда будет всё правильно.

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

Хотел здесь найти функцию, которая вернет правильный идентификатор по произвольной строке, но не нашел(: Пришлось самому писать, вот может кому пригодиться:

  • Скопировать ссылку
  • Перейти

(51) nalivai-chai, "нижнее подчеркивание". Хм. навеяло: "В подвале клуба любителей тавтологии обнаружен смертельно убитый труп погибшего мертвеца".

А можно ж и переделать: убрать недопустимые символы и символ после пробела преобразовать к верхнему регистру, а пробел удалить. Аналог такой функции я использовал в отчете по менеджерам в 2008 году http://infostart.ru/public/16635 Там динамически формируются колонки в таблице значений по фамилиям менеджеров.

В типовых есть процедура,разлагающая строку на массив слов. Обходя массив делать первый символ верхним. Навскидку:

  • Скопировать ссылку
  • Перейти

(52) однако, не один такой, из Википедии:

  • Скопировать ссылку
  • Перейти

Строку: Синоним = Синоним + " " + Символ;

В некоторых случаях следует заменить на: Синоним = Синоним + " " + НРег(Символ);

т.к. в простом случае, сейчас "ЦенаЗакупки" Вернет "Цена Закупки" что неверно - должно быть "Цена закупки"

в остальном рабочий вариант)

  • Скопировать ссылку
  • Перейти

Для частного случая, типа МояЛюбимаяПеременная, аббревиатуры, подчеркивания и цифры не учитываются, сделал простенькую функцию в пару строк, рекурсия вместо цикла

  • Скопировать ссылку
  • Перейти

Просмотры 22868

Загрузки 0

Рейтинг 33

Создание 20.11.12 23:55

Обновление 05.04.17 11:23

№ Публикации 162834

Тип файла Нет файла

Конфигурация Конфигурации 1cv8

Операционная система Не имеет значения

Вид учета Не имеет значения

Доступ к файлу Бесплатно (free)

Код открыт Не указано

См. также

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007 56878 tormozit 52

[БСП] Выводим qr-код в печатную форму счета для оплаты в мобильном приложении банка или платежном терминале

Используя БСП выведем qr-код в печатную форму счета.

29.06.2022 1457 John_d 6

Выгрузка данных в Excel с добавлением формул (нюансы формирования формул)

Итак, я здесь описываю выгрузку отчета в Excel с добавлением пустых колонок для заполнения внутри самого Excel + колонки с формулами для выполнения расчетов на базе выгруженного и введенного руками в Excel. На самом деле публикация появилась по причине моих проблем, возникших при написании формул. Все остальное вроде штатно, но вдруг кому пригодится.

30.05.2022 882 Zlohobbit 2

Хитрости СКД. Часть 3

Столкнулся с тем, что мне приходится писать гору отчетов. Во многих приходится использовать повторяющиеся приемы. Решил написать шпаргалку, которая, надеюсь пригодится не только мне. В этой статье: Объединение ячеек в отчете только на определенном уровне иерархии, Постобработка итогов в табличном документе, Скрытие колонок в зависимости от количества месяцев в периоде.

28.05.2022 3431 milkers 11

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017 53900 tormozit 74

Базовые принципы работы с регламентными заданиями подсистем БСП

В очередной публикации рассмотрим некоторые базовые приемы работы с регламентными заданиями в рамках библиотеки стандартных подсистем

22.05.2022 2288 quazare 24

Модули общего назначения - готовые полезные функции и процедуры конфигураций на БСП

В данной статье я рассматриваю несколько полезных "классических" функций и процедур для работы с данными, которые уже встроены в БСП и готовы к использованию.

25.04.2022 4256 quazare 11

Вывод табличных документов с разной ориентацией страниц в один pdf файл

Привожу код для вывода нескольких табличных документов c разной ориентацией страниц в один файл pdf.

06.04.2022 1282 sdjoker 5

Универсальные функции с примерами использования Промо

14 универсальных функций, с примерами использования - для обычного и управляемого интерфейса

26.02.2016 44366 unichkin 48

Полезный код для программистов 1С (часть 3). Подготовка печатных форм + подсистема Управление печатью (БСП)

Мы все любим 1С, не так ли? Вот дает 1С прекрасный механизм возможности модификации макетов печатных форм в БСП. А из всех рекомендаций это получение макета и заполнение параметров областей. И вы спросите: "А что не так. ты печатные формы накодить не можешь без указаний сверху?". Да вот в том то и дело, что я могу все. А вот пользователям от такого механизма пользы 0, если из всех доступных изменений остаются только шрифты, да текст произвольный накинуть. А ведь можно больше, надо только соблюдать несколько правил при подготовке печатных форм.

07.03.2022 4314 vandalsvq 0

Убираем параметры из отбора СКД

Заметка о некоторых технических нюансах параметров данных и отборов СКД.

17.02.2022 3056 Yashazz 28

Конвертируем печатную форму pdf в картинку (jpg, gif, png и прочие) на сервере

Была поставлена интересная задача конвертировать печатную форму в файл картинку. По условию задачи клиенту на почту нужно присылать только файл картинку (jpg, gif).

22.12.2021 3250 John_d 24

Программные перечисления, ч.2: приемы кэширования при разработке Промо

Все знают, что такое кэш, и зачем он нужен. Но в 1С разработчик обычно использует кэширование только на уровне конфигурации, а в какой-нибудь обработке скорее ломает голову над запросом - как получить все данные за один заход. Хочется рассказать о том, как можно добиться хороших результатов с стратегией "разделяй и властвуй".

30.10.2017 28682 unichkin 18

Несколько простых приемов для удобной работы в конфигураторе

Простая и удобная среда разработки 1С:Предприятия позволяет практически любому человеку начать работать под капотом 1С - в конфигураторе. Время идет, новички становятся программистами, специалистами, а об удобных приемах работы узнают годами, по ходу своего карьерного пути. А здорово было бы, если бы все знали удобные приемы в начале своего пути? Эти несколько приемов будут полезны новичкам, так как они затрагивают ту область работы, с которой приходится сталкиваться в начале карьеры.

12.11.2021 8443 acces969 95

Простейший способ учета изменений управляемых форм объектов 1С

Описание методологии, позволяющей контролировать список изменений форм + вспомогательные функции программного изменения форм. Пригодятся при внесении изменений в расширениях, если есть необходимость видеть и контролировать все сделанные с формой изменения.

02.11.2021 1477 avalakh 12

Функции для преобразования справочников и документов в соответствие и обратно

Функции для преобразования справочников и документов в соответствие и обратно. Предназначены для передачи данных между одинаковыми и не очень конфигурациями или как очередной вариант сохранения (архивирования) объектов перед редактированием с последующим восстановлением.

01.11.2021 1177 avalakh 5

Выполнение произвольного кода в фоновых заданиях Промо

Если надо быстро провести 100`000 документов.

13.01.2016 25660 unichkin 13

Программно свернуть/развернуть узел динамического списка (с основной таблицей). Жирная точка над всеми "i".

Какой пользователь не мечтал поменьше тыркать кнопкой? Особенно в малюсенькие +/- в "древесных" динамических списках. Если вас тоже озадачили, чтобы, при выборе узла дерева сами развернулись все его вложенные элементы , а при выборе другого узла - так же автоматом свернулась ранее развернутая ветка (причем эти узлы могут находится в разных "отношениях" друг с другом). То вам - сюда.

08.10.2021 2274 e-9 13

Взаимодействие с api Честный знак (Молочная продукция)

Обзор основных примеров взаимодействия с Честным знаком по api для нетиповых конфигураций.

30.08.2021 5967 user5300 57

Из Word в табличный документ

Быстро и просто: текст, списки, таблицы. Готовый код

18.08.2021 2373 Yashazz 5

Ускорение отладки управляемых форм Промо

Ускорение отладки управляемых форм в больших неповоротливых конфигурациях, когда заказчик просит что-то и сам не знает, что из этого получится.

23.05.2015 15462 moolex 5

Префиксация объектов - полезный типовой функционал БСП

В данной публикации предлагаю рассмотреть основные типовые возможности библиотеки стандартных подсистем (БСП), касаемые префиксации объектов конфигураций.

21.06.2021 7278 quazare 4

Предотвращение многократного вызова "ПриПолученииДанных" во время поиска в табличном поле в обычных формах

Долго искал решение: как при выводе строк заполнить значениями колонки, которые созданы программно, чтобы, не было тормозов при стандартном поиске. И с минимальными изменениями (легко контролируемыми, при обновлении).

07.04.2021 2546 Vlad_CK 9

Генератор QR кодов для 1С без компонент через HTTP API

Самый простой, на мой взгляд, способ получить QR код для 1СV8. Без внешних компонент, как говорится, бесплатно, без смс и регистрации))

17.12.2020 7000 shell_maxim 28

УстановитьСсылкуНового() как ход оптимизации! Промо

Для себя открыл новую возможность применения данного метода в типовых конфигурациях. Особенность чрезвычайно интересная при загрузке справочников.

22.10.2014 58736 logarifm 85

Сохранение настроек

Делюсь еще одним не самым очевидным способом хранения настроек в базах на БСП без доработки конфигурации. Весь код в статье.

22.11.2020 6368 the1 8

Сохранение настроенного запроса набора данных СКД

Как сохранить запрос набора данных СКД в том виде, каким он будет выполнен системой для открытия в консоли запросов с диска ИТС.

09.11.2020 1967 Serge R 0

Произвольные колонтитулы и повтор шапки таблицы в табличном документе (функция)

Пример рекурсивной функции, при помощи которой в табличный документ можно выводить верхний или нижний колонтитулы с произвольным содержимым, а также делать повтор шапки таблицы (или таблиц, если их несколько).

07.10.2020 8269 ellavs 3

[8.2] Глобальные переменные в контексте сервера (управляемое приложение) Промо

Можно ли в 8.2 на сервере хранить ссылку на объект внешней компоненты? Можно! Рассмотрим на примере. Эта статья - отчет на вопрос в http://infostart.ru/forum/forum14/topic29689/

09.12.2009 38618 Душелов 34

Лайфхаки для разработчиков 1С. Часть 1

Собрали 20 лайфхаков, которые используют наши программисты при работе с 1С. Формы, контрагенты, СКД, процедуры, глюки платформы и многое другое. В этой статье публикуем первую часть.

30.09.2020 7964 Neti 47

Самый простой парсинг и обработка веб-страниц в 1С

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020 18089 YPermitin 27

Выполнение внешней обработки по расписанию для управляемого и обычного приложения

Использование БСП для выполнения внешних обработок в управляемом и обычном приложении

06.08.2020 21630 RPGrigorev 0

Проверка заполненности реквизитов через подписку на событие Промо

Навеяло от. http://infostart.ru/public/203664/ но с другого бока. Пришли пингвины, заявили. (а база перекурочена предшественниками как черепаха богом) хотим чтоб если есть в документе такой то реквизит, чтоб он всегда был заполнен. или же никогда там не выбирались группы и перечислили наименования справочников при ссылке на которые не должно быть пустот. И что? Я рыжий сидеть дня два прсматривать каждый из почти двух сотен доков? Потому и уродились три подписки на события. Описание в тексте Выбор групп проверяется на событие ПередЗаписью а проверка реквизитов на событии ОбработкаПроверкиЗаполнения

16.10.2013 14340 ser6702 7

Полезные встроенные функции для работы с печатными формами и не только на УТ 11.4 и БП 3.0 (сравнение)

В данном обзоре приведу примеры встроенных используемых функций для работы с печатными формами на примерах конфигураций Управление торговлей 11.4 и Бухгалтерия 3.0.

📎📎📎📎📎📎📎📎📎📎