Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Выборка данных из базы. 3 страниц V   1 2 3 >          
хакерок Подменю пользователя
сообщение 30.07.09, 11:32
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

Вот задачка

Есть документ

Заказ

Шапка: ОбщийЗаказ, Клиент,

Табличная часть : Код, Количество, Примечания

Пример

Шапка: Intercars_30 Kostik

1 4302-12-0294P 4
2 5201-01-0086P 4
3 5201-01-0086P 6
4 5201-01-0092P 4
5 5201-01-0669P 2
6 5206-15-0045P 1
7 5206-15-0098P 4
8 AD07.0126 1
9 AD11.0195 5
10 AD35.0205 1
11 AD35.0206 1
12 D1-398 2
13 D4-051 1
14 D4-609 1
15 0 204 004 320 2
16 CO07011906 6
17 CO07011906 1
18 CO07019089 5
19 CO12018001 20



Таких заказов у которых ОбщийЗаказ Intercars_30 может быть много



Вопрос как постороить запрос ("вытащить") из всех документов "Заказ" таблицу

Код Количество Клиент

у которых в шапке "Intercars_30"



говоря языком SQL

Select * from dbzakazy
where dbzakazy.obzakaz = "Intercars_30"


Пример

A70001D 4 Vadus
A70002D 4 Vadus
A70003D 3 Vadus
A70013D 2 Vadus
A70014D 2 Vadus
A70015D 2 Vadus
A70053D 6 Vadus
A70084D 4 Vadus
A80031D 4 Vadus
AGM008MT 4 Kostik
B10311PR 2 Himik
B11011UN 10 Himik
B11011UN 5 Himik
B11012UN 5 Himik
B11012UN 3 Himik
B11017UN 10 Himik
B11019UN 10 Himik
B11019UN 5 Himik
B12010UN 10 Himik
B12010UN 10 Himik

Vofka Подменю пользователя
сообщение 30.07.09, 11:34
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

А языком 1С вытаскивать низя? То, что Вы определили структуру документа - это хорошо. Но структуры таблицы БД врядли кто-то знает. Шаманы и ясновидящие все в отпуске.

хакерок Подменю пользователя
сообщение 30.07.09, 11:51
Сообщение #3

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

Цитата(Vofka @ 30.07.09, 13:34) *
А языком 1С вытаскивать низя? То, что Вы определили структуру документа - это хорошо. Но структуры таблицы БД врядли кто-то знает. Шаманы и ясновидящие все в отпуске.

А я думаю вполне реально выбрать такие данные.

хакерок Подменю пользователя
сообщение 30.07.09, 11:53
Сообщение #4

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

Цитата(Vofka @ 30.07.09, 13:34) *
А языком 1С вытаскивать низя? То, что Вы определили структуру документа - это хорошо. Но структуры таблицы БД врядли кто-то знает. Шаманы и ясновидящие все в отпуске.

А объект "Запрос" не поможет?

Vofka Подменю пользователя
сообщение 30.07.09, 12:10
Сообщение #5

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата
А объект "Запрос" не поможет?


Я ж и веду к тому, что объект "Запрос" поможет wink.gif
ЗЫ. Даже обычный перебор документов поможет, но запросом будет быстрей.

Valerka Подменю пользователя
сообщение 31.07.09, 8:16
Сообщение #6

Говорящий
***
Группа: Пользователи
Сообщений: 65
Из: Каменец-Подольский
Спасибо сказали: 4 раз
Рейтинг: 0

Запрос = СоздатьОбъект(""Запрос"");

ТекстЗапроса =
""//{{ЗАПРОС(Запрос1)
|Период с НачДата по КонДата;
|ОбрабатыватьДокументы Проведенные;
|Обрабатывать НеПомеченныеНаУдаление;
|ДокументОбработки = Документ.НашДокумент.ТекущийДокумент;
|Заказ = Документ.НашДокумент.ОбщийЗаказ;
|Условие (Заказ = Intercars_30 Kostik);
|Группировка ДокументОбработки;
|""//}}ЗАПРОС
;

Intercars_30 Kostik предварительно надо либо указать в отчете, либо спозиционироваться в справочнике
Дальше обработать документы обычной выборкой ВыбратьСтроки();
З.Ы. Это самый простой вариант, запросом, впринципе, можно выбрать все элементы, текст просто получится больше smile.gif


Signature
Разум, не имеющий цели, всегда блуждает в потёмках.

хакерок Подменю пользователя
сообщение 31.07.09, 10:16
Сообщение #7

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

Цитата(Valerka @ 31.07.09, 10:16) *
Запрос = СоздатьОбъект(""Запрос"");

ТекстЗапроса =
""//{{ЗАПРОС(Запрос1)
|Период с НачДата по КонДата;
|ОбрабатыватьДокументы Проведенные;
|Обрабатывать НеПомеченныеНаУдаление;
|ДокументОбработки = Документ.НашДокумент.ТекущийДокумент;
|Заказ = Документ.НашДокумент.ОбщийЗаказ;
|Условие (Заказ = Intercars_30 Kostik);
|Группировка ДокументОбработки;
|""//}}ЗАПРОС
;

Intercars_30 Kostik предварительно надо либо указать в отчете, либо спозиционироваться в справочнике
Дальше обработать документы обычной выборкой ВыбратьСтроки();
З.Ы. Это самый простой вариант, запросом, впринципе, можно выбрать все элементы, текст просто получится больше smile.gif



А если с таким условием выберет?

|Условие (Заказ = Intercars_30);

Тоесть нужно заказ по всем клиентам а не только по Kostik

Всеравно спасибо попробую ... я просто 2 месяц чтото в 1С понимаю

Vofka Подменю пользователя
сообщение 31.07.09, 10:53
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Выберет. Должно. А вообще, что мешает проверить? huh.gif

хакерок Подменю пользователя
сообщение 31.07.09, 13:49
Сообщение #9

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

Цитата(Vofka @ 31.07.09, 12:53) *
Выберет. Должно. А вообще, что мешает проверить? huh.gif

Блин не могу понять какие данные запрос выбирает. Как указать что выводить.
SQL ничего похожего вроде не имеет

хакерок Подменю пользователя
сообщение 03.08.09, 15:43
Сообщение #10

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

Чето не получаеться может хто поможет

Задачка


Документ Заказ (№1)

Шапка
ОбщийЗаказ = "Intercars_30" Клиент = Костик

Табличная часть
Код Кол
1 FE23456 10
2 AD.2345 21


Документ Заказ (№2)

Шапка
ОбщийЗаказ = "Intercars_30" Клиент = Коля

Табличная часть
Код Кол
1 ZS12345 15
2 FE07220 13


Как постороить запрос который выдаст?



FE23456 10 Костик
AD.2345 21 Костик
ZS12345 15 Коля
FE07220 13 Коля

BlackSun Подменю пользователя
сообщение 03.08.09, 17:27
Сообщение #11

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Запрос = СоздатьОбъект(""Запрос"");

ТекстЗапроса =
""//{{ЗАПРОС(Запрос1)
|Период с НачДата по КонДата;
|ОбрабатыватьДокументы Проведенные;
|Обрабатывать НеПомеченныеНаУдаление;
|ДокументОбработки = Документ.НашДокумент.ТекущийДокумент;
|Заказ = Документ.НашДокумент.ОбщийЗаказ;
|Клиент = Документ.НашДокумент.Клиент;
|Код = Документ.НашДокумент.Код;
|Кво = Документ.НашДокумент.Кол;
|Условие (Заказ = Intercars_30);
|Группировка ДокументОбработки;
|Группировка Код;
|Функция Клв=Сумма(Кол);
|""//}}ЗАПРОС
;

zetovich Подменю пользователя
сообщение 03.08.09, 17:51
Сообщение #12

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

Цитата(BlackSun @ 03.08.09, 19:27) *
Запрос = СоздатьОбъект(""Запрос"");

ТекстЗапроса =
""//{{ЗАПРОС(Запрос1)
|Период с НачДата по КонДата;
|ОбрабатыватьДокументы Проведенные;
|Обрабатывать НеПомеченныеНаУдаление;

|ДокументОбработки = Документ.НашДокумент.ТекущийДокумент;
|Заказ = Документ.НашДокумент.ОбщийЗаказ;
|Клиент = Документ.НашДокумент.Клиент;
|Код = Документ.НашДокумент.Код;
|Кво = Документ.НашДокумент.Кол;
|Условие (Заказ = Intercars_30);
|Группировка ДокументОбработки;
|Группировка Код;
|Функция Клв=Сумма(Кол);
|""//}}ЗАПРОС
;

вот инетерсно какова вероятность то что документ проведен и помечен на удаление?

хакерок Подменю пользователя
сообщение 04.08.09, 9:22
Сообщение #13

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

Цитата(BlackSun @ 03.08.09, 19:27) *
Запрос = СоздатьОбъект(""Запрос"");

ТекстЗапроса =
""//{{ЗАПРОС(Запрос1)
|ОбрабатыватьДокументы все;
|ДокументОбработки = Документ.НашДокумент.ТекущийДокумент;
|Заказ = Документ.НашДокумент.ОбщийЗаказ;
|Клиент = Документ.НашДокумент.Клиент;
|Код = Документ.НашДокумент.Код;
|Кво = Документ.НашДокумент.Кол;
|Условие (Заказ = Intercars_30);
|Группировка ДокументОбработки;
|Группировка Код;
|""//}}ЗАПРОС
;


Будем считать что заказы просто вносяться и их не отмечают на удаление если хотят они сразу
удаляют( лишние автозапчасти никому не нужны)
Суммировать повторяющиеся позиции не нужно.


Хочу задать несколько вопросов


1. Имет ли право на жизнь поправленный мною запрос
2. Что понимается под этой строчкой
|ДокументОбработки = Документ.НашДокумент.ТекущийДокумент;
Тоесть мне не нужно не какойто конкретный заказ а выбрать все заказы
которые есть в базе и у которых В шапке поле заказ = Intercars_30
(Intercars_30 означает объденённый заказ на фирму Intercars за 30 неделю)

3. Я так понимаю запрос выбирает в память только те поля которые указаны
в Группировка как В табличной часте добраться до Код , Количества и Клиента
В табличной части указать Код , Кво, Клиент ведь ничего не покажет.

Когда выполняеться запрос он в памяти формирует табличку с полями

ДокументОбработки Код

А мне нужно выбрать в диалоге "Intercars_30"
и получить выборку

Код Кво Клиент

перебором из всех заказов

Вот это ж не сработает:

ДокументОбработки.Код ДокументОбработки.Количество ДокументОбработки.Клиент

Vofka Подменю пользователя
сообщение 04.08.09, 11:23
Сообщение #14

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата
как В табличной часте добраться до Код , Количества и Клиента


Запрос.Код
Запрос.Кво
Запрос.Клиент

хакерок Подменю пользователя
сообщение 04.08.09, 11:54
Сообщение #15

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

|ОбрабатыватьДокументы все;
|ДокументОбработки = Документ.Заказ.ТекущийДокумент;
|Заказ = Документ.Заказ.ОбщийЗаказ;
|Клиент = Документ.Заказ.Клиент;
|Код = Документ.Заказ.Код;
|Кво = Документ.Заказ.Количество;
|Условие (Заказ = ВыбОбщийЗаказ);
|Группировка ДокументОбработки;

Вообще ничего не выберает из базы

Vofka Подменю пользователя
сообщение 04.08.09, 12:11
Сообщение #16

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

А так?



|ОбрабатыватьДокументы все;
|ДокументОбработки = Документ.Заказ.ТекущийДокумент;
|Заказ = Документ.Заказ.ОбщийЗаказ;
|Клиент = Документ.Заказ.Клиент;
|Код = Документ.Заказ.Код;
|Кво = Документ.Заказ.Количество;
|Условие (ВыбОбщийЗаказ в Заказ);
|Группировка ДокументОбработки;

Batchir Подменю пользователя
сообщение 04.08.09, 12:29
Сообщение #17

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Цитата(хакерок @ 04.08.09, 10:22) *
(Intercars_30 означает объденённый заказ на фирму Intercars за 30 неделю)

64000000.gif фигасе поставлен учет, каждую неделю создается один и тот же новый контрагент wacko.gif

хакерок Подменю пользователя
сообщение 04.08.09, 12:46
Сообщение #18

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

Цитата(Batchir @ 04.08.09, 14:29) *
64000000.gif фигасе поставлен учет, каждую неделю создается один и тот же новый контрагент wacko.gif

Отдельно список Фирм поставщиков отдельно недели от 01 до 51 а сделать строку например Kejparts_30 не такуж и сложно.

хакерок Подменю пользователя
сообщение 04.08.09, 12:50
Сообщение #19

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

Цитата(Batchir @ 04.08.09, 14:29) *
64000000.gif фигасе поставлен учет, каждую неделю создается один и тот же новый контрагент wacko.gif

Просто делать дом из готовых плит 1С проше чем делать плиты вместе с домом поэтому у меня взгляд на 1С абсолютно не типичный такой как тербует жизнь а не бухгалтер.

Vofka Подменю пользователя
сообщение 04.08.09, 12:51
Сообщение #20

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

та шо, работает мой запрос?

ЗЫ. Нафик посты плодить?

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


3 страниц V   1 2 3 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.04.24, 14:41
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!