Ссылка на базу 1с

Ссылка на базу 1с

В данной статье рассматривается способ программного формирования HTML документа, содержащего ссылки на объекты базы данных 1С, такие как справочники, документы и т.д. Показан пример построения обработчика события OnClick ПоляHTMLДокумента, для обработки клика на html-ссылке.

Предисловие
Однажды, дописывая обработку, создающую и модифицирующую, не суть важно какие документы, я подумал, что неплохо было бы вывести для пользователя некое резюме:
“Создан документ такой-то”
“Изменен документ такой-то” и т.д.
От обычного, в таких случаях, вывода информации в окно сообщений я сразу отказался, так как не удобно это, сначала читать в окне сообщений “Создан документ … ” а потом запоминать его номер, открывать соответствующий журнал (или форму списка) и искать там этот документ. А если документов много и пользователь хочет посмотреть все документы?(или выборочно) Насколько это неудобно я убедился при отладке обработки …
То, что в форме есть элемент управления именуемый ПолеHTMLДокумента я конечно знал, но вот представилась возможность познакомиться с ним поближе. Было решено реестр обработанных документов выводить в виде html документа содержащего ссылки на эти самые документы, а по клику на ссылке открывать форму соответствующего документа. Здесь мне многие могут возразить: “А почему бы для этих целей не использовать обычный макет, выводимый в табличный документ, а для открытия документов использовать расшифровку? И чем Ваш способ лучше?” Отвечаю: Конечно можно использовать, и мой способ ничем не лучше. Он просто другой. Ведь у хорошего программиста для решения одной задачи должно быть в арсенале несколько инструментов.
Итак, перейдем от слов к делу, в рамках данной статьи рассмотрим следующую задачу: Сформировать html-документ, содержащий ссылки на элементы справочника номенклатура, по клику требуется открывать форму соответствующего элемента. Создаем новый отчет, его форму, на форме размещаем элемент управления ПолеHTMLДокумента.

Текст модуля формы:
Код 1C v 8.х
Ну вот html мы сформировали, теперь чтобы ссылки “ожили” надо написать обработчик события OnClick элемента управления ПолеHTMLДокумента.
Код 1C v 8.х
Всё можно пробовать!

Заключение
Обратите внимание что ссылку я формировал следующим образом:
— это сделано для того, чтобы в обработчике onclick можно было определить к какому объекту метаданных относится данный УникальныйИдентификатор, потому что имея ТОЛЬКО УникальныйИдентификатор невозможно определить к какому объекту метаданных он относиться. Точнее возможно, но уж слишком долго и неудобно – путем перебора всех метаданных в цикле, для каждого объекта метаданных выполнять попытку .ПолучитьСсылку(Новый УникальныйИдентификатор(НашУникальныйИдентификатор))
Хотя в нашем примере только один справочник, и указывать его вид было необязательно, и так понятно что это УникальныйИдентификатор элемента справочника Номенклатура, но вдруг Вам потребуется работать с несколькими справочниками, вот тут то мой способ задания ссылки Вам и пригодится. Скачивать файлы может только зарегистрированный пользователь!

Читайте также:  Как зарегистрироваться на авито без электронной почты

Язык 1С сильно «завязан» на работу с данными. Действительно, основная задача — обработка данных, полученных из базы данных запросом или другими способами.

В других языках с данными, полученными из базы данных обычно работают «как с таблицей». В 1С такое тоже возможно – выполнить запрос, получить «в ответ» таблицу и работать с ней.

Однако более распространенный способ, одна из «фишек 1С» — это работа с данными как с объектами 1С. Например объект 1С Справочник.ИмяСправочника позволяет работать с конкретным справочником, при этом объект 1С имеет свойства (поля с данными) и стандартные методы.

Работа с объектом 1С ведется тогда, когда требуется создать объект 1С или изменить существующий. В остальных случаях (например поиск объекта 1С, использование его в другом объекте 1С) – используется ссылка 1С на объект 1С.

Создание объектов 1С

Объект 1С можно создать с помощью оператора Новый, при этом вызывается конструктор данного типа, если у типа несколько конструкторов – он выбирается по указанным параметрам:
Переменная1 = Новый СписокЗначений();

Менеджеры для получения объектов 1С из базы данных

Если требуется создать объект 1С, связанный с данными в базе данных (то есть фактически получить его из базы данных), вместо использования оператора Новый, используются менеджеры.

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

Например:
Переменная1 = Справочники.ИмяСправочника.СоздатьЭлемент();
Переменная1 = Справочники.ИмяСправочника.НайтиПоНаименованию("Наименование");

Ссылки 1С и объекты 1С

Работа с объектами 1С, связанными с данными в базе данных может вестись двумя способами – с помощи «ссылки 1С на данные» и объекта 1С.

Ссылка 1С – это данные, доступные только для чтения. Объект 1С – это данные, доступные для чтения, изменения и записи. Работа со ссылкой 1С производится гораздо быстрее, чем с объектом 1С.

Ссылка 1С на данные получается с помощью функций вида:
СправочникСсылка = Справочники.ИмяСправочника.НайтиПоНаименованию()

Объект 1С можно получить из ссылки 1С или создать с нуля:
СправочникОбъект = СправочникСсылка.ПолучитьОбъект();
СправочникОбъект = Справочники.ИмяСправочника.СоздатьЭлемент();

Пустая ссылка 1С

Ссылка может быть пустой, это значит, что создан «пустой» экземпляр объекта 1С, который не связан с данными.
СправочникСсылкаПустая = Справочники.ИмяСправочника.ПустаяСсылка();

Также ссылку 1С можно проверить на заполненность:
Если СправочникСсылка.Пустая() Тогда
//…
КонецЕсли

Читайте также:  Управление телевизором через айфон

Уникальный идентификатор (GUID)

Любой элемент справочника или документ хранится в базе данных. Для идентификации он имеет уникальный «номер» в рамках базы данных — GUID. В понятиях встроенного языка 1С, этот GUID – это ссылка 1С.

Узнать идентификатор можно с помощью универсального метода любого объекта 1С ссылочного типа:
СправочникСсылка = Справочники.ИмяСправочника.НайтиПоНаименованию("Наименование");
GUID = СправочникСсылка.УникальныйИдентификатор();

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

GUID назначается в момент первой записи объекта 1С. Уже до записи можно узнать GUID, который будет назначен объекту 1С при записи:

Также перед записью можно назначить свой GUID. Это бывает полезным, например, при обмене данными:

При работе со значениями, возможно столкнуться со следующими способами хранения и доступа к данным:

  • Переменная – созданная в модуле программистом, нетипизированная
  • Реквизит объекта 1С (справочника, документа), добавленный в конфигураторе – хранится в базе данных, строго типизирован
  • Реквизит формы – поле на форме, строго типизирован.

Поле на форме показывает «какие-то данные». Данные могут быть напрямую связаны с реквизитом объекта 1С (указаны в свойстве поля формы ПутьКДанным).

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

Доступ к значениям именованных свойств объектов 1С

У многих объектов 1С есть свойства, которые имеют наименования.
Например:

  • элемент справочника имеет реквизиты с наименованиями
  • форма имеет реквизиты с наименованиями
  • у таблицы есть колонки с наименованиями
  • у строки таблицы есть поля с такими же наименованиями, как колонки у таблицы.

Если у объекта 1С есть свойства (реквизиты, колонки и т.п.), у которых есть наименования, то к ним можно обращаться двумя способами.

Если в наличии имеются два объекта 1С с именованными свойствами и нужно скопировать их значения, удобно использовать процедуру
ЗаполнитьЗначенияСвойств(КудаКопировать, ОткудаКопировать)
которая копирует значения всех свойств, имена которых совпадают, пример:

Проголосовать за этот пост:

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

При запуске 1С:Предприятие пользователю предоставляется окно со списком подключенных баз. Рассмотрим структуру и где хранится список баз 1С.

Где хранится список баз 1С

Список информационных баз 1С хранится в файле ibases.v8i. Это обычный текстовый файл, который можно просмотреть и отредактировать в блокноте. Каждый пользователь операционной системы формирует свой собственный список информационных баз 1С, с которыми он работает. Соответственно, файлы ibases.v8i у разных пользователей также индивидуальные.

Читайте также:  Объективы для sony a65

Файл ibases.v8i хранятся в каталогах:

  • для Windows: %APPDATA%1C1CEStart;
  • для Linux:

.1C1cestart;
для macOS:

Структура и описание ibases.v8i

Файл ibases.v8i хранится в кодировке UTF-8 и состоит из блоков с предопределенной структурой. Каждый такой блок описывает одну базу 1С или одну папку в дереве баз (если базы отображаются в виде дерева).
Для каждого блока (читай базы) указывается наименование и перечень параметров. Наименование заключается в квадратные скобки; именно оно отображается в окне запуска 1С:Предприятие. Параметры указывается в формате ИмяПараметра=ЗначениеПараметра. Наименование и параметры указываются в отдельных строках.

Блок описания информационной базы имеет структуру:

Рассмотрим основные параметры и их возможные значения:

  • Connect — параметры соединения с базой:
  • для файлового варианта Connect=File= ;
  • для клиент-серверного варианта Connect=Srvr= ;Ref= ;
  • ID — идентификатор базы, должен быть уникальным в рамках файла. Формируется автоматически.
  • Folder — наименование папки в дереве баз. Используется когда список баз отображается в виде дерева.
  • ClientConnectionSpeed — скорость соединения для тонкого и веб-клиентов. Возможны значения:
    • Normal — обычная;
    • Low — низкая.
    • WA — вариант аутентификации пользователя. Возможны значения:
      • 1 — аутентификация средствами ОС. В случае ошибки запрашивается логин/пароль;
      • 0 — аутентификация с помощью логина/пароля.
      • App — тип клиентского приложения. Возможны значения:
        • Auto – автоматический выбор типа клиентского приложения;
        • ThinClient – тонкий клиент;
        • ThickClient – толстый клиент;
        • WebClient – веб-клиент.
        • Version — версия 1С:Предприятия для запуска базы.
        • AdditionalParameters — дополнительные параметры запуска.
        • Как перенести список информационных баз 1С другому пользователю

          Мы уже определили, что список баз 1С хранится в обыкновенном текстовом файле ibases.v8i. Для переноса списка от одного пользователя другому достаточно скопировать этот файл из папки исходного пользователя в папку целевого пользователя.

          Списки общих информационных баз

          Список общих информационных баз — это текстовый файл с произвольным наименованием и расширением v8i. Структура файла соответствует структуре ibases.v8i. Список общих информационных баз можно использовать:

          • Непосредственно для запуска 1С:Предприятия. В этом случае в окне запуска будут только те базы, которые описаны в файле. Если в файле всего одна база, то она сразу же запускается, без отображения окна выбора баз.
          • Для подключения к основному списку баз пользователя. В этом случае при запуске 1С пользователь будет видеть как свои базы, так и базы из общего списка.

          Подключение списка общих баз:

          Список общих информационных баз может быть сформирован вручную в блокноте или путем сохранения уже подключенной базы из окна запуска 1С:

          Остались вопросы?
          Спросите в комментариях к статье.

          Ссылка на основную публикацию
          Сравнить технические характеристики rx330 и rx350
          Линейка популярных люксовых SUV Lexus RX пополнилась новой модификацией – RX 350. Теперь покупателем RX быть еще приятнее – ведь...
          Сколько рублей получают ютуберы
          Видеохостинг YouTube — не только развлекательная площадка, но и хороший источник дохода. Тысячи пользователей выкладывают ролики, пытаясь привлечь внимание аудитории....
          Сколько света мотает компьютер
          Выбирая комплектующие для персонального компьютера (ПК) обычно обращают внимание на производительность и объем памяти, порой забывая о том, сколько же...
          Сравнить процессоры кирин и снапдрагон
          Snapdragon 636 vs. Kirin 960: кто лучше? Результаты тестов и сравнительных таблиц, описанных в этой статье, помогут определить, какой из...
          Adblock detector