|
Запрос. Как отобрать в выборке по текущей строке? | ☑ | ||
---|---|---|---|---|
0
Boudybuilder
23.03.12
✎
04:03
|
Доброй ночки!
Ситуация такова. Есть табличное поле. В одну колонку выгружаю строки с прайса номенклатуру контрагента , рядом колонка соответствующая моей номенклатуре пока пустая. Создал запрос и вытягиваю из регистра НоменклатураКонтрагентов , но она конечно добавляется хаотично , так как я чтото недогоню как мне выборку отфильтровать по текущей строке. Чтоб всталяло значения которые соответсвуют значениям в регистре , если таковы имеются. Что тут дописать? : Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | НоменклатураКонтрагентов.Контрагент, | НоменклатураКонтрагентов.Номенклатура, | НоменклатураКонтрагентов.ХарактеристикаНоменклатуры, | НоменклатураКонтрагентов.КодНоменклатурыКонтрагента, | НоменклатураКонтрагентов.АртикулНоменклатурыКонтрагента, | НоменклатураКонтрагентов.НаименованиеНоменклатурыКонтрагента, | НоменклатураКонтрагентов.ШтрихКодНоменклатурыКонтрагента, | НоменклатураКонтрагентов.ЕдиницаНоменклатурыКонтрагента |ИЗ | РегистрСведений.НоменклатураКонтрагентов КАК НоменклатураКонтрагентов |ГДЕ | НоменклатураКонтрагентов.Контрагент = &Контрагент | И НоменклатураКонтрагентов.НаименованиеНоменклатурыКонтрагента ПОДОБНО &НаименованиеНоменклатурыКонтрагента"; Запрос.УстановитьПараметр("Контрагент",Контрагент); РезЗап = Запрос.Выполнить(); Если РезЗап.Пустой() Тогда Сообщить("Нет данных для заполнения!",СтатусСообщения.Информация); Возврат; Иначе Выб = РезЗап.Выбрать(); Пока Выб.Следующий() Цикл НС = СписокНоменклатуры.Добавить(); НС.Номенклатура = Выб.Номенклатура; НС.ХарактеристикаНоменклатуры = Выб.ХарактеристикаНоменклатуры; КонецЦикла; КонецЕсли; |
|||
1
golden-pack
23.03.12
✎
04:09
|
При выводе строки - Оформление строки
|
|||
2
Boudybuilder
23.03.12
✎
04:13
|
?
|
|||
3
Boudybuilder
23.03.12
✎
04:14
|
Это как?
|
|||
4
Boudybuilder
23.03.12
✎
04:14
|
НС = СписокНоменклатуры.Добавить();
Это наверное неправильно будет , так как поле уже заполнено , и добавлять нечего , надо только повставлять в пустые ячейки . |
|||
5
golden-pack
23.03.12
✎
04:27
|
Табличное поле - процедура ПриВыводеСтроки()
|
|||
6
Boudybuilder
23.03.12
✎
04:30
|
Для Каждого ТС Из СписокНоменклатуры Цикл
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | НоменклатураКонтрагентов.Контрагент, | НоменклатураКонтрагентов.Номенклатура, | НоменклатураКонтрагентов.ХарактеристикаНоменклатуры, | НоменклатураКонтрагентов.КодНоменклатурыКонтрагента, | НоменклатураКонтрагентов.АртикулНоменклатурыКонтрагента, | НоменклатураКонтрагентов.НаименованиеНоменклатурыКонтрагента, | НоменклатураКонтрагентов.ШтрихКодНоменклатурыКонтрагента, | НоменклатураКонтрагентов.ЕдиницаНоменклатурыКонтрагента |ИЗ | РегистрСведений.НоменклатураКонтрагентов КАК НоменклатураКонтрагентов |ГДЕ | НоменклатураКонтрагентов.Контрагент = &Контрагент | И НоменклатураКонтрагентов.НаименованиеНоменклатурыКонтрагента ПОДОБНО &НаименованиеНоменклатурыКонтрагента"; Запрос.УстановитьПараметр("Контрагент",Контрагент); Запрос.УстановитьПараметр("НаименованиеНоменклатурыКонтрагента" , ТС.НаименованиеНоменклатурыКонтрагента); РезЗап = Запрос.Выполнить(); Если РезЗап.Пустой() Тогда Сообщить("Нет данных для заполнения!",СтатусСообщения.Информация); Возврат; Иначе Выб = РезЗап.Выбрать(); Пока Выб.Следующий() Цикл ТС.Номенклатура = Выб.Номенклатура; ТС.ХарактеристикаНоменклатуры = Выб.ХарактеристикаНоменклатуры; КонецЦикла; КонецЕсли; КонецЦикла; Сделал так... Но за запрос в цыкле меня когдато тут повесить хотели. Как то же самое сделать , но грамотнее? |
|||
7
FIXXXL
23.03.12
✎
05:34
|
(0) вот ты путало...
|
|||
8
badboychik
23.03.12
✎
06:29
|
непонятно че ты хочешь.
Ты хочешь выделять номенклатуру мышой в одном списке и чтоб для нее заполнялся другой список? |
|||
9
Boudybuilder
23.03.12
✎
10:04
|
Нет.
Я в одну таблицу вытягиваю прайс. Потом устанавливаю где какие колонки (КодПоставщика , АртикулПоставщика . НоменклатураПоставщика) , после єтого нажимаю "ПЕРЕНЕСТИ" и вся номенклатурапоставщика переносится в другую таблицу. Там надо выставлять соответсвия уже номенклатуре в 1С. Тоесть заполняются 3 колонки , а две пустые остаются ( Номенклатура ,ХарактеристикаНоменклатуры) , которые я ручками уже выставляю. Но перед тем я сделал это запрос , чтоб мне вернуло все уже заполненное , что есть в регистре НоменклатураПоставщика. И если по заполненным соответствия правильны , то я эти строки удаляю , и продолжаю устанавливать пустые. Во как ;) |
|||
10
Boudybuilder
23.03.12
✎
11:32
|
Как мне програмно в Табличном Поле удалить каждую строку где нет заполненого поля Номенклатура ?
|
|||
11
Boudybuilder
23.03.12
✎
11:33
|
Для Каждого ТС Из СписокНоменклатуры Цикл
Если ТС.Номенклатура.Пустая() Тогда СписокНоменклатуры.Удалить(ТС); КонецЕсли; КонецЦикла; Написал это но оно не то... :( |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |