Имя: Пароль:
1C
1С v8
Что значит .ссылка?
,
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
154 Garykom
 
гуру
09.04.19
18:44
(153)+

"— Что такое Будда?
— Кусок глины (и даже: кусок засохшего дерьма).
— Что такое Дао?
— Три фунта льна!
— Что такое дзэн?
— Ветка цветущей сливы (или: кипарис в саду; или: набирать снег серебряным кувшином)."
155 DJ Anthon
 
09.04.19
18:57
иногда неизвестно, какого типа документ, ссылка или объект. а обращение .ссылка однозначно превратит его в ссылку. а ссылка.получитьобъект() - однозначно в объект. но если переменная может содержать больше видов значений, тогда облом.
если в запросе - там свои тонкости, например, позже в коде будут обращаться именно к полю "ссылка".
156 Lesrs
 
11.04.19
10:47
a.    В обработке консоль запросов построить таблицу оборотов по регистру «Товары организации» за период, для определенной организации с использованием для условий конструкции ГДЕ
Номенклатура    Количество приход    Количество расход
        
        
Результат должен быть сгруппирован по полю номенклатура с подсчетом итогов по группировке и общие итоги.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.