|
Найти последний код справочника | ☑ | ||
---|---|---|---|---|
0
camojiet
19.11.12
✎
10:16
|
Столкнулся с простой задачей, ответ на которую в большинстве случаев - отсортируй по убыванию и выбери первый. Так же нельзя код это же СТРОКА!
У меня последний элемент 423, а такой метод выдает 99, что не удивительно. А преобразовать строку в число в запросе не получается. Выгружать весь справочник, переводить все коды в число и отсортировать мне не позволяют руки. Метод УстановитьНовыйКод тоже выдает 99. Пока самое адекватное к чему я пришёл - отсортировать по ссылке по убыванию и выбрать первое. Однако, чья нибудь кривая выгрузка может пробить номер -1 к примеру, и в этом случае облом. Как быть? |
|||
1
Maxus43
19.11.12
✎
10:18
|
имхо никак. сделай чтоб руки позволяли быдлокодить
|
|||
2
Reset
19.11.12
✎
10:20
|
Если сравнивать "423" и "99 " то последний "99 " и не гони на платформу :)
|
|||
3
Тьма
19.11.12
✎
10:20
|
Перенумеровать справочник по формату. В случае строкового кода должны быть лидирующие нули. Тогда и при интерактивном вводе будет давать правильный код, и при УстановитьНовыйКод и (я подозреваю) задача эта отпадет за ненужностью.
|
|||
4
НЕА123
19.11.12
✎
10:21
|
(0)
тип поменять на число ? |
|||
5
Reset
19.11.12
✎
10:21
|
(3) +1
"99 " --> "099" |
|||
6
MaxisUssr
19.11.12
✎
10:21
|
(0)
Единственный вариант - создать РС + подписку на событие "При записи справочника" - в РС будет прописываться числовой код. Но если кто-то руками изменит код - то будет задвоение "Цифровых кодов" - нужно значит запретить вводить в код справочника символы, отличные от цифр... |
|||
7
Alex S D
19.11.12
✎
10:22
|
(0) а зачем тебе это вообще?
|
|||
8
MaxisUssr
19.11.12
✎
10:22
|
(6)
Это вариант для типовых - где нельзя ломать |
|||
9
vmv
19.11.12
✎
10:24
|
(0) в качестве бредовой идеи
допустим у тебя нумерация размерности 9, создаешь один раз справочник соответсвествий, где будут поля КодЧислом, КодСтрокой. По фик, что лишняя таблица, как и производственный календарь в типовых для дат - эта таблица может понадобиться в 100500 ситуациях пока нет предбразования примитивов в запросах. Этот справочник заполнить обработкой один раз, если размерность кода меньше, допустим 5, то можно просто создать Вт Ну далее все просто - эту ВТ, полученную вчистую или из справочника соединяешь по По полю КодСтрокой и получаешь максимум по КодЧислом все остальное от лукавого |
|||
10
НЕА123
19.11.12
✎
10:25
|
||||
11
vmv
19.11.12
✎
10:25
|
(6) именно так я и делаю часто, а уникальность числового тоже можно провеять и блокировать запись
|
|||
12
rs_trade
19.11.12
✎
10:26
|
Получи внутренний ИД и по нему отсортируй
|
|||
13
MaxisUssr
19.11.12
✎
10:28
|
(0)
А в чем смысл задачи? |
|||
14
aka AMIGO
19.11.12
✎
10:29
|
после применения функции Новый() в справочнике кмк известен Код добавляемого элемента..
вычесть единицу - это и будет предыдущий ИМХО :) |
|||
15
vmv
19.11.12
✎
10:32
|
// получаем тз для рамерности N
Тз = Новый ТаблицаЗначений; Тз.Колонки.Добавить("КодЧислом"); Тз.Колонки.Добавить("КодСтрокой"); Для Ч = 1 По N Цикл НоваяСтрока = Тз.Добавить(); НоваяСтрока.КодЧислом = Ч; НоваяСтрока.КодСтрокой= Формат(Ч, "ЧГ=;"); КонецЦикла Пихаем эту Тз через параметр в запрос, загоняем там в Вт и соединием с таблицей анализа кодов вроде и так покатит |
|||
16
НЕА123
19.11.12
✎
10:33
|
выбор когда код ПОДОБНО "_" ТОГДА "0000"
когда код ПОДОБНО "__" ТОГДА "000" когда код ПОДОБНО "___" ТОГДА "00" когда код ПОДОБНО "____" ТОГДА "0" Иначе "" Конец + код как код5 |
|||
17
eklmn
гуру
19.11.12
✎
10:35
|
ппц сколько быдлокодеров в 1 месте
|
|||
18
MaxisUssr
19.11.12
✎
10:35
|
(16)
А если код длиной > N, где N - ограничение на количество Case? |
|||
19
camojiet
19.11.12
✎
10:35
|
16 - мне нравится - а что за "___" ? Надо править коды типа _99 или можно определить длинну строки?
|
|||
20
camojiet
19.11.12
✎
10:36
|
(18) это лучше чем 10 и с ТЗ
|
|||
21
vmv
19.11.12
✎
10:36
|
(17) утро понедельника, животные вышли на водопой, ты король джунглей - тигор? рыкни шоли, чтобы все лани уписались
|
|||
22
НЕА123
19.11.12
✎
10:37
|
(18)
программно формировать текст запроса. |
|||
23
MaxisUssr
19.11.12
✎
10:38
|
(22)
Не вариант - это что, все запросы, использующие код справочника, например, ФизЛица, программно формировать? |
|||
24
НЕА123
19.11.12
✎
10:38
|
(19)
"_" - произвольный символ. подстраховка на то, что может быть что угодно. |
|||
25
vmv
19.11.12
✎
10:39
|
давайте не в падать в маразмы, любая конфа при записи строковго кода должна его систематизировать при записи элемента не важно как его пишут, но в методах объекта перед(при) записи.
|
|||
26
MaxisUssr
19.11.12
✎
10:40
|
все-таки, автор, ответьте на (7) и (13)
|
|||
27
rs_trade
19.11.12
✎
10:41
|
(12) пля. я че то подумал что речь о 7.7
|
|||
28
eklmn
гуру
19.11.12
✎
10:41
|
(0) Автор, ответь на 1 вопрос, у тебя код справочника где то используется? Зачем такой гемор? Если нет, то перенумерация спасет ну и потом запросец на 10 строк с сортировкой
|
|||
29
camojiet
19.11.12
✎
10:42
|
Задача создать элемент справочника не нарушая нумерацию. Конфу менять нельзя, желательно коды элементов тоже не трогать.
|
|||
30
Reset
19.11.12
✎
10:43
|
(29) УстановитьНовыйКод не рассматривается? Или кто то уже создал "999999" и трогать нельзя?
|
|||
31
eklmn
гуру
19.11.12
✎
10:44
|
(30) :)
|
|||
32
НЕА123
19.11.12
✎
10:45
|
(30)
ммм... тут порнография. |
|||
33
camojiet
19.11.12
✎
10:45
|
(29) - ответ - (0)
(28) - без правильного кода не записывается элемент - мне его рандомом вычислять? |
|||
34
eklmn
гуру
19.11.12
✎
10:47
|
(33) что есть "правильного кода"?
|
|||
35
camojiet
19.11.12
✎
10:47
|
Такого, которого ещё нет.
|
|||
36
eklmn
гуру
19.11.12
✎
10:48
|
(35) ты красную таблетку принял? блин синюю надо было!
|
|||
37
Reset
19.11.12
✎
10:49
|
Голосую за перенумеровать.
Ибо прикручивать суперкривые схемы ради того, счтобы сохранить криво заведенные коды, считаю допустимым только если это коды запуска боеголовок, которые нельзя трогать, ибо взлетят. |
|||
38
eklmn
гуру
19.11.12
✎
10:49
|
(37)+100500
|
|||
39
camojiet
19.11.12
✎
10:50
|
Ребята, проблема решилась - поставщик предусмотрел дубль кода в числовом реквизите. А в целом я расстроился по поводу 1с.
(37) - в следующий раз сделаю голосование! Бугагашеньки) Всем спасибо! |
|||
40
eklmn
гуру
19.11.12
✎
10:50
|
(39) понятно, оба м..даки
|
|||
41
МихаилМ
19.11.12
✎
11:03
|
дополните лидирующими нулями и сортируйте
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |