|
Как по коду 1 найти элемент 0000001 в справочнике сотрудники? | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
01.04.15
✎
16:02
|
Собственно?
|
|||
1
User_Agronom
01.04.15
✎
16:03
|
ПОДОБНО
Не? |
|||
2
User_Agronom
01.04.15
✎
16:03
|
Если нет префиксов преобразуй к числам.
|
|||
3
Гений 1С
гуру
01.04.15
✎
16:03
|
(1) 00001231 тоже подобно.
|
|||
4
busy1
01.04.15
✎
16:03
|
Справочники.Организации.НайтиПоКоду("0000001");
|
|||
5
b_ru
01.04.15
✎
16:03
|
почитать в СП описание функции Формат, не?
|
|||
6
Гений 1С
гуру
01.04.15
✎
16:04
|
(2) в запросе надо, я сейчас использую НайтиПоКоду. Если для 100 вызывать сотров, будет медленно перебирать или строить индекс всего справочника.
|
|||
7
DmitrO
01.04.15
✎
16:04
|
после таких постов понимаешь почему на партнерскую конференцию доступ ограничен )
|
|||
8
Гений 1С
гуру
01.04.15
✎
16:04
|
(5) А по-другому никак? Это надо длину кода вытаскивать.
|
|||
9
b_ru
01.04.15
✎
16:07
|
(8) ГДЕ ВЫРАЗИТЬ(Справочник.Код КАК Число) = &ПараметрЧисло
только тормозить будет, проще конечно параметр сконвертировать. |
|||
10
Shurjk2
01.04.15
✎
16:08
|
Вот нравится мне такая постановка задач, когда приходят и говорят "хочу так". Ты говоришь ну делай "вот так" а тебе там нее так не пойдет там есть "если", и так бесконечно пока ты полностью не разгадаешь все условия задачи.
Озвучивай полностью проблему и цели. |
|||
11
Зеленый пень
01.04.15
✎
16:10
|
(3) Это гениально.
|
|||
12
Гёдза
01.04.15
✎
16:11
|
(9) так не работает
Формат(Код, "ЧЦ=6; ЧВН=; ЧГ=0") |
|||
13
Shurjk2
01.04.15
✎
16:12
|
По сабжу посмотри как в типовых организована печать номера документа там придумали как избавляться от лидирующих нулей.
|
|||
14
Ненавижу 1С
гуру
01.04.15
✎
16:13
|
Гений решил устроить 1 апреля. Понятно
|
|||
15
Shurjk2
01.04.15
✎
16:16
|
(14) Ну может быть у него шутка даже тоньше чем юмор с переворчивающимися буквами.
|
|||
16
User_Agronom
01.04.15
✎
16:20
|
(3) Номер ПОДОБНО "0000000000000000"+"1"
|
|||
17
spectre1978
01.04.15
✎
16:23
|
(0) единицу сконвертить в строку "0000001" путем дописки нужного к-ва нулей слева. Выполнить поиск. ???? Profit!
|
|||
18
Гений 1С
гуру
01.04.15
✎
17:00
|
В общем сделал через длину кода.
Функция СотрудникПоPersonID(PersonID) ИскСотрудник = Справочники.СотрудникиОрганизаций.НайтиПоКоду(PersonID); Если ЗначениеЗаполнено(ИскСотрудник) Тогда Возврат ИскСотрудник; КонецЕсли; Попытка PersonIDЧислом = Число(PersonID) Исключение КонецПопытки; КодСНулями = Формат(PersonIDЧислом, "ЧЦ=" + Метаданные.Справочники.СотрудникиОрганизаций.ДлинаКода + "; ЧДЦ=; ЧГ=;ЧВН="); ИскСотрудник = Справочники.СотрудникиОрганизаций.НайтиПоКоду(КодСНулями); Возврат ИскСотрудник; КонецФункции |
|||
19
Shurjk2
01.04.15
✎
17:02
|
(18) Что за выверты с латинскими буковками в названиях переменных?
|
|||
20
mehfk
01.04.15
✎
17:06
|
(18) ты б Исключение хоть "возврат неопределено" вставил бы...
|
|||
21
D_E_S_131
01.04.15
✎
17:10
|
(20) Тогда код не дойдет до поиску по строковому коду.
|
|||
22
D_E_S_131
01.04.15
✎
17:12
|
(18) Ты же говорил про кучку кодов? Сделай ТЗ с числовым и строковым (приведенным к длине с нулями) кодом, а потом передай ТЗ в запрос, где двумя подзапросами ищи нужных контрагентов. Это будет гораздо быстрее чем делать 2 поиска 100500 раз. Да еще длину кода через метаданные каждый раз получать...
|
|||
23
Dmitry1c
01.04.15
✎
17:13
|
(-_\\
|
|||
24
Shurjk2
01.04.15
✎
17:18
|
(21) Зачем тогда вообще это исключение там?
|
|||
25
Ненавижу 1С
гуру
01.04.15
✎
17:20
|
это реально тот самый Гений 1С или все таки верно (14)?
|
|||
26
Ненавижу 1С
гуру
01.04.15
✎
17:21
|
я думаю по этой проблеме стоит написать большую статью в ЖЖ )))
|
|||
27
DirecTwiX
01.04.15
✎
17:21
|
(3) ПОДОБНО "%1"?
|
|||
28
D_E_S_131
01.04.15
✎
17:22
|
(27) см (3)
|
|||
29
D_E_S_131
01.04.15
✎
17:24
|
(24) Что бы код не "валился" на получении числа из какого-то %овна.
|
|||
30
Shurjk2
01.04.15
✎
17:24
|
(29) Зачем число получать если в любом случае строка нормально обработается?
|
|||
31
Shurjk2
01.04.15
✎
17:25
|
+(30) А если нет то в любом случае вывалится.
|
|||
32
D_E_S_131
01.04.15
✎
17:26
|
А вдруг у него там кое-где этот АйДи обозначен как 1, а где-то как "один". Но в приоритете искать с начала по числу, а уж если ID не число или с таким числом нет элемента, то уже только потом по строке. Бред конечно, но это же Гений 1С.
|
|||
33
Shurjk2
01.04.15
✎
17:28
|
(32) То есть в любом случае хоть числои хоть строкой это говоно попадет в формат, нахрена тогда это исключение?
|
|||
34
mehfk
01.04.15
✎
17:35
|
(33) В Формат() будет ошибка, если только PersonIDЧислом не определена где-то еще.
|
|||
35
Shurjk2
01.04.15
✎
17:37
|
(34) У меня основной вопрос зачем там это исключение.
|
|||
36
D_E_S_131
01.04.15
✎
17:51
|
(35) см (29)
|
|||
37
D_E_S_131
01.04.15
✎
17:51
|
Может там поле составного типа, по которому поиск производится.
|
|||
38
Shurjk2
01.04.15
✎
17:53
|
(36) А зачем вообще овно в число пытаться перевести если в любом случае это овно хоть в виде числа хоть в виде говна попадет в формат.
|
|||
39
D_E_S_131
01.04.15
✎
18:02
|
(38) Потому что:
Формат(1, "ЧЦ=6; ЧВН=; ЧГ=0") = "000001" но Формат("001", "ЧЦ=6; ЧВН=; ЧГ=0") = "001" т.е. не одно и тоже |
|||
40
Гений 1С
гуру
01.04.15
✎
18:08
|
(39) именно
|
|||
41
Гений 1С
гуру
01.04.15
✎
18:08
|
вообще в PersonID хранится число в виде строки, но мало ли что туда на вход попадет, не гарантируется, может "" попасть, например.
|
|||
42
D_E_S_131
01.04.15
✎
18:11
|
(41) Это говорит о входном (при внесении данных в PersonID) контроле или выходном (перед поиском) контроле ключевых значений.
|
|||
43
Господин ПЖ
01.04.15
✎
18:14
|
>или строить индекс всего справочника.
чего делать? |
|||
44
Рэйв
01.04.15
✎
18:16
|
(0)Ты из какойто фигни делаешь муху:-))
|
|||
45
Рэйв
01.04.15
✎
18:16
|
до слона тут далеко...:=)
|
|||
46
D_E_S_131
01.04.15
✎
18:19
|
(44) И ведь 40 лет уже мужику...
|
|||
47
Рэйв
01.04.15
✎
18:20
|
(46)Причем наша современная медицина обещает до 80..
|
|||
48
Рэйв
01.04.15
✎
18:21
|
(46)Я тут прочитал, что есть другие планеты...
|
|||
49
Рэйв
01.04.15
✎
18:22
|
может нам туда?
|
|||
50
Рэйв
01.04.15
✎
18:23
|
от гения
|
|||
51
Рэйв
01.04.15
✎
18:27
|
:)
|
|||
52
Рэйв
01.04.15
✎
18:28
|
Эх вы.
НЕ то что шуток. |
|||
53
Рэйв
01.04.15
✎
18:29
|
С вами даже прикалваться неудобно
|
|||
54
Рэйв
01.04.15
✎
18:29
|
вдруг не поймут
|
|||
55
Рэйв
01.04.15
✎
18:29
|
Ушел
|
|||
56
Господин ПЖ
01.04.15
✎
18:46
|
(3) а если так?
Поле1 подобно "%1" и Поле1 не подобно "%1[0-9]%" если отмороженные кадровики не пользуют номера типа 00001абвгд53451 |
|||
57
D_E_S_131
01.04.15
✎
18:48
|
(56) Как обычно все сводится либо к сложному алгоритму, либо к организации хранения данных.
|
|||
58
Господин ПЖ
01.04.15
✎
18:50
|
(57) ну да...
|
|||
59
spectre1978
01.04.15
✎
19:15
|
(47) я извиняюсь - лет? Или еще чего?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |