|
Перебрать строки в документе | ☑ | ||
---|---|---|---|---|
0
Artyom20
20.10.14
✎
13:19
|
Добрый день, есть задача - выбрать документы реализации за определенный период, в которых только одна строка (тч.товары) и записать в этот товар значение из документа.
Начал писать запрос и застопорился, помогите пожалуйста - как написать такой чудокод. Запрос = Новый запрос; Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслуг.Ссылка, | РеализацияТоваровУслуг.Дата, | РеализацияТоваровУслуг.Товары.( | Ссылка, | НомерСтроки, | Количество, | Номенклатура, | ИбэйАйди | ) |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг" Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); |
|||
1
Maxus43
20.10.14
✎
13:20
|
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары |
|||
2
КтоКакБог
20.10.14
✎
13:20
|
(0) если одноразовая операция сделай простой выборкой
|
|||
3
Ник второй
20.10.14
✎
13:21
|
(2) Дурачек?
|
|||
4
Maxus43
20.10.14
✎
13:21
|
>>и записать в этот товар значение из документа
http://fishki.net/upload/users/412503/201406/24/17976ebd64bd6919a516e4fc9eac89f6.jpg |
|||
5
Maxus43
20.10.14
✎
13:22
|
для подсчета кол-ва строк в ТЧ используй группировку по ссылке и ИМЕЮЩИЕ на поле ТЧ
|
|||
6
butterbean
20.10.14
✎
13:24
|
ВЫБРАТЬ
РеализацияТоваровУслуг.Ссылка ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ЛЕВОЕ СОЕДИНЕНИЕ ( ВЫБРАТЬ Ссылка ИЗ РеализацияТоваровУслуг.Товары ГДЕ НомерСтроки = 2) КАК ВложЗапрос По ВложЗапрос.Ссылка = РеализацияТоваровУслуг.Ссылка ГДЕ ВложЗапрос.Ссылка ЕСТЬ NULL |
|||
7
Ник второй
20.10.14
✎
13:26
|
(6) Естественно вложенный запрос следовало во временную таблицу запихнуть.
|
|||
8
Artyom20
20.10.14
✎
13:28
|
(4) у меня в документе есть реквизит "Вес", в который записывается значение из весов, когда собирается товар) - я хочу значение этого реквизита запихнуть в номенклатуру.
|
|||
9
Maxus43
20.10.14
✎
13:28
|
(7) нафига бесполезная ВТ с 100500 документов?
я б ИМЕЮЩИЕ использовал, без таких извращений |
|||
10
Maxus43
20.10.14
✎
13:29
|
(8) для каждой номенклатуры вес всегда один? и в номенклатуре есть такой реквизит?
|
|||
11
Artyom20
20.10.14
✎
13:30
|
блин, я чето совсем не понимаю этих левых соединеный и временных таблиц, я так понимаю, что этот запрос (6) - выбирает доки где 1 строка в тч.товары ?
|
|||
12
Ник второй
20.10.14
✎
13:30
|
(9) Что бы тормозило меньше, учи мат часть.
|
|||
13
ObjectRelation Model
20.10.14
✎
13:32
|
ВЫБРАТЬ
РеализацияТоваровУслугТовары.Ссылка ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары СГРУППИРОВАТЬ ПО РеализацияТоваровУслугТовары.Ссылка ИМЕЮЩИЕ КОЛИЧЕСТВО(*)=1 |
|||
14
Artyom20
20.10.14
✎
13:33
|
(10) я добавил реквизит в номенклатуру, и да;) - вес будет один. если что я могу просто этой обработкой его перезаписывать.
|
|||
15
Maxus43
20.10.14
✎
13:35
|
(12) именно, учи матчасть.
Затраты на создание и индесацию (если есть) могут быть больше, чем выполнение вложенного запроса. Я нифига не сторонник вложенных, риск неправильного плана запроса в скуле создают они, но огульно лупить всё во временные таблицы не есть гуд |
|||
16
Ник второй
20.10.14
✎
13:35
|
(15) В данном случае есть гуд, так как предсказуемость важна.
|
|||
17
Ник второй
20.10.14
✎
13:36
|
(14) Влохое решение в документ писать данные из элемента справочника при каждом изменении этого справочника.
Для чего тебе в РТиУ вес? |
|||
18
Maxus43
20.10.14
✎
13:37
|
(16) в данном случае - ни вложенный, ни ВТ не нужны впринципе, см (13)
|
|||
19
Artyom20
20.10.14
✎
13:38
|
(17) фирма работает с почтовыми службами, "общий вес документа" - то есть вес заказа отправляется курьерам и они нам высылают сумму и т.д., вот как то так )
|
|||
20
Artyom20
20.10.14
✎
13:42
|
(18)
спасибо, помогите пожалуйста сделать запись из дока в товар: Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл КАК ОТКРЫТЬ ТОВАР И ЗАПИСАТЬ В НЕГО ЗНАЧЕНИЕ? КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |