|
как увидеть техническую ссылку элемента спр-ка | ☑ | ||
---|---|---|---|---|
0
Adgjj
31.08.12
✎
14:58
|
Здравствуйте!
Скажите, пжл, как увидеть техническую ссылку элемента спр-ка вида: (7118:89817071bc1f92b911e1044d941ae723) |
|||
1
shuhard
31.08.12
✎
15:00
|
(0)[техническую ссылку]
пятнично |
|||
2
pumbaEO
31.08.12
✎
15:00
|
||||
3
0_Serg_0
31.08.12
✎
15:04
|
(0)
СправочникСсылка.<Имя справочника> (CatalogRef.<Имя справочника>) УникальныйИдентификатор (UUID) Синтаксис: УникальныйИдентификатор() Возвращаемое значение: Тип: УникальныйИдентификатор. Описание: Получает уникальный идентификатор ссылки. Ссылка может быть получена из уникального идентификатора с помощью метода менеджера ПолучитьСсылку. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. |
|||
4
Adgjj
31.08.12
✎
15:29
|
Спасибо, а в запросе можно сделать отбор по уник идентификатору?
Запрос.Текст = "ВЫБРАТЬ | ВыработкаТС_Лес.ПутЛист, | ВыработкаТС_Лес.Регистратор ТТД, | ВыработкаТС_Лес.ВидРаботы ВидРаботы, //| ВыработкаТС_Лес.ВидРаботы.УникальныйИдентификатор() | ИЗ | РегистрНакопления.ВыработкаТС_Лес КАК ВыработкаТС_Лес |ГДЕ | ВыработкаТС_Лес.Период МЕЖДУ &Дата1 И &Дата2 //| И ВыработкаТС_Лес.Активность | И ВыработкаТС_Лес.ПутЛист.Проведен | И ВыработкаТС_Лес.ПутЛист.Рассчитан //| ВЫРАЗИТЬ(ВыработкаТС_Лес.ВидРаботы.Ссылка КАК СТРОКА(1000)) = &ВидРаботы | И ВыработкаТС_Лес.ВидРаботы = &ВидРаботы |"; Запрос.УстановитьПараметр("Дата1" , НачалоДня(Дата(2012,08,01))); //НачалоДня(Дата1) Запрос.УстановитьПараметр("Дата2" , КонецДня(Дата(2012,08,01))); //КонецДня(Дата2) //Запрос.УстановитьПараметр("ВидРаботы" , "<Объект не найден> (7118:89817071bc1f92b911e1044d941ae723)"); Запрос.УстановитьПараметр("ВидРаботы" , Справочники.ВидыРабот.ПустаяСсылка()); ТЗ = Запрос.Выполнить().Выгрузить(); |
|||
5
pumbaEO
31.08.12
✎
15:33
|
НЕТ
|
|||
6
Adgjj
31.08.12
✎
15:41
|
http://s015.radikal.ru/i333/1208/ca/0de53e6ff131.png
выводится же ссылка не ужели условие сравнения не получится написать? |
|||
7
Adgjj
31.08.12
✎
15:41
|
На рисунке - ТЗ в отладчике
|
|||
8
Serg_1960
31.08.12
✎
15:44
|
Это "внешнее" представление ссылки, если можно так выразиться :)
|
|||
9
Adgjj
31.08.12
✎
15:46
|
Запрос.УстановитьПараметр("ВидРаботы" , ВнешнееПредставлениеСсылки??? );
|
|||
10
Reset
31.08.12
✎
15:47
|
(6) Если значение как таковое у тебя есть, сравнение написать можно.
Запрос.УстановитьПараметр("ВидРаботы" , ТоСамоеЗначениеКотороеВыглядитКакОбъектНеНайден); |
|||
11
Adgjj
31.08.12
✎
15:48
|
значение есть
Запрос.УстановитьПараметр("ВидРаботы" , "<Объект не найден> (7118:89817071bc1f92b911e1044d941ae723)"); |
|||
12
Reset
31.08.12
✎
15:48
|
(11) Это не значение, а представление
|
|||
13
Reset
31.08.12
✎
15:50
|
Ну в (6) же таблица кака-то у тебя. Оттуда возьми.
Таблица[номерСтроки].ВидРаботы |
|||
14
Adgjj
31.08.12
✎
15:50
|
Т.е. невозможно сделать отбор в запросе?
Таблица в (6) это ТЗ = Запрос.Выполнить().Выгрузить(); |
|||
15
Reset
31.08.12
✎
15:52
|
Ладно, на шаг назад давай.
Зачем? |
|||
16
Adgjj
31.08.12
✎
15:54
|
пользователь удалила непосредственно элемент справочника, который задействован во множестве путевых листов. Надо восстановить: найти покалеченные путевки и прицепить к ним вновь введенный элемент спр-ка.
|
|||
17
Kashemir
31.08.12
✎
15:54
|
(11) Что тебе мешает имея нужный ид получить ссылку нужного типа и использовать в запросе как параметр ?
|
|||
18
Adgjj
31.08.12
✎
15:55
|
ну нельзя в запросе тогда после запроса сделаю просто в запросе хотелось
пробовала в запросе поле ВидРаботы сделать в виде строки, чтоб сравнивать можно было | ВЫРАЗИТЬ(ВыработкаТС_Лес.ВидРаботы КАК СТРОКА(200)), - ругается |
|||
19
Adgjj
31.08.12
✎
15:56
|
(17) не знаю как записать параметр
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВыработкаТС_Лес.ПутЛист, | ВыработкаТС_Лес.Регистратор ТТД, | ВыработкаТС_Лес.ВидРаботы ВидРаботы, //| ВЫРАЗИТЬ(ВыработкаТС_Лес.ВидРаботы КАК СТРОКА(200)), | ВыработкаТС_Лес.ВидРаботы.наименование | ИЗ | РегистрНакопления.ВыработкаТС_Лес КАК ВыработкаТС_Лес |ГДЕ | ВыработкаТС_Лес.Период МЕЖДУ &Дата1 И &Дата2 //| И ВыработкаТС_Лес.Активность | И ВыработкаТС_Лес.ПутЛист.Проведен | И ВыработкаТС_Лес.ПутЛист.Рассчитан //| ВЫРАЗИТЬ(ВыработкаТС_Лес.ВидРаботы.Ссылка КАК СТРОКА(1000)) = &ВидРаботы | И ВыработкаТС_Лес.ВидРаботы = &ВидРаботы |"; Запрос.УстановитьПараметр("Дата1" , НачалоДня(Дата(2012,08,01))); //НачалоДня(Дата1) Запрос.УстановитьПараметр("Дата2" , КонецДня(Дата(2012,08,01))); //КонецДня(Дата2) Запрос.УстановитьПараметр("ВидРаботы" , "<Объект не найден> (7118:89817071bc1f92b911e1044d941ae723)"); ТЗ = Запрос.Выполнить().Выгрузить(); // Справочники.ВидыРабот.ПолучитьСсылку("7118:89817071bc1f92b911e1044d941ae7232"); |
|||
20
Reset
31.08.12
✎
15:56
|
(16) Правильнее вновь созданный элемент сразу создать с нужной ссылкой
|
|||
21
Reset
31.08.12
✎
15:57
|
(19) Ты можешь выбрать все такие записи, поставив условие ГДЕ ВыработкаТС_Лес.ВидРаботы.Ссылка ЕСТЬ NULL
|
|||
22
Adgjj
31.08.12
✎
15:57
|
Справочники.ВидыРабот.ПолучитьСсылку("7118:89817071bc1f92b911e1044d941ae7232"); ругается
|
|||
23
fisher
31.08.12
✎
15:57
|
(17) +1
(22) Можно в запросе. Из текста (7118:89817071bc1f92b911e1044d941ae723) собираешь православный гуид, из него создаешь УникальныйИдентификатор, а из него создаешь ссылку, которую уже параметром в запрос. |
|||
24
Kashemir
31.08.12
✎
15:57
|
(19)
Запрос.УстановитьПараметр("ВидРаботы" , Справочники.ВидыРабот.ПолучитьСсылку(Новый УникальныйИдентификатор("вава-вава-вава-вава-вава"))); Алгоритм перевода ИД 89817071bc1f92b911e1044d941ae723 к виду 1С погугли |
|||
25
Adgjj
31.08.12
✎
15:57
|
(21) я не уверена, что за время работы базы был ошибочно удален единственный элемент справочника
|
|||
26
Kashemir
31.08.12
✎
15:58
|
(25) Ну и как собираешся определять ?
|
|||
27
Reset
31.08.12
✎
15:58
|
(25) Заодно и узнаешь )
|
|||
28
Adgjj
31.08.12
✎
15:59
|
(20) я не до конца описала ситуацию: пользователь удалила этот элемент справочника, потому что другой пользователь ввел такой же элемент справочника - он решил навести порядок в справочнике, вот и удалил повторяющийся элемент. Т.е. прицеплять к путевкам надо будет уже имеющийся элемент спр-ка
|
|||
29
Kashemir
31.08.12
✎
16:00
|
(26) Для значений справочника для проверки "битости" ссылки можно проверять обращаясь к значению предопределенных реквизитов типа "код" на ЕстьNULL
|
|||
30
Reset
31.08.12
✎
16:01
|
(28) Ну и выполни с (21), если там будет только 1, останется всего то поменять в документах
|
|||
31
Adgjj
31.08.12
✎
16:01
|
(26) легко: знаю, в какой путевке был задействован удаленный эл-т спр-ка
|
|||
32
Kashemir
31.08.12
✎
16:01
|
+(29) ГДЕ ВыработкаТС_Лес.ВидРаботы.Код ЕстьNULL
|
|||
33
Reset
31.08.12
✎
16:01
|
(30) "различный 1" ;)
|
|||
34
Adgjj
31.08.12
✎
16:02
|
(30) документов сотни, в которых был задействован именно этот удаленный эл-т
|
|||
35
Reset
31.08.12
✎
16:02
|
(32) пробел пропустил
|
|||
36
Reset
31.08.12
✎
16:03
|
(34) Не пойму, что тебе надо то?
|
|||
37
Reset
31.08.12
✎
16:03
|
Значит выведет сотни документов
|
|||
38
Kashemir
31.08.12
✎
16:03
|
(21) Не будет работать - ссылка то осталась - а вот объекта уже нет
|
|||
39
Reset
31.08.12
✎
16:03
|
(20) Ты отказываешься. Значит будешь менять в сотнях. Руками или обработкой.
|
|||
40
Reset
31.08.12
✎
16:04
|
(38) Не тормози) Там левое соединение на таблицу
|
|||
41
Adgjj
31.08.12
✎
16:04
|
я просто читать не успеваю
|
|||
42
Kashemir
31.08.12
✎
16:04
|
+(38) а хотя будет ... туплю - удаляюсь :)
|
|||
43
Serg_1960
31.08.12
✎
16:09
|
(0) Не надо искать объекты где эта "битая" ссылка. Надо новый объект создать и присвоить ему нужный внутренний идентификатор. А потом уже поиск ссылок на объект и его замена на другой (если нужно).
См. например п.15 из v8: В узле РИБ: <Объект не найден> (158:8922001a4bf1113011e01d50e968ff87) как узнать |
|||
44
Reset
31.08.12
✎
16:10
|
(43) "Надо новый объект создать и присвоить ему нужный внутренний идентификатор"
Далее не надо :) Я это предложил в (20) |
|||
45
Serg_1960
31.08.12
✎
16:16
|
(44) Надо, увы надо. Надо повторять одно и тоже на разные лады, пока до автора не дойдёи смысл вышесказаного.
|
|||
46
Reset
31.08.12
✎
16:17
|
(45) Я имел ввиду что поиск ссылок и замена не надо.
|
|||
47
Serg_1960
31.08.12
✎
16:24
|
(46) Уга. Если восстановят объект и все его значения - то, да, нет смысла что-либо искать и заменять.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |