Имя: Пароль:
1C
 
Проверить на актуальность
0 myr4ik07
 
05.09.14
21:16
Привет. Помогите, а лучше объясните будьте добры. Есть документ в котором вводятся номера заявок. В качестве сохранения данных номер заявки регистрирует Регистр сведений в качестве Измерения.
Номер заявки — это Справочник.
Хочу, чтобы в Документе можно было выбрать только тот Номер заявки, что еще не использовался.
Так как сохранение Номеров заявок у меня в регистре то в документе создал запрос
Массив = Новый Массив;
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    НомерЗаказа.НомераЗаявок
    |ИЗ
    |    РегистрСведений.НомерЗаказа КАК НомерЗаказа";
    Запрос.УстановитьПараметр("НомераЗаявок", Объект.НомерЗаявки);
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Массив.Добавить(ВыборкаДетальныеЗаписи);
    КонецЦикла;
Решил я с запроса брать все номера и сложить в массив, а дальше я здесь потому как не могу додумать дальнейшие действия…
Я на правильном пути?
1 Naumov
 
05.09.14
21:35
Это на каком языке написано?
2 mehfk
 
05.09.14
21:36
Нет.

Идея - бред.
Код - мусор.

Автору:
Мусор. Метла. Мести.
Навоз. Вилы. Кидать.
...
...

Когда надоест
1С. ЖКК. Читать.
Код. Типовые конфигурации. Вникать.
3 myr4ik07
 
05.09.14
21:51
так изложи свою идею(2)
4 myr4ik07
 
05.09.14
21:52
блесни стариной коль не нравится (1)
5 КонецЦикла
 
05.09.14
22:01
Выбирать максимальный номер (тогда возможны пропуски)
Запоминать дополнительно залоченные, но так и не записанные номера
Но нафига это надо, вот вопрос... 1с и так в кишках это делает
6 КонецЦикла
 
05.09.14
22:01
В самом простом случае вообще никакого регистра не нужно...
7 Zhuravlik
 
05.09.14
22:04
(0) "Номер заявки — это Справочник. " - зачем?
8 mehfk
 
05.09.14
22:06
(3) Моя идея в том, что бери метлу и или вилы и до прозрения.
9 myr4ik07
 
05.09.14
22:06
решил сохранять все номера в справочнике, в форме справочника использую встроенный генератор случайных чисел, а зачем? Не знаю, что порекомендуете вы? (7)
10 КонецЦикла
 
05.09.14
22:08
(9) >>а зачем? Не знаю

-Патрик, что ты здесь делаешь?
-Копаю!
-Зачем ты надел кепку?
-Не знаю!

(цы)
11 myr4ik07
 
05.09.14
22:09
ну как в "кишках" если я выбираю такой же номер заявки и провожу документ то это без проблем делается и для разных документов присвоил один и тот же номер заявки, что не допустимо в моем случаи.
Кстати, вы наверное имеете ввиду Номер документа, что мол не запишется два одинаковых номера то это да, но я о другом  (6)
12 myr4ik07
 
05.09.14
22:09
оставь при себе свои мнения (8)
13 myr4ik07
 
05.09.14
22:10
и?(10)
14 myr4ik07
 
05.09.14
22:15
Не хочу глядеть на номер документа, а хочу свой создавать и проверять на уникальность
15 mehfk
 
05.09.14
22:16
Давай начнем с запроса. Зачем-то же ты придумал этот параметр?

Запрос.Текст =
    "ВЫБРАТЬ
    |    НомерЗаказа.НомераЗаявок
    |ИЗ
    |    РегистрСведений.НомерЗаказа КАК НомерЗаказа";
    Запрос.УстановитьПараметр("НомераЗаявок", Объект.НомерЗаявки);

Где у тебя в запросе используется параметр "НомераЗаявок" ?
16 Zhuravlik
 
05.09.14
22:17
(9)"встроенный генератор случайных чисел" - номера не счетчиком генерятся? Вот это зря.
Не понял контекста задачи, услышал вот это: в табличной части документа вбиваются номера, хранящиеся в программе (зачем-то) в виде справочника, и одновременно в регистре сведений. Генерятся они случайным образом, поэтому возможны задвоения.
Необходимо оформить подбор в новую строку табличной части таким образом, чтобы использовать только новые (не заюзанные ранее в других документах, или текущем) номера.
Я все правильно понял?
17 myr4ik07
 
05.09.14
22:27
что имеется ввиду "номера не счетчиком генеряться!? - я использую ГенераторСлучайныхЧисел

у меня нет табличной части, все данные вводятся в реквизиты документа, ТЧ нет.
Да, номера генерирует форма справочника при нажатии на кнопку
да у меня созданный номера хранятся и в справочнике и регистре :)
ГенераторСлучайныхЧисел я не в курсе может ли в данном случаи повторяться числа
Да при выборе со справочника со списком номеров документ должен проверять указан ли где то уже этот выбранный номер  (16)
18 Zhuravlik
 
05.09.14
22:28
(0) Короче, если номер заявки - это номер документа, то лучше отказаться от самостоятельной генерации, поставить галку уникальности в конфигураторе, и жить с этим. От справочника отказаться, если хочется умный подбор - решать с помощью регистра сведений с измерениями типа "Заявка" (номер или документ, лучше документ) и "Занята" (булево). При проведении документа, в который идет подбор делать записи в этот регистр, анализировать их же при подборе, используя "Объединить" с результатом запроса по текущей табл. части.
19 myr4ik07
 
05.09.14
22:28
тут мне не чего ответить, почему то без установки параметра не работало так как надо(15)
20 Zhuravlik
 
05.09.14
22:30
(17) "что имеется ввиду "номера не счетчиком генеряться!?" - имеется в виду последовательно, прибавляя 1 создавать новый номер. Вот так: 1,2,3,4,5...
"я использую ГенераторСлучайныхЧисел"  - очень зря.
"ГенераторСлучайныхЧисел я не в курсе может ли в данном случаи повторяться числа " - может.
21 myr4ik07
 
05.09.14
22:30
так что то я до меня дошло, что наверное точно проще использовать Номер = НомерДокумента(18)
22 myr4ik07
 
05.09.14
22:31
хм, буду знать, чего и не думал что может повторяться (20)
23 myr4ik07
 
05.09.14
22:32
спасибо за советы, сяду переделывать ... (20)
24 КонецЦикла
 
05.09.14
23:03
(22) Даже если бы он не повторялся, было бы проще (21)
Задача туманна, это навскидку...