Инструменты пользователя

Инструменты сайта


1c:объекты:справочники

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
1c:объекты:справочники [2014/06/30 10:28]
admin создано
1c:объекты:справочники [2014/12/24 16:10] (текущий)
admin скруглил углы подсказок
Строка 31: Строка 31:
 Обращение к предопределенным элементам происходит так: Обращение к предопределенным элементам происходит так:
 <code 1c>НашаФирма = Справочники.Контрагенты.НашаДочерняяФирма</code> <code 1c>НашаФирма = Справочники.Контрагенты.НашаДочерняяФирма</code>
-Таким образом, очень удобно ссылаться на предопределенные элементы из встроенного языка или опираться на них при построении каких то условий. Предопределенные  элементы справочников можно использовать в схемах СКД и запросах. <WRAP important>**Важно.** Контроль за удалением предопределенных элементов лежит на плечах разработчиков, а не платформы.</WRAP> +Таким образом, очень удобно ссылаться на предопределенные элементы из встроенного языка или опираться на них при построении каких то условий. Предопределенные  элементы справочников можно использовать в схемах СКД и запросах. <WRAP round important>**Важно.** Контроль за удалением предопределенных элементов лежит на плечах разработчиков, а не платформы.</WRAP> 
 Для предопределенных элементов справочников, стандартный реквизит ''Предопределенный'' имеет значение Истина. Это свойство которое доступно только на чтение, но это не означает, что нельзя "обычный" элемент справочника сделать предопределенным и наоборот. В последних релизах 8.3FIXME(Надо узнать в каких именно), появилась возможность переопределять предопределенные элементы изменяя свойство ''ИмяПредопределенныхДанных''. Например, вот так можно сделать элемент **не** предопределенным: Для предопределенных элементов справочников, стандартный реквизит ''Предопределенный'' имеет значение Истина. Это свойство которое доступно только на чтение, но это не означает, что нельзя "обычный" элемент справочника сделать предопределенным и наоборот. В последних релизах 8.3FIXME(Надо узнать в каких именно), появилась возможность переопределять предопределенные элементы изменяя свойство ''ИмяПредопределенныхДанных''. Например, вот так можно сделать элемент **не** предопределенным:
 <code 1c> <code 1c>
Строка 39: Строка 39:
 </code> </code>
 И наоборот указав в свойстве ''ИмяПредопределенныхДанных'' имя предопределенного элемента справочника, можно сделать его предопределенным. У иерархических справочников возможно указывать предопределенные группы. Предопределенные элементы нельзя создавать  у подчиненных справочников. В пользовательском режиме предопределенный элемент отличается,  от обычного, следующим образомFIXME(показать скрин). И наоборот указав в свойстве ''ИмяПредопределенныхДанных'' имя предопределенного элемента справочника, можно сделать его предопределенным. У иерархических справочников возможно указывать предопределенные группы. Предопределенные элементы нельзя создавать  у подчиненных справочников. В пользовательском режиме предопределенный элемент отличается,  от обычного, следующим образомFIXME(показать скрин).
-<WRAP tip>+<WRAP round tip>
 **Подсказка.** Предопределенные элементы часто используют для того, что бы избавиться в коде от конструкций вида: ''НайтиПоКоду'' и ''НайтиПоНаименованию''. Использование этих методов считается дурным тоном, так как наименование и код справочника достаточно часто изменяются. Обычно поступают следующим образом: Создают справочник, например ''Настройки'' с единственным реквизитом ''Значение''. После этого в конфигураторе добавляют предопределенный элемент с нужным названием а в режиме 1с Предприятие, задают его значение. Теперь вместо того что бы писать в коде: **Подсказка.** Предопределенные элементы часто используют для того, что бы избавиться в коде от конструкций вида: ''НайтиПоКоду'' и ''НайтиПоНаименованию''. Использование этих методов считается дурным тоном, так как наименование и код справочника достаточно часто изменяются. Обычно поступают следующим образом: Создают справочник, например ''Настройки'' с единственным реквизитом ''Значение''. После этого в конфигураторе добавляют предопределенный элемент с нужным названием а в режиме 1с Предприятие, задают его значение. Теперь вместо того что бы писать в коде:
 <code 1c>Нашафирма = Справочники.Организации.НайтиПоНаименованию("ООО Рога и копыта")</code>  <code 1c>Нашафирма = Справочники.Организации.НайтиПоНаименованию("ООО Рога и копыта")</code> 
Строка 49: Строка 49:
 ===== Классы для работы со справочниками. ===== ===== Классы для работы со справочниками. =====
 Все классы справочника  можно увидеть в ветке ''Прикладные объекты –> Справочники''. Все классы справочника  можно увидеть в ветке ''Прикладные объекты –> Справочники''.
-<WRAP important>Cправочники это элементы которые хранятся в базе данных, считается очевидным, что обращение к любому из классов возможно только на сервере.</WRAP> +<WRAP round important>Cправочники это элементы которые хранятся в базе данных, считается очевидным, что обращение к любому из классов возможно только на сервере.</WRAP> 
  
 ==== Справочник менеджер ==== ==== Справочник менеджер ====
Строка 56: Строка 56:
 Этот класс служит для:  Этот класс служит для: 
   * Поиска по наименованию, коду или другому реквизиту. <code 1c>Ножницы = Справочники.Номенклатура.НайтиПоНаименованию("Ножницы канцелярские");</code>   * Поиска по наименованию, коду или другому реквизиту. <code 1c>Ножницы = Справочники.Номенклатура.НайтиПоНаименованию("Ножницы канцелярские");</code>
-  * Программного создания групп или элементов:<WRAP>+  * Программного создания групп или элементов:<WRAP><code 1c>
 НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент(); НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
 НовыйЭлемент.Реквизит1 = "КакоеТоЗначение"; НовыйЭлемент.Реквизит1 = "КакоеТоЗначение";
-НовыйЭлемент.Записать();</WRAP> +НовыйЭлемент.Записать();</code></WRAP> 
-  * Делать выборки:<WRAP> +  * Делать выборки:<WRAP><code 1c>  
-Выборка = Справочники.Номенклатура.Выбрать()+Выборка = Справочники.Номенклатура.Выбрать()</code>
 Получать пустые ссылки: Получать пустые ссылки:
-Пусто = Справочники.Номенклатура.ПустаяСсылка(); </WRAP> +<code 1c>Пусто = Справочники.Номенклатура.ПустаяСсылка(); </code></WRAP> 
-И много еще разных возможностей которые можно наблюдать в синтаксис помощнике в веточке: ''Прикладные объекты – >Справочники – СправочникМенеджер.<ИмяСправочника>''+И много еще разных возможностей которые можно наблюдать в синтаксис помощнике в ветке: ''Прикладные объекты – >Справочники – СправочникМенеджер.<ИмяСправочника>''
  
 ==== Справочник ссылка ==== ==== Справочник ссылка ====
Строка 78: Строка 78:
 ===== Популярные приемы работы со справочниками ===== ===== Популярные приемы работы со справочниками =====
 ==== Поиск по наименованию. ==== ==== Поиск по наименованию. ====
-<WRAP tip >+<WRAP round tip >
 Несмотря на то, что неоднократно рассматривается поиск элемента справочника по наименованию, "зашивать" в код значения из базы данных считается дурным тоном. Несмотря на то, что неоднократно рассматривается поиск элемента справочника по наименованию, "зашивать" в код значения из базы данных считается дурным тоном.
 </WRAP> </WRAP>
Строка 108: Строка 108:
 НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемнт(); НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемнт();
 НовыйЭлемент.Наименование = "ТестоваяНоменклатура"; НовыйЭлемент.Наименование = "ТестоваяНоменклатура";
-НовыйЭлемент.ПолноеНаименование = "«ТестоваяНоменклатура";+НовыйЭлемент.ПолноеНаименование = "ТестоваяНоменклатура";
 //Заполнение всех остальных элементов //Заполнение всех остальных элементов
 НовыйЭлемент.Записать(); НовыйЭлемент.Записать();
1c/объекты/справочники.1404109738.txt.gz · Последнее изменение: 2014/06/30 10:28 — admin