Функции 1С 8.3 (8.2) ЗначениеВСтрокуВнутр и ЗначениеИзСтрокиВнутр
Технологическая платформа 1С содержит большое количество встроенных функций. Сегодня я хотел бы рассказать о паре очень интересных функций — ЗначениеВСтрокуВнутр() и ЗначениеИзСтрокиВнутр(). Рассмотрим использование данных функций и сферу применения.
Методика использования функций
На самом деле данные функции имеют очень мощный и интересный функционал — они преобразовывают значение любого типа в текстовое представление и обратно.
Пример:
Функция:
ЗначениеВСтрокуВнутр(Справочники.Банки.НайтиПоКоду("041501781"))
Вернет следующий текст:
{«#»,7c33a33a-da11-4d79-81ef-19b992d1a1d5,18:a36f001e5848397d11e0e3638196595b}
А функция:
ЗначениеИзСтрокиВнутр("{""#"",7c33a33a-da11-4d79-81ef-19b992d1a1d5,18:a36f001e5848397d11e0e3638196595b}")
Вернет ссылку на элемент справочника Банки с кодом «041501781».
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Преобразовать можно абсолютно любое значение, например, структуру:
ЗначениеВСтрокуВнутр(Новый Структура("БанкСсылка,БИКбанка", Справочники.Банки.НайтиПоКоду("041501781"),041501781))
Структура, где содержится ссылка на банк и его БИК преобразуется в следующее представление:
{«#»,4238019d-7e49-4fc9-91db-b6b951d5cf8e,
{2,
{
{«S»,»БанкСсылка»},
{«#»,7c33a33a-da11-4d79-81ef-19b992d1a1d5,18:a36f001e5848397d11e0e3638196595b}
},
{
{«S»,»БИКбанка»},
{«N»,41501781}
}
}
}
Применение функций
Функции ЗначениеВСтрокуВнутр и ЗначениеИзСтрокиВнутр чаще всего находят применение в обмене данных: данные сохраняются в виде текстового представления, сохраняются во внешний файл, потом из файла загружаются в другую информационную базу.
Но эти функции можно использовать гораздо более разносторонне и творчески, например, чтобы обойти какие-то ограничения системы. Можно в управляемых формах передавать с клиента на сервер таблицы значений в текстовом представлении, делать резервные копии какой-либо важной информации и многое, многое другое.
Кстати, журнал регистрации 1С хранит информацию как раз в аналогичном формате.
Читайте и другие статьи по конфигурированию в 1С.
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
СПРОСИТЕ в комментариях!
Sam:
Использовал ЗначениеВСтрокуВнутр для ссылки на элемент справочника сотрудники, (ЗИК), так вот, почему то получил одинаковые коды для всех сотрудников. Пока не понял в чем причина, в отладчике четко видно что итерация идет.
Программист 1С:
Хм….
Точно одинаковые? Они могут отличатся одним символом, тем более если в рамках одного справочника и заводились подряд.
Попробуйте сделать ЗначениеИзСтрокиВнутр из полученного значения — скорее всего всё станет ясно.
Аноним:
Просто Вы, видимо, сравнивали не полное значение, а только на «хвосты» смотрели, а отличие элементов именно в середине бывает.
Dock:
ЗначениеИзСтрокиВнутр (ValueFromStringInternal)
…
Примечание:
Строковое представление данных имеет специальный системный формат, использующий идентификацию данных внутри одной информационной базы.
Используется для сохранения функциональной совместимости с 1С:Предприятием 7.7. Использовать для других целей не рекомендуется.
— — — — — —
как-то не вяжется вот это с » можно использовать гораздо более разносторонне и творчески» 🙂
Alex:
«…находят применение в обмене данных: данные сохраняются в виде текстового представления, сохраняются во внешний файл, потом из файла загружаются в другую информационную базу». Вот здесь я не понял.. Может подскажете..ссылки-то в одной базе никак не могут быть использованы в другой. Или здесь имеется ввиду нечто другое?
Teramix:
Есть ли у кого сборник всего для начинающих, по типу что такое функция, какая ее роль, какие бывают функции и все в этом роде?
1сник:
Синтаксис-помощник
Knstantin:
Главное,
что даёт эта функция в приложении к обменам — скорость сериализации/десериализации.
1С ни в XML ни в JSON с такой скоростью данные не качает.
Основное ограничение — это работает только внутри 1С, передать куда-то еще не сможете, т.к. формат сугубо 1С технологический, никакие сторонние языки и библиотеки его во что-то более менее удобоваримое прочесть не смогут