|
Что значит .ссылка? | ☑ | ||
---|---|---|---|---|
0
Lesrs
09.04.19
✎
10:11
|
что такое ссылка в 1с? для чего это? и для чего пишут ВидДвижения?
|
|||
57
Fish
09.04.19
✎
12:08
|
(54) В других каких? а то ссылки в разных языках ЯП - это разное. А не так, что в 1с - это одно, а во всех остальных ЯП - это другое, но что-то одно.
|
|||
58
VS-1976
09.04.19
✎
12:09
|
ссылка в 1С это тупо первичный ключ в таблице, при этом в ссылке кроме упакованного GUID есть ещё и тип, который позволяет получать такие вещи как ссылка.ПолучитьОбъект() и т.д. (54) Есть ссылка на объект, которая "лежит" в переменной ( тупо указатель на область памяти )
|
|||
59
Lesrs
09.04.19
✎
12:10
|
а что здесь значит Ссылка.Номер? Для чего это? Номер это таблица?
ВЫБРАТЬ Ссылка.Номер, ПУСТАЯТАБЛИЦА.(Ном, Тов, Кол) КАК Состав ИЗ Документ.РасходнаяНакладная ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Ссылка.Номер, Состав.(НомерСтроки, Номенклатура, Количество) ИЗ Документ.РасходнаяНакладная |
|||
60
Rovan
гуру
09.04.19
✎
12:10
|
(54) в английском "the" - Это как раз ссылка (конкретный экземпляр),
а "а" - эти тип |
|||
61
Fish
09.04.19
✎
12:10
|
(55) " вернемся к 1С и спросим..." - А зачем спрашивать? Берём и читаем: https://its.1c.ru/db/v8314doc#bookmark:dev:ti000000151
|
|||
62
Rovan
гуру
09.04.19
✎
12:11
|
(59) тут можно заменить "Ссылка.Номер" на просто "Номер"
|
|||
63
VS-1976
09.04.19
✎
12:12
|
(59) Так как ссылка это указатель с типом, то 1С понимает из какой таблицы взять запись ( из метаданных понимает ), дальше идёт запрос к этой таблице где берётся поле Номер
|
|||
64
Garykom
гуру
09.04.19
✎
12:12
|
(56) У РН записи обычно привязаны к номеру строки регистратора и этим уникальны чаще всего, хотя согласен что можно задублировать.
В РС дубли вполне допустимы и это частый глюк базы. |
|||
65
Garykom
гуру
09.04.19
✎
12:13
|
(61) А теперь перечитай свое высказывание в (57)
|
|||
66
VS-1976
09.04.19
✎
12:14
|
(59) В запросе этом будет дополнительное соединение скорее всего
|
|||
67
Fish
09.04.19
✎
12:15
|
(65) И что? Где ты увидел противоречие?
|
|||
68
Lesrs
09.04.19
✎
12:16
|
(66) вложенная таблица
|
|||
69
Garykom
гуру
09.04.19
✎
12:17
|
(67) В 1С и в других ЯП есть очень одинаковые "ссылки".
|
|||
70
Lesrs
09.04.19
✎
12:18
|
(63) то есть в данном случае "Номер" это поле?
а чем отличается Ссылка.Номер от Номер.Ссылка? |
|||
71
VS-1976
09.04.19
✎
12:19
|
(68) Нет, я про это
ВЫБРАТЬ Ссылка.Номер ... ИЗ Документ.РасходнаяНакладная будет преобразовано, возможно в это, но это не точно. ВЫБРАТЬ таб2.Номер ... ИЗ Документ.РасходнаяНакладная КАК таб1 ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная КАК таб2 ПО таб2.Ссылка = таб1.Ссылка |
|||
72
Fish
09.04.19
✎
12:19
|
(69) Ну и? Я это знаю. В (57) написано про другое.
|
|||
73
VS-1976
09.04.19
✎
12:20
|
(70) Номер.Ссылка быть не может, это будет синтаксическая ошибка. Номер это строка, а не ссылочный тип
|
|||
74
Скиурус
09.04.19
✎
12:22
|
(64) Ну а в нашей реальности платформа 1С 8.3 не дает создавать записи с дублирующим ключом в РС.
|
|||
75
Джордж1
09.04.19
✎
12:23
|
Может запутаю еще больше
Но можно сказать что Ссылка документа - это есть его номер. Идешь ты к бухгалтеру посмотреть где ты последний раз покупал картриджи. У нее нет документа, но посмотрев в свои бумаги она видит что это была накладная с таким-то номером - это и есть Ссылка на документ. А если ты хочешь увидеть всю накладную (Объект) - идешь в архив и ищешь по номеру налкданую и получаешь ее уже всю - Объект. И если со ссылкой ты ничего сделать не можешь. То имея на руках документ - Объект уже можешь с ним что-то сдеалть - посмотреть целиком, удалить |
|||
76
Lesrs
09.04.19
✎
12:24
|
(73) А нельзя просто указать Номер, вместо Ссылка.Номер
|
|||
77
Fish
09.04.19
✎
12:24
|
(75) "можно сказать что Ссылка документа - это есть его номер. " - Лучше не нужно так говорить, а то будет потом путаница с понятиями, как у Garykom
|
|||
78
Волшебник
09.04.19
✎
12:25
|
(35) у регистров есть КлючЗаписи.
для независимых регистров сведений - это комбинация всех измерений (и поля Период, если регистр периодический) для остальных регистров - это регистратор (документ) и номер записи в наборе Это похоже на ссылку, поскольку позволяет идентифицировать запись регистра, но это не ссылка. |
|||
79
Джордж1
09.04.19
✎
12:26
|
(77)Тогда надо, навреное, с основ реаляционных БД начинать
|
|||
80
Вафель
09.04.19
✎
12:28
|
ссылка она как номер, только ссылка
|
|||
81
Lesrs
09.04.19
✎
12:28
|
(80) ответ))))
|
|||
82
Fish
09.04.19
✎
12:29
|
(80) Ага.
"- А что такое удав? - Ну, лошадь знаешь? - Знаю. - Так вот - совсем не похож" (с). |
|||
83
Lesrs
09.04.19
✎
12:30
|
еще вопрос, для чего нужен &? типо &НачалоДня &КонецДня
|
|||
84
Вафель
09.04.19
✎
12:32
|
(82) аналогия с этим
Самурай без меча подобен самураю с мечом, только без меча |
|||
85
breezee
09.04.19
✎
12:34
|
Ссылка - ключ в базе данных
|
|||
86
Джордж1
09.04.19
✎
12:34
|
(83)
А ты добавь код Сообщить(Запрос.Текст); Перед строчкой Запрос.Выполнить() |
|||
87
breezee
09.04.19
✎
12:34
|
(83) Сначала почитайте книгу, так быстрее будет. Радченко можно найти
|
|||
88
Filippov
09.04.19
✎
12:37
|
(87) Уже советовали. Но ТС идет своим путём
|
|||
89
Lesrs
09.04.19
✎
12:38
|
(86) и что будет в результате?
|
|||
90
Lesrs
09.04.19
✎
12:44
|
(87) смысл читать всю книгу в 900 страниц, если в итоге ты не запомнишь того, что ты прочитал из-за большого количества инфы
|
|||
91
Fish
09.04.19
✎
12:45
|
(90) Думаешь, проще будет запомнить всё, что тут нафлудят? :))
|
|||
92
Garykom
гуру
09.04.19
✎
12:55
|
(77) У меня нет путаницы с понятиями, это кто то не понимает аналогий (очень похожих понятий по сути) ибо слишком узкий кругозор.
|
|||
93
Cyberhawk
09.04.19
✎
13:05
|
"что такое ссылка в 1с?" // Судя по первым постам ветки, речь все-таки за реквизит объектов БД, а не за передачу параметров в методы, что зачем-то еще попытались где-то выше приплести :)
|
|||
94
Garykom
гуру
09.04.19
✎
13:07
|
(93) Ты еще скажи что это совершенно не связанные понятия да?
|
|||
95
Cyberhawk
09.04.19
✎
13:15
|
(94) Ну, в общем случае можно конечно связать - типа обращение к объекту в памяти и все такое, как-нибудь с этой стороны наверное.
Но автору это не особо наверное поможет, грузить его передачей параметров в методы поэтому посчитал излишним ) |
|||
96
Garykom
гуру
09.04.19
✎
13:17
|
(95) Имхо если понять в чем разница передачи по ссылке и по значению то уже легче понять зачем нужны и что такое ссылки, применительно к объектам базы.
|
|||
97
Fish
09.04.19
✎
13:37
|
(92) "ибо слишком узкий кругозор." - Куда мне до кругозора человека, который выдумал несуществующие ссылки на запись регистра накоплений :))
|
|||
98
Garykom
гуру
09.04.19
✎
13:45
|
(97) прочитай (78)
|
|||
99
Fish
09.04.19
✎
13:48
|
(98) Ну и? Ты не дочитал до слов "но это не ссылка"?
|
|||
100
Garykom
гуру
09.04.19
✎
14:06
|
(99) Я дочитал. А вот до кого то не доходит аналогия для объяснения понятия ссылки и для чего она нужна.
Если ты считаешь что думать надо строго по шаблону (и ходит строем), ну это твои личные проблемы. |
|||
101
Fish
09.04.19
✎
14:09
|
(100) Не пытайся свой прокол и невежество переложить на других. Ты не писал сначала ни про какие про аналогии, а утверждал, что якобы у регистра накопления есть ссылка. Потом уже пошли всякие увёртка про аналогии и прочее.
|
|||
102
VS-1976
09.04.19
✎
14:09
|
(76) Нужно
|
|||
103
xXeNoNx
09.04.19
✎
14:09
|
(21) не увидел, точнее
|
|||
104
Cyberhawk
09.04.19
✎
14:10
|
(96) Соглашусь, что понимание одного позволяет упорядочить мысли по поводу другого, т.е. синергия от знания этих двух штук получается хорошая. Но вряд ли нубу, не делающему читать первоисточник, это поможет ))
|
|||
105
Cyberhawk
09.04.19
✎
14:12
|
(101) Смотря что вкладывать в используемые понятия. Кто-то добавляет в определение неизменность ссылки за время жизни, кто-то не добавляет, вот и причина споров )
А общепринятого-то нет определения, чтобы "тыкать" в случае чего) |
|||
106
Cyberhawk
09.04.19
✎
14:13
|
По факту поддержу (4), а с дьяволом кроющимся в деталях нуб можно и никогда не встретиться )
|
|||
107
Garykom
гуру
09.04.19
✎
14:13
|
(101) Я утверждаю что у регистра накопления обычно есть такая же штука как ссылка для других объектов 1С.
"Смотря что называть ссылкой." мои слова в (35). Ты чего ко мне привязался? |
|||
108
Fish
09.04.19
✎
14:18
|
(107) "Ты чего ко мне привязался?" - Я? Да ни в коем случае. Просто если заблуждаешься сам, то имхо не следует вводить в заблуждение других. А тем более упорствовать в своём заблуждении, вместо того, чтобы признать ошибку.
|
|||
109
Garykom
гуру
09.04.19
✎
14:21
|
(108) Еще раз перечитай внимательно мой пост (35)
Я даже повторю целиком: "Смотря что называть ссылкой. Если некий уникальный идентификатор, по которому можно однозначно определить/найти запись в базе. То есть. Если же уточнить что в понимании внутреннего ЯП платформы 1С то да, нет." Где у меня ошибка? |
|||
110
Fish
09.04.19
✎
14:30
|
(109) Ошибка у тебя в посте (28), на что тебе сразу и указали. А у тебя, вместо признания ошибки, пошли какие-то отсылки к терминологии, "пониманию внутреннего ЯП платформы 1С" и т.п.
А по сути, практически в каждом ЯП есть определение ссылки. Где-то они одинаковы, где-то они отличаются. Но так как ветка про 1С, то оперировать понятиями из других ЯП - в корне неверно. |
|||
111
Pahomich
09.04.19
✎
14:54
|
Спорят, как маленькие дети... Ссылка она махонькая! А объект - большой!
|
|||
112
Garykom
гуру
09.04.19
✎
15:04
|
(110) Поднимись повыше и заметишь что я в (28) отвечал на
(18) "Ссылка на запись в базе данных. Настолько просто все. Что даже непонятнор, что вообще тут можно объяснять." (27) "Только не на всякую запись, а на запись ссылочного типа, например, справочник, документ, узел обмена. Например, у записи регистра нет ссылки." |
|||
113
Скиурус
09.04.19
✎
17:20
|
Я тут перечитал посты одного участника форума, не будем тыкать пальцем. Они в общем все такие же как в этой теме. То ли обострение весеннее, то ли просто троллинг бедных наивных одинэсиков.
[s]ну правда по сравнению с темами по ЗОЖ эти еще нечего[/s] |
|||
114
novichok79
09.04.19
✎
17:27
|
ну, ссылка - это primary key строки в таблице, а объект - строка таблицы с ключами, на которую ссылается ссылка, це ж просто.
|
|||
115
novichok79
09.04.19
✎
17:28
|
реляционные СУБД, то есть типа с отношеньками между таблицами
|
|||
116
Cyberhawk
09.04.19
✎
17:43
|
(114) Ну так в таблице движений регистратор + ссылка либо комбинация всех измерений катит на роль PK, но ссылкой же не являются в понимании 1С
|
|||
117
Cyberhawk
09.04.19
✎
17:43
|
*регистратор + номер строки
|
|||
118
Dzenn
гуру
09.04.19
✎
17:50
|
Объект, если грубо - это квартира. А ссылка, если грубо - это ключ от квартиры, где деньги лежат. Причём квартир у тебя много, и к каждой квартире у тебя ключик, и ключики обязательно уникальные, и их повторение исключено на уровне платформы. Ключики можно повесить на верёвочку и носить с собой в кармане, а квартиры в кармане ты не поносишь. Вот такое отличие, грубо говоря, ссылки от объекта.
|
|||
119
Garykom
гуру
09.04.19
✎
17:54
|
(118) >их повторение исключено на уровне платформы
Вы ошибаетесь, дубли УИД это вполне реально и встречалось на практике. Причем как штатное (изучать что такое GUID/UUID) у разных объектов в РИБ в разных узлах одна ссылка по сути создавалась, а потом при обмене в центре затирала вторую запись. Так и глюки в базе с дублями записей и ссылок. |
|||
120
Dzenn
гуру
09.04.19
✎
17:55
|
(119) при обмене да, не исключено дублирование. В рамках одной базы - исключено на уровне платформы, я проверял
|
|||
121
Garykom
гуру
09.04.19
✎
17:58
|
(120) На уровне платформы на одном компе скорее всего проверка дополнительная при создании/резервировании новых УИД.
Мы умудрились на 2 ляма объектов одного вида получить совпадение УИД, потому что админы винду на компах клонировали (более сотни компов-узлов было) и потом на них база с РИБ была. |
|||
122
free dude
09.04.19
✎
18:01
|
(0)
СправочникОбъект = Ссылка.ПолучитьОбъект(); СправочникОбъект.Код = "000001"; будет работать Ссылка.Код = "000001"; - не будет работать. Вот и вся разница. А на остальное можешь забить, это все не важно. Ключи там какие, то. Объекты в других языках - это все фигня. |
|||
123
Rovan
гуру
09.04.19
✎
18:03
|
(111) ссылка может быть на элемент справочника, где нет наименования, а код всего 5 символом
v8: Сколько весит ссылка на элемент справочника в базе? |
|||
124
free dude
09.04.19
✎
18:04
|
так понятней.
(0) Рабочий код СправочникСсылка = Справочник.Номенклатура.НайтиПоКоду("000001"); СправочникОбъект = СправочникСсылка.ПолучитьОбъект(); СправочникОбъект.Код = "000002"; будет работать СправочникОбъект.Записать() Не рабочий код СправочникСсылка = Справочник.Номенклатура.НайтиПоКоду("000001"); СправочникСсылка.Код = "0002"; СправочникСсылка.Записать() |
|||
125
Вафель
09.04.19
✎
18:05
|
(124) никто не спрашивал чем отличается ссылка от объекта
|
|||
126
free dude
09.04.19
✎
18:07
|
(125) Ссылка нужна, чтобы получать объект или чтобы присваивать реквизиту ссылочного типа значение. А так она нафиг не нужна.
|
|||
127
free dude
09.04.19
✎
18:08
|
Ссылка без объекта бесполезная вещь.
|
|||
128
free dude
09.04.19
✎
18:11
|
"что такое ссылка в 1с? для чего это? " - ссылка это одинэсная сущность существующая для двух вещей. Присваивать реквизиту ссылочного типа объекта значение и для получения объекта. Пример кода
СсылкаНоменклатура = Справочники.Номенклатура.НайтиПоКоду("222"); СсылкаСтавкаНДС = Справочники.СтавкиНдс.НайтиПоКоду("20"); ОбъектНоменклатура = СсылкаНоменклатура.ПолучитьОбъект(); ОбъектНоменклатура.СтавкаНдс = СсылкаСтавкаНДС; ОбъектНоменклатура.Записать() ; |
|||
129
free dude
09.04.19
✎
18:12
|
А всякие там внешние ключи и объекты как в других языках, говорит о том что люди, которые такое пишут или тупые или переучились.
|
|||
130
Garykom
гуру
09.04.19
✎
18:16
|
Особенно говорит об уме использование в коде реальной конфы "НайтиПоКоду".
|
|||
131
free dude
09.04.19
✎
18:19
|
(130) Если это в мой огород камень. То где я писал, что это нужно делать в коде реальной конфигурации?
|
|||
132
free dude
09.04.19
✎
18:20
|
А почему бы не сделать обмен по COM или с сайтом с методом найти по коду? А если бы я написал СсылкаНоменклатура.НайтиПоКоду(КодОбмена); //где код обмена из хмл файла.
То я сразу был бы умным? |
|||
133
Garykom
гуру
09.04.19
✎
18:21
|
"Рабочий код"
"Пример кода" |
|||
134
free dude
09.04.19
✎
18:21
|
+(132) тьфу
СсылкаНоменклатура = Справочники.Номенклатура.НайтиПоКоду(КодОбменаСХМЛ); |
|||
135
Garykom
гуру
09.04.19
✎
18:22
|
(132) Нет был бы полным дебилом, потому что ищешь ссылку на объект по коду вместо УИД.
|
|||
136
Вафель
09.04.19
✎
18:22
|
(133) рабочий - не значит код на продакшене, то то что он исполняется
|
|||
137
free dude
09.04.19
✎
18:22
|
(133) рабочий код - это значит код, который работает, а не код в рабочей базе.
|
|||
138
free dude
09.04.19
✎
18:24
|
(135) А если это перенос из 7.7 где нет никакого уида и близко? Короче хорош уже меня доставать своей глупостью. Я написал пример, для того, чтобы человек понял. Спецы блин, 150 постов не могут объяснить, что такое Ссылка в одинэс.
|
|||
139
Garykom
гуру
09.04.19
✎
18:24
|
(136) Обычно я даю примеры "рабочего кода" очень похожего на то что реально пишу.
А код кривой и не рабочий, ибо с какого перепугу в базе есть элементы с такими кодами? Млять. |
|||
140
Garykom
гуру
09.04.19
✎
18:25
|
(137) Повторю твой код "нифуя не рабочий", при определенных часто встречающихся условиях.
|
|||
141
free dude
09.04.19
✎
18:27
|
(140) на тебе пример из СП
СправочникМенеджер.<Имя справочника>.НайтиПоКоду (CatalogManager.<Имя справочника>.FindByCode) СправочникМенеджер.<Имя справочника> (CatalogManager.<Имя справочника>) НайтиПоКоду (FindByCode) Синтаксис: НайтиПоКоду(<Код>, <ПоискПоПолномуКоду>, <Родитель>, <Владелец>) Параметры: <Код> (обязательный) Тип: Число; Строка. Искомый код. Строка или число в зависимости от настроек справочника в конфигураторе. <ПоискПоПолномуКоду> (необязательный) Тип: Булево. Определяет режим поиска по полному коду. Истина - искомый код следует задавать в виде строки, состоящей из последовательности кодов по уровням справочника, разделенных символом "/". Значение по умолчанию: Ложь. <Родитель> (необязательный) Тип: СправочникСсылка.<Имя справочника>. Родитель, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике. <Владелец> (необязательный) Тип: СправочникСсылка.<Имя справочника>. Владелец, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике. Возвращаемое значение: Тип: СправочникСсылка.<Имя справочника>; Неопределено. Если не существует ни одного элемента с требуемым кодом, то будет возвращена пустая ссылка. Если для справочника код не задан (длина = 0), то будет возвращено Неопределено. Описание: Осуществляет поиск элемента по его коду. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). Пример: СтрокаКода = "840"; Валюты = Справочники.Валюты; НайденнаяСсылка = Валюты.НайтиПоКоду(СтрокаКода); Если НайденнаяСсылка = Валюты.ПустаяСсылка() Тогда Сообщить("Валюты """ + СтрокаКода + """ еще нет"); КонецЕсли; -------------------------------------------------------------------------------- Методическая информация |
|||
142
Garykom
гуру
09.04.19
✎
18:28
|
(141) Отличие видишь в
Если НайденнаяСсылка = Валюты.ПустаяСсылка() Тогда ? |
|||
143
free dude
09.04.19
✎
18:28
|
(14) Ты абсолютно не имеешь абстрактного мышления и программирование это не твое.
|
|||
144
free dude
09.04.19
✎
18:29
|
(142) разговор про то зачем ссылка нужна, а не то как проверять ее на пустоту
|
|||
145
free dude
09.04.19
✎
18:30
|
(142) Ты же минуту назад писал, что искать надо по УИД и методисты 1С лохи.
|
|||
146
Garykom
гуру
09.04.19
✎
18:31
|
(145) Я это писал применительно к обмену.
Где юзер в другой базе легко может поменять каким то образом код и надо предусмотреть защиту от дурака. |
|||
147
free dude
09.04.19
✎
18:32
|
(146) а у тебя юзеры код менять могут? Да, тебя вообще к базе подпускать нельзя.
|
|||
148
Garykom
гуру
09.04.19
✎
18:34
|
(147) Юзеры такие животные которые могут что угодно сломать. Или ты их на цепи и в намордниках с наручниками держишь?
|
|||
149
free dude
09.04.19
✎
18:35
|
(148) кстати слухи об уникальности УИД прям сильно преувеличены и люди попадали, когда пытались объединить две базы в одно надеясь, ЧТО уид таки уникальный, а оказывалось, что вот ничерта не уникальный и на выходе был лютый песец. Так, что я бы тебя отстранил от работы с рабочей базой, дабы ты не загубил дополнительный реквизит синхронизации.
|
|||
150
Garykom
гуру
09.04.19
✎
18:37
|
(149) Глянь (119)
|
|||
151
free dude
09.04.19
✎
18:39
|
(150) Объект квартира, ссылка ключ - да вы наркоманы, чего вас читать.
|
|||
152
Garykom
гуру
09.04.19
✎
18:41
|
(151) Да ты чо это настоящий Дзенн в (118)
|
|||
153
Garykom
гуру
09.04.19
✎
18:43
|
(152)+ сорри https://ru.wikipedia.org/wiki/Дзэн
|
|||
154
Garykom
гуру
09.04.19
✎
18:44
|
(153)+
"— Что такое Будда? — Кусок глины (и даже: кусок засохшего дерьма). — Что такое Дао? — Три фунта льна! — Что такое дзэн? — Ветка цветущей сливы (или: кипарис в саду; или: набирать снег серебряным кувшином)." |
|||
155
DJ Anthon
09.04.19
✎
18:57
|
иногда неизвестно, какого типа документ, ссылка или объект. а обращение .ссылка однозначно превратит его в ссылку. а ссылка.получитьобъект() - однозначно в объект. но если переменная может содержать больше видов значений, тогда облом.
если в запросе - там свои тонкости, например, позже в коде будут обращаться именно к полю "ссылка". |
|||
156
Lesrs
11.04.19
✎
10:47
|
a. В обработке консоль запросов построить таблицу оборотов по регистру «Товары организации» за период, для определенной организации с использованием для условий конструкции ГДЕ
Номенклатура Количество приход Количество расход Результат должен быть сгруппирован по полю номенклатура с подсчетом итогов по группировке и общие итоги. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |