|
Проверить на актуальность | ☑ | ||
---|---|---|---|---|
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)
Задача туманна, это навскидку... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |