|
Прошу помощи с запросом | ☑ | ||
---|---|---|---|---|
0
qubasesx
17.07.13
✎
10:07
|
Для Каждого ТекСтрокаКоробки Из КоробкиПоступление Цикл
// проверка поступал ли уже ПП с данным рег.номером Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | НоменклатураНаСкладеПоРегНомерам.РегистрационныйНомер |ИЗ | РегистрНакопления.НоменклатураНаСкладеПоРегНомерам КАК НоменклатураНаСкладеПоРегНомерам |ГДЕ | НоменклатураНаСкладеПоРегНомерам.РегистрационныйНомер = &РегНомер"; Запрос.УстановитьПараметр("РегНомер", ТекСтрокаКоробки.РегНомер.Наименование); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Если Выборка.Количество() > 0 Тогда Отказ = Истина; Сообщить("Поступление коробки с рег. номером " + ТекСтрокаКоробки.РегНомер.Наименование + " уже сформировано документом " + Выборка.Регистратор + " !"); Прервать; КонецЕсли; |
|||
1
Mitriy
17.07.13
✎
10:09
|
жуть...
|
|||
2
zak555
17.07.13
✎
10:09
|
зачем в цикле запрос ?
|
|||
3
Maxus43
17.07.13
✎
10:09
|
и? в чем вопрос?
|
|||
4
qubasesx
17.07.13
✎
10:10
|
При добавлении записи в регистр накопления делаю проверку имеется ли в нём уже такая запись.
Не пойму в чём дело, в переменную Выборка не попадает ни одного значения, хотя искомые записи в регистре накопления имеются. Где я ошибся? Запрос вроде элементарнейший... |
|||
5
Maxus43
17.07.13
✎
10:10
|
Если Выборка.Количество() > 0 Тогда
это шикарно) |
|||
6
Maxus43
17.07.13
✎
10:11
|
Если Результат.Пустой() Тогда //не было
|
|||
7
qubasesx
17.07.13
✎
10:11
|
(2) запрос для каждой записи списка
|
|||
8
Maxus43
17.07.13
✎
10:11
|
ну и РегистрационныйНомер я боюсь что не РегНомер.Наименование
|
|||
9
kosts
17.07.13
✎
10:12
|
При записи в регистры накопления обычно не проверяют есть ли там похожие записи...
|
|||
10
Darky
17.07.13
✎
10:12
|
НоменклатураНаСкладеПоРегНомерам.РегистрационныйНомер - это точно строка?
|
|||
11
qubasesx
17.07.13
✎
10:14
|
(6) не работает
|
|||
12
Ненавижу 1С
гуру
17.07.13
✎
10:14
|
даже не знаю с чего начинать
пожалуй раскрой нам структуру регистра накопления: поля и их типы |
|||
13
qubasesx
17.07.13
✎
10:14
|
(10) это ссылка на спраочник, где живут рег.номера
|
|||
14
Maxus43
17.07.13
✎
10:14
|
(11) и не должно. Чтобы заработало надо читать всё, и немного думать
|
|||
15
Maxus43
17.07.13
✎
10:15
|
(13) а зачем ты в запрос наименование передаешь?
|
|||
16
qubasesx
17.07.13
✎
10:15
|
(14) согласен, просто нужно срочно, поэтому и прошу помощи
|
|||
17
sttt
17.07.13
✎
10:17
|
"запрос для каждой записи списка" тогда зачем тебе цикл, в запросе религия не позволяет?
НоменклатураНаСкладеПоРегНомерам.РегистрационныйНомер в (&РегНомер"); может тебе запрос ненужен? |
|||
18
sttt
17.07.13
✎
10:18
|
+(17) ой! условие параметре вирт. таблицы))
|
|||
19
qubasesx
17.07.13
✎
10:18
|
(12) Есть рег.накопления НоменклатураНаСкладеПоРегНомерам, в нём реквизит РегистрационныйНомер, куда вводятся записи. Нужно при добавлении очередной записи проверить может она уже имеется в регистре.
|
|||
20
Maxus43
17.07.13
✎
10:20
|
Запрос.УстановитьПараметр("РегНомер", ТекСтрокаКоробки.РегНомер);
за тебя код писать чтоли? сказали кучу раз уже |
|||
21
qubasesx
17.07.13
✎
10:20
|
(17) да нет, цикл движется по записям, которые только будут добавляться, и для каждой из них выполняется запрос, который и узнаёт имеется ли уже такая запись в регистре. Или я не прав?
|
|||
22
Бертыш
17.07.13
✎
10:21
|
(19) Прям регистр сведений эмулируешь
|
|||
23
qubasesx
17.07.13
✎
10:22
|
(20) спасибо, помогло!
|
|||
24
qubasesx
17.07.13
✎
10:22
|
тема закрыта
|
|||
25
Maxus43
17.07.13
✎
10:22
|
(21) не прав методологически, запросы в цикле не есть хорошо
|
|||
26
Ненавижу 1С
гуру
17.07.13
✎
10:24
|
(25) да там чувствую еще та структура регистра
|
|||
27
qubasesx
17.07.13
✎
10:25
|
(26) это точно
|
|||
28
qubasesx
17.07.13
✎
10:26
|
(25) я говорил начальству, что можно сделать без регистров и лучше, нет говорят, делай с регистром и точка
|
|||
29
Wobland
17.07.13
✎
10:27
|
(28) начальство - оно такое. наверное, ещё и циклы в запросе делать не умеет
|
|||
30
qubasesx
17.07.13
✎
10:28
|
(29) куда уж там, хорошо хоть знает что такое запрос
|
|||
31
Maxus43
17.07.13
✎
10:28
|
(28) архитектора вам надо туда
|
|||
32
Ненавижу 1С
гуру
17.07.13
✎
10:30
|
(30) кто сказал начальству про запросы?
|
|||
33
qubasesx
17.07.13
✎
10:30
|
а чем плохо условие Если Выборка.Количество() > 0 Тогда ?
|
|||
34
qubasesx
17.07.13
✎
10:31
|
(25) цикл в запросе лучше?
|
|||
35
Ненавижу 1С
гуру
17.07.13
✎
10:32
|
(34) это как?
знаю про циклы по результатам запроса - это лучше |
|||
36
Maxus43
17.07.13
✎
10:32
|
(33) лишнее действие Результат.Выбрать();
(34) циклов в запросе 1с не поддерживает |
|||
37
qubasesx
17.07.13
✎
10:44
|
(36) Результат.Выбрать(); там в сообщение подставляется реквизит
|
|||
38
qubasesx
17.07.13
✎
10:45
|
(35) ну вот, общаясь с вами я уже всё про циклы узнал :)
|
|||
39
Maxus43
17.07.13
✎
11:03
|
(37) не подставляется ничего, подставится только Выборка.Следующий() когда
|
|||
40
qubasesx
18.07.13
✎
12:09
|
(39) Пока Выборка.Следующий() Цикл
перебирает все строки, которые выбрались по результатам запроса? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |