Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Мышление от "sql-запроса к таблицам по ключам" к 1С-ному на конкретном примере.
|
|||
|---|---|---|---|
|
#18+
До этого немного шлепал отчеты для другой ерп, там все приходилось делать на уровне базы прямыми sql-запросами. Не могу перестроиться на 1С-овский подход. Задача. Документ "АктПриходаВекселей": Табличная часть "Векселя" (Реквизиты: Вексель, Сумма). Справочник "ЦенныеБумаги" (Реквизиты: Наименование, Номинал). Реквизит "Вексель" имеет тип "СправочникСсылка.ЦенныеБумаги". 1. По структуре получаются таблицы: АктПриходаВекселей (PK)--(FK)Векселя(PK)--(FK)ЦенныеБумаги? 2. После того, как пользователь заполнит поле Вексель, выбрав из справочника нужный - что произойдет? В АктПриходаВекселей.Векселя.Вексель скопируется ссылка на выбранную запись в ЦенныеБумаги? 3. Куда денется остальная информация по выбранной в справочнике строке? Мне нужно получить стоимость выбранного векселя (ЦенныеБумаги.Номинал), чтобы поместить в АктПриходаВекселей.Векселя.Сумма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2011, 16:28 |
|
||
|
Мышление от "sql-запроса к таблицам по ключам" к 1С-ному на конкретном примере.
|
|||
|---|---|---|---|
|
#18+
Кантачес, для начала огласите версию платформы 1С. (и вообще, любой вопрос по 1С надо начинать с озвучивания версии плаформы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2011, 17:21 |
|
||
|
Мышление от "sql-запроса к таблицам по ключам" к 1С-ному на конкретном примере.
|
|||
|---|---|---|---|
|
#18+
DmitriyZ, 8.2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2011, 17:35 |
|
||
|
Мышление от "sql-запроса к таблицам по ключам" к 1С-ному на конкретном примере.
|
|||
|---|---|---|---|
|
#18+
Кантачес Реквизит "Вексель" имеет тип "СправочникСсылка.ЦенныеБумаги". 1. По структуре получаются таблицы: АктПриходаВекселей (PK)--(FK)Векселя(PK)--(FK)ЦенныеБумаги? 2. После того, как пользователь заполнит поле Вексель, выбрав из справочника нужный - что произойдет? В АктПриходаВекселей.Векселя.Вексель скопируется ссылка на выбранную запись в ЦенныеБумаги? 3. Куда денется остальная информация по выбранной в справочнике строке? Мне нужно получить стоимость выбранного векселя (ЦенныеБумаги.Номинал), чтобы поместить в АктПриходаВекселей.Векселя.Сумма. 2 да, в реквизит ТЧ формы запишется ссылка на справочник, после записи документа будет записана и ТЧ документа 3 ни ку да не денется, будет дотсупна через точку от ссылки Векселя[3].вексель.НекийРеквизитВекселя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2011, 17:55 |
|
||
|
Мышление от "sql-запроса к таблицам по ключам" к 1С-ному на конкретном примере.
|
|||
|---|---|---|---|
|
#18+
Shuhard, спасибо за ответы. В примере кое что пропустили - нашел методом тыка. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2011, 10:56 |
|
||
|
Мышление от "sql-запроса к таблицам по ключам" к 1С-ному на конкретном примере.
|
|||
|---|---|---|---|
|
#18+
1с вполне способен вытащить из базы и весь объект по ссылке смотри реалиционные базы данных первые 3 принципа нормализации о чем вопрос был? все как у всех первичный ключ в базе есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2011, 11:27 |
|
||
|
Мышление от "sql-запроса к таблицам по ключам" к 1С-ному на конкретном примере.
|
|||
|---|---|---|---|
|
#18+
КантачесShuhard, спасибо за ответы. В примере кое что пропустили - нашел методом тыка. Код: plaintext 1. 2. 3. 4. Вот именно так и выглядит. Номинал - это реквизит справочника "Вексель". Если расшифровать полностью, то получится примерно так: ЭлементыФормы - форма на которой все лежит Векселя - табличное поле ТекущаяСтрока.Вексель - Колонка в табличном поле "Векселя" Номинал - значение реквизита спрачоника ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2011, 16:34 |
|
||
|
Мышление от "sql-запроса к таблицам по ключам" к 1С-ному на конкретном примере.
|
|||
|---|---|---|---|
|
#18+
Defender77Векселя - табличное поле ТекущаяСтрока.Вексель - Колонка в табличном поле "Векселя" Номинал - значение реквизита спрачоника Если после поля ссылочного типа Вексель поставить точку, то платформа своими внутренними механизмами организует доступ к связанной таблице (ЦенныеБумаги), к той записи, ссылка на которую записана в поле Вексель? Т.е. то, что, например, в Парусе7 нужно сделать вручную в where, сравнив ключи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2011, 16:50 |
|
||
|
Мышление от "sql-запроса к таблицам по ключам" к 1С-ному на конкретном примере.
|
|||
|---|---|---|---|
|
#18+
КантачесЕсли после поля ссылочного типа Вексель поставить точку, то платформа своими внутренними механизмами организует доступ к связанной таблице (ЦенныеБумаги), к той записи, ссылка на которую записана в поле Вексель? Т.е. то, что, например, в Парусе7 нужно сделать вручную в where, сравнив ключи? Да. Поэтому в 1С практически не имеет смысла знать, как выглядят ключи (связь по RecID). Но есть один существенный нюанс. При использовании разыменования ("точка") 1С полностью считывает объект, указанный после точки, в кэш памяти. Со всеми его табличными частями и реквизитами. На всякий случай. Предполагая, что Вам потребуются и другие реквизиты. Для справочника с небольшим количеством реквизитов и без табличных частей использование точки оправдано. Поэтому на курсах по 1С учат делать так. В общем случае выборка производится запросом вида "ГДЕ ЦенныеБумаги.Ссылка=АктПриходаВекселейВекселя.Вексель". Кстати, бонус. В запросах 1С тоже можно использовать точку. 1С сама построит недостающие соединения с таблицами. Вам бы на курсах поучиться. Или хотя бы карту дистанционного обучения купить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2011, 17:02 |
|
||
|
Мышление от "sql-запроса к таблицам по ключам" к 1С-ному на конкретном примере.
|
|||
|---|---|---|---|
|
#18+
КантачесЕсли после поля ссылочного типа Вексель поставить точку, то платформа своими внутренними механизмами организует доступ к связанной таблице (ЦенныеБумаги), к той записи, ссылка на которую записана в поле Вексель? да причем глубина вложенности не ограничена используй конструктор запросов в нем строиться дерево всех метаданных конфигурации, что позволяет быстро лабать отчеты использовать в коде разыменование то же можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2011, 19:33 |
|
||
|
Мышление от "sql-запроса к таблицам по ключам" к 1С-ному на конкретном примере.
|
|||
|---|---|---|---|
|
#18+
СисойНо есть один существенный нюанс. При использовании разыменования ("точка") 1С полностью считывает объект, указанный после точки, в кэш памяти. Со всеми его табличными частями и реквизитами. На всякий случай. Предполагая, что Вам потребуются и другие реквизиты. Значит, когда я написал Вексель.Номинал, то 1С вытянул в память и все остальные поля записи и ЦенныеБумаги? СисойВам бы на курсах поучиться. Или хотя бы карту дистанционного обучения купить. [/quot] Я пока по Радченко, по 8.2. Shuhardиспользуй конструктор запросов То есть можно было вместо кода создать запрос? Он так же вытянул бы всю строку, или уже только то, что нужно? Эдакая экономичная по памяти альтернатива? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2011, 20:39 |
|
||
|
|

start [/forum/topic.php?fid=28&fpage=74&tid=1521024]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 258ms |
| total: | 411ms |

| 0 / 0 |
