1С-Предприятие 8.0. Практическое пособие разработчика

Прикладные объекты


Как узнать (проверить) тип значения документа, справочника?

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

Чтобы узнать тип значения переменной нужно определить ее тип функцией ТипЗнч() сравнить с результатом функции Тип():

Если ТипЗнч(Основание) = Тип("ДокументСсылка.ПриходнаяНакладная") Тогда

   //Переменная Основание имеет тип значения ДокументСсылка.ПриходнаяНакладная

   ...

КонецЕсли;



О типах, описывающих прикладные объекты, можно прочитать в главе "Виды объектов встроенного языка, предназначенные для работы с данными прикладных объектов конфигурации" на странице 551.

Как в форме списка справочника получить ссылку на текущий элемент?

Для получения ссылки на текущий элемент справочника можно обратиться к свойству ТекущаяСтрока элемента управления ТабличноеПоле. Например:

Сообщить("Текущий элемент:" + ЭлементыФормы.СправочникСписок.ТекущаяСтрока);

Другой способ – обратиться к полю Ссылка текущих данных табличного поля:

Сообщить("Текущий элемент:" + ЭлементыФормы.СправочникСписок.ТекущиеДанные.Ссылка);

Для списков объектных данных (Справочников, Документов,...) эти способы равнозначны, так как поле Ссылка является идентификатором записи. [645]

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

Таким образом, свойство ТекущаяСтрока для всех типов данных выдает значение, идентифицирующее текущую строку.

Для чего служит флажок "Автопорядок по коду" у плана счетов?

Свойство "Автопорядок по коду" используется для того, чтобы указать системе, что упорядочивание по полю "Порядок" должно всегда подставляться в тех случаях, когда пользователь или разработчик выбирает упорядочивание по коду. Его нужно использовать, прежде всего, тогда, когда с точки зрения пользователя нужно упорядочивать план счетов по коду с учетом разделителей кода счета. Например, если упорядочивать по коду счета, то счета будут располагаться так:




"10.11"

"10.2"

Это правильно с точки зрения сортировки строк, но не соответствует логическому смыслу кодов.

Но если заданы значения поля "Порядок": "10.11" и "10. 2" и установлено свойство "Автопорядок по коду", то при выборе упорядочивания по коду пользователь будет, фактически, получать порядок, учитывающий разделители:

"10.2"

"10.11".

Если свойство не установить, то нужно будет в явном виде выбирать упорядочивание по полю "Порядок".

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

Так происходит потому, что у вашего набора записей не был установлен отбор. Если отбор не установлен, то такой набор записей распространяется на весь регистр и, конечно, это приведет к перезаписи всего регистра сведений новым набором. [646]

Для получения более подробной информации можно посмотреть главу "Объект конфигурации регистр сведений" на странице 120, а также статьи на диске ИТС: "Периодические регистры сведений" и "Проектирование структуры периодических регистров сведений".

Почему в 8.0 нет возможности интерактивно открыть форму элемента справочника только для просмотра?

В версии 8.0 при открытии формы объекта (документа, элемента справочника и т.д.) не выполняется (как раньше) блокировка объекта от изменения другими пользователями. Поэтому два пользователя могут, например, открыть один и тот же документ одновременно. Блокировка устанавливается при начале редактирования данных объекта в форме. Если объект уже заблокирован другим пользователем, то при попытке начала редактирования будет выдано соответствующее сообщение.

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






Содержание раздела