Создание аббревиатуры из текстовой строки #651483


#0 by ArturR
Подскажите может есть стандартная функция или может какое нибудь типовое решение по созданию аббревиатуры из текстовой строки. Например: Отдел по ремонту бытовой техники - ОПРБТ.
#0 by ArturR
Подскажите может есть стандартная функция или может какое нибудь типовое решение по созданию аббревиатуры из текстовой строки. Например: Отдел по ремонту бытовой техники - ОПРБТ.
#1 by shuhard
фио чела в ЗиУП не оно ?
#2 by PR
Вот же ты ленивый
#3 by ArturR
не оно не хочу изобретать велосипед
#4 by manyak
разбей по разделителю "пробел", в цикле собери первые буквы
#5 by DrShad
#6 by Живой Ископаемый
только если вдруг не станет работать - не приходи за второй порцией, реши сам
#7 by PR
Для каждого? Мда...
#8 by DrShad
что не так!?
#9 by PR
Негарантированная последовательность, е мое. То есть из "Йошкаралинский художественный университет" не факт, что не получится половой орган :))
#10 by Живой Ископаемый
2серьезно?
#11 by DrShad
а ты проверь
#12 by Живой Ископаемый
+ в смысле,есть хоть какието предпосылки?
#13 by Jump
Например: Отдел по ремонту бытовой техники - ОПРБТ. Неправильно. Правильно ОРБТ.    1
#14 by PR
Ну, для тех, кому лень читать ИТС и прочую документацию от 1С про последовательность элементов в коллекциях (учитывая еще то, база файловая или SQL) предлагаю попробовать хотя бы этот код
#15 by DrShad
и? как это относится к массиву? или какой смысл это делать через соответствие?
#16 by kotletka
имелось ввиду использование для каждого ..из.. недает обход по порядку
#17 by kotletka
+в 90% дает но бывает что обход и порядок различаются, пару раз сталкивался
#18 by Живой Ископаемый
А зачем ты сказал про скл базу? Коллекциии хранятся  во временных таблицах информационной базы? Есть пруф?
#19 by Живой Ископаемый
2 и у тебя то есть пруфа нет. Понятно
#20 by PR
Не знаю, относится ли это к массиву, но и в документации нет явного упоминания про то, что для каждого в массиве выберет все по порядку. А, потом, если поменяют функцию и она будет возвращать не массив, то в твоем случае все начнет работать неправильно, в отличие от выборки по индексу.
#21 by PR
Да
#22 by DrShad
мда... бросай бухать
#23 by PR
Я говорю про общее правило, а оно подразумевает не обязательно строки, но и, возможно, например, ссылочные типы.
#24 by kotletka
Им тоже в лес?
#25 by PR
Если очень интересно, поищи пруф в доке. Что за недоверие? Нам обоим что ли это приснилось?
#26 by kotletka
трудно просто признавать, что чего-то не знал
#27 by PR
Ты мне вроде как не наливал, чтобы командовать тут :)) Опростоволосился, так признай, че на рожон лезть :))
#28 by Живой Ископаемый
2 Что приснилось? Что придумал то, что в 10% случаях массив будет сортироваться не так? да, придумали.
#29 by DrShad
опростоволосился ты, когда решил блеснуть знаниями не к месту :))))
#30 by kotletka
1с кстати явно про массив не говорит, но столкнулся с этой проблемой именно на массиве с over 10 тысячами элементов, некоторые элементы почему то добавляло не в конец а произвольно
#31 by Живой Ископаемый
2 еще раз, где доказательство того, что массив в случае дл якаждого хоть раз вернет что-то по-другому? 2Я думаю ты врешь, либо просто упустил что, и теперь не хочешь это признавать.
#32 by kotletka
и даже спорить небуду, сказал как факт(по крайнеймере для меня), ненравится найдите на итс, то что эта статья есть, это точно факт
#33 by PR
Я сказал ровно то, что сказал. 1. Не для всех коллекций порядок обхода в для каждого будет совпадать с порядком по индексу. 2. Даже если в каких-то коллекциях порядок обхода в для каждого и совпадает с порядком по индексу, то это не является документированным поведением платформы и нет никакой гарантии, что это всегда и на всех платформах так есть и так будет. Всё. Точка.
#34 by Живой Ископаемый
итого, факта нет, есть больные фантазии человека, который хочет казаться правым.
#35 by DrShad
как данная статья относится к моему решению по сабжу?
#36 by Живой Ископаемый
2 тебя услышал, нет претензий. Ты просто закладываешься на то, что поведение от релиза к релизу сможет поменяться. Этот пойнт годиться.
#37 by PR
Да ладно, че там. Пусть люди каждый сам для себя решит, кто из нас прав, а кто лажанул ;))
#38 by DrShad
а к чему ты вообще это сказал? сделал вброс?
#39 by kotletka
ничего не имею против, нормальное решение, просто подтвердил слова ПР, а то как -то агрессивно на него накинулись, хотя он не туфту сказал
#40 by PR
Попробуй перечитать еще раз :)) Не уверен, что смогу сказать сказанное проще :))
#41 by DrShad
никто не спорит с тем что он сказал, а вот к чему он это сказал непонятно
#42 by Живой Ископаемый
2 просто не понятно зачем это нужно было подтверждать ложью и статьями не относящимися к делу.
#43 by DrShad
[ Даже если в каких-то коллекциях порядок обхода в для каждого и совпадает с порядком по индексу, то это не является документированным поведением платформы и нет никакой гарантии, что это всегда и на всех платформах так есть и так будет. ] не вижу ни одной необходимости, чтобы хоть когда-то для массива была реализована автосортировка
#44 by kotletka
выдохни, разрешаю
#45 by DrShad
ну лажанулся Печенкин и надо было как-то съехать не признавая сего факта
#46 by PR
Какая разница что ты видишь? Это поведение платформы не документировано. Понимаешь?
#47 by DrShad
понимаю и что?
#48 by DrShad
+ в клюшках были недокументированные методы, но это не означает что их нельзя было юзать
#49 by PR
Но это означало, что лучше их не использовать, если есть документированные :))
#50 by DrShad
а вот упорядочивание соответствия по ключу как раз логично, в тоже время обход соответствия в цикле не логичен
#51 by DrShad
как? ни один документированный метод не позволял получить то что давали они :)))
#52 by DrShad
что предложишь юзать вместо этих методов? Недокументированные возможности 1С 7.7 _IdToStr Синтаксис: _IdToStr Назначение: Возвращает строку - результат преобразования 10-тичного значения в 36-ричное. Параметры: - выражение со значением типа число. _StrToID Синтаксис: _StrToID Назначение: Возвращает число - результат преобразования 36-ричного значения в 10-тичное. Параметры: - выражение со значением типа строка. _GetPerformanceCounter Синтаксис: _GetPerformanceCounter Назначение: Возвращает число миллисекунд (1000-чных долей секунды) прошедших с момента включения компьютера. Замечание: Разница между значениями двух замеров позволяет определить количество миллисекунд прошедших между замерами. Синтаксис: ЗначениеФункции Назначение: Метод объекта "Запрос". Возвращает значение функции для текущей группировки. Параметры: - выражение, содержащее порядковый номер функции в запросе. ЗначениеГруппировки Синтаксис: ЗначениеГруппировки Назначение: Метод объекта "Запрос". Возвращает значение текущей группировки. Параметры: - выражение, содержащее название группировки в запросе. Пример использования здесь Атрибут объекта Форма МногострочнаяЧасть. Англоязычный синоним MultyColumn. Значение атрибута МногострочнаяЧасть представляет собой ссылку на элемент диалога документа - табличную часть. К атрибуту МногострочнаяЧасть применим метод Видимость. Пример: Форма.МногострочнаяЧасть.Видимость((Форма.МногострочнаяЧасть.Видимость+1)%2); Атрибут контекста модуля формы КонтекстПодбора. Англоязычный синоним ContextOfPermanentChoose. Значение атрибута КонтекстПодбора содержит контекст формы подбора, открытой последним вызовом метода ОткрытьПодбор. С помощью значения этого контекста можно произвольно манипулировать формой подбора, пока она открыта. Пока форма открыта, тип значения данного параметра равен 100 (см. ТипЗначения), если закрыта -0. Пример: Если ТипЗначения(КонтекстПодбора)=100 Тогда Метод ВключитьSQL. Англоязычный синоним EnableSQL. Метод можно использовать для объектов типа Регистр и Запрос, созданных функцией СоздатьОбъект. Метод имеет один необязательный параметр
#53 by PR
Если ты не можешь придумать пример, зачем нужен обход соответствия в цикле, то это еще не значит, что такой обход нелогичен :))
#54 by PR
Вот именно. А у нас случай, когда штатная замена есть.
#55 by DrShad
пример в студию
#56 by PR
Блеснул интеллектом что ли? :)) Я как бы в курсе, про что ты написал в , мог бы не уточнять :))
#57 by DrShad
ну так ты пример нашел, когда массив будет отсортирован автоматом?
#58 by DrShad
а я не уточнял - я спрашивал, как документированными методами можно реализовать их аналоги?
#59 by PR
Для Каждого Элемент Из Коллекция Цикл    Если Элемент.Значение > 100 Тогда
#60 by PR
Я и не собираюсь искать. Зачем? :))
#61 by PR
Тебе там голову что ли напекло? :)) Прочитай еще раз :))
#62 by DrShad
все понятно! слава богу, что у нас с тобой не срослось!
#63 by PR
А то! :))
#64 by Живой Ископаемый
это все лирика. я например понимаю аргументы вас обоих, но в любом случае мне хотелось предпосылок. Например если бы структура хранилась во временных таблицах на СКЛ сервере, я бы допустил такую вероятность. Ну и наконец, спициально для котлеток, которые аргументируют свою позицию словами "я кажется сам видел в 10% случаев", пытаясь в качестве оправдания добавить квазиэкстремальный объем данных (десятки тысяч и т.д.) "150.  Использование универсальных коллекций типа Соответствие и Структура -------------------------------------------------------------------------------- При использовании коллекций типа Соответствие и Структура следует учитывать, что порядок обхода элементов этих коллекций является произвольным. Поэтому, не следует использовать их в качестве условного списка значений, если впоследствии предполагается обход этих значений в определенном порядке. Для таких случаев нужно использовать объекты типа СписокЗначений, ТаблицаЗначений, Массив и т.д. Объекты типа Соответствие и Структура следует применять, когда необходимо быстрое получение значения из коллекции по определенному ключевому полю. " Это из системы стандартов и методик. То есть 1С если даже не  гарантирует перебор массив при помощи для каждого, то по крайней мере санкционирует.
#65 by PR
О, я вроде про этот текст говорил :)) Весьма похоже :))
#66 by Живой Ископаемый
2 так а чтож случилось? забыл  что Массив не входит в это исключение? Или этот параграф просто оставил у тебя осадок, что 1с-овским структурам и их сортировке доверять нельзя?
#67 by DrShad
к чему тогда был вброс?
#70 by aka AMIGO
Достаточно, мужики. Вернитесь к теме.
#71 by kotletka
к сожалению не могу ответить тем же, вы таки по моему мнению хороший спец по 1с, который не скупится помочь дельным советом
#72 by kotletka
а тема уже решена в первых 10 постах
#73 by PR
Я же сказал. Это _не_ документированная особенность :))
#74 by PR
+ Что плохого в "Перейти"? :))
#75 by Живой Ископаемый
2 Окей. То есть это недокументированная особенность санкционированная 1Сом, и ваше возражение в и мы восприняли очень остро, это было не возражение, а просто что-то типа бурчания под нос "однажды это может не сработать"
#76 by Живой Ископаемый
я просто лелеял все-таки надежду, что может кто-то что-то раскроет неизвестного, поделится какой-то статистикой, которую можно будет повторить... :)
#77 by PR
Нет, не так :)) Перейти тоже санкционировано 1С. Не так ли? Если 1С что-то санкционировало, это еще не повод это использовать. Есть и другие правила :))
#78 by PR
Ну, 23000 проверок в цикле для массивов по 10000 элементов на SQL базе пока не дали сбоев :))
#79 by Живой Ископаемый
2 "Перейти тоже санкционировано 1С. Не так ли? " - я уже не в теме, сорри. 2 пф... а у нас тут можно давать ответы только такие, которые соответствую правилам РR? :)
#80 by Эмбеддер
я сортирую таблицу значений, потом делаю обход "для каждого" т.е. я делаю это неправильно и надо делать цикл для i=0 по ТЗ.Количество-1 ?
#81 by PR
О чем ты? Я просто о том, что есть много правил и санкционированность фирмой 1С не является достаточным для того, чтобы что-то использовать или нет. А вот недокументированность чего-либо вполне себе является аргументом для того, чтобы что-то не использовать, раз есть документированные аналоги. Это не я придумал :))
#82 by Живой Ископаемый
2 да, это ты придумал. И конечно есть множетсво людей кто не разделяет твою точку зрения. 2 А зачем ты так делаешь?
#83 by PR
Если ты сортируешь таблицу, для которой можно использовать "для каждого", то есть выборку по порядку, то это означает, что она у тебя уже отсортирована в нужном порядке. Нахрена ты ее сортируешь еще раз? :))
#84 by PR
Блин, ладно. Оставим спор о вкусах :))
#85 by Эмбеддер
да че далеко ходить делаю поиск по слову сортировка и нахожу такое в бухгалтерии 2.0
#86 by Эмбеддер
т.е. в принципе в 1/3 случаев после слова "сортировать" далее следует "Для каждого"
#87 by Живой Ископаемый
2 А почему кстати они не сортируют сразу в запросе? Считается что небольшую таблицу 1с быстрее посортирует, чем СКЛ-сервер?
#88 by aka AMIGO
>>Для каждого Строка Из<< вот это здорово! фирменные прогеры применяют для внутренней переменной зарезервированное слово? вполне допускаю, что интерпретатор поймет правильно, как параметр цикла, однако.. нас вроде не так учили :) неуж переучиваться придется? :)
#89 by Живой Ископаемый
2 Не применяют. А кто вас учил? И почему думаете что "строка" - зарезервированное слово?
#90 by Эмбеддер
"забудьте все чему вас учили"
#91 by aka AMIGO
если в 8-ке функция не Строка(..) а Стр(..) тогда точно, пора :) всё, забыл, забыл! :)
#92 by Живой Ископаемый
+ чтобы постигнуть разницу между заревированными не зарезервированными словами, попробуйте выполнить такой код: Для Каждого КонецЕсли Из
#93 by Живой Ископаемый
2 А при чем тут название функции к зарезервированным словам?
#94 by aka AMIGO
подозреваю, что проскочит :) но я применять КонецЕсли точно не буду! отбой.. больше не вмешиваюсь в тему..
#95 by Живой Ископаемый
2 не проскочит никогда, потому что КонецЕсли - зарезервированное слово
#96 by PR
А что, если прог работает в 1С, то это сразу автоматом означает, что он профессионал? :)) Мне кажется, и говорят об обратном :)) Непрофессионалы, они такие, всепроникающие :))
#97 by Живой Ископаемый
ни о чем не говорит.
#98 by PR
+ Я бы еще за "*" повозмущался, кстати :))
#99 by Эмбеддер
Трудно искать кошку в темной комнате, особенно когда ее нет. Просто признайся что ты не прав
#100 by PR
О, внезапно :)) Опять двадцать пять :)) Неправ в чем?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С