Имя: Пароль:
1C
1С v8
Генерировать не уникальное значение реквизита
0 Aleksey_a_z
 
13.11.12
12:03
Есть реквизит у справочника допустим "КодПаллеты" числовой, есть ли метод возвращающий еще созданные в списке справочника значения, ну то есть генерировал уникальное в рамках данного типа и справочника значение?
1 Aleksey_a_z
 
13.11.12
12:05
или лучше цикл и проверка на НайтиПоРеквизиту? Но это долго получается.
2 Aleksey_a_z
 
13.11.12
12:06
(0) "возвращающий еще созданные " -> "возвращающий еще не созданные"
3 х86
 
13.11.12
12:07
>> еще созданные

как это?
4 Aleksey_a_z
 
13.11.12
12:11
(3) см (2)
5 х86
 
13.11.12
12:13
(4)ок, еще раз

>>возвращающий еще созданные

как это?
6 Aleksey_a_z
 
13.11.12
12:14
(5) возвращающий значение которое еще не присутствует в созданных элементах справочника.
7 Godofsin
 
13.11.12
12:16
(6)Генерируй случайное и проверяй его запросом
8 х86
 
13.11.12
12:17
(6)теперь понятно
(1)зачем цикл, список в запрос и анализировать рез. запроса
9 х86
 
13.11.12
12:18
(6)а проще использовать уин, теоретически он уникален
10 Aleksey_a_z
 
13.11.12
12:20
получается вот такая хр***нь


       СпрНоменклатура = Справочники.Номенклатура;
       Для I=1 По 9999 Цикл
           Если НЕ ЗначениеЗаполнено(СпрНоменклатура.НайтиПоРеквизиту("КодКоробки",Лев("0000",4-СтрДлина(Строка(I)))) Тогда
               КодКоробки = Лев("0000",4-СтрДлина(Строка(I));
               Прервать;
           КонецЕсли;
       КонецЦикла;
11 Aleksey_a_z
 
13.11.12
12:21
(7) а если при проверке скажет что есть такое, опять генерировать случайное? Дэк это долго можно генерировать.
(9) уид не катит тут строго тип строка длина 4
12 Aleksey_a_z
 
13.11.12
12:22
(8) ну да, лучше в запрос
13 H A D G E H O G s
 
13.11.12
20:19
Афтор дятелъ штоле?
Почему его никто не остановил?
14 H A D G E H O G s
 
13.11.12
20:23
ВЫБРАТЬ
   МАКСИМУМ(Номенклатура.КодКоробки) КАК КодКоробки
ИЗ
   Справочник.Номенклатура КАК Номенклатура

получим ПоследнийКодКоробки, переведем в число, добавим единичку, проверим, если не вылезли за 9999 - в строку и в реквизит.
15 H A D G E H O G s
 
13.11.12
20:24
Еще и вот этот мрачный стыд, говорит о том, что за 6 !!! минимум лет (именно столько автор на форуме), автор ниасилил функцию Формат()
16 H A D G E H O G s
 
13.11.12
20:24
Вот он, стыд
,Лев("0000",4-СтрДлина(Строка(I)))
17 m-serg74
 
13.11.12
20:29
(16) +100 да уж, без комментариев)
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс