Имя: Пароль:
1C
 
Выборка из регистра накопления продажи УНФ
0 falselight
 
05.06.20
13:17
Управление нашей фирмой, редакция 1.6 (1.6.13.60).

Подскажите пожалуйста по запросу. Из регистра накопления продажи необходимо выбрать следующие поля:

ОбластьКрайРеспублика    
НаселенныйПункт    
ФИОМенеджераТП    
НазваниеКлиента    
НаименованиеАртикула    
ШКАртикула    
КолВоШт    
СуммаРуб

Выбрал запросом. Но не уверен в его пригодности и оптимальности. Работает продолжительно, за месяц.
Не знаю должно ли быть так его выполнение по времени. либо я что то не учел в его структуре.

Так же пока не известно положение в связке характеристик, партий и тд, что есть в регистрах.

Подскажите пожалуйста. что стоит поправить в запросе, либо доработать?



ВЫБРАТЬ
    КонтрагентыКонтактнаяИнформация.Представление КАК Представление,
    КонтрагентыКонтактнаяИнформация.Город КАК Город,
    Продажи.Ответственный КАК Ответственный,
    Продажи.Контрагент КАК Контрагент,
    Продажи.Номенклатура КАК Номенклатура,
    Продажи.Номенклатура.Артикул КАК НоменклатураАртикул,
    Продажи.Характеристика КАК Характеристика,
    ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод,
    СУММА(Продажи.Количество) КАК Количество,
    СУММА(Продажи.Сумма) КАК Сумма
ИЗ
    РегистрНакопления.Продажи КАК Продажи
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация
        ПО Продажи.Контрагент.Ссылка = КонтрагентыКонтактнаяИнформация.Ссылка
            И (КонтрагентыКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
            И (КонтрагентыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента))
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
        ПО Продажи.Номенклатура = ШтрихкодыНоменклатуры.Номенклатура
            И Продажи.Характеристика = ШтрихкодыНоменклатуры.Характеристика
ГДЕ
    Продажи.Период МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
    КонтрагентыКонтактнаяИнформация.Представление,
    КонтрагентыКонтактнаяИнформация.Город,
    Продажи.Ответственный,
    Продажи.Контрагент,
    Продажи.Номенклатура,
    Продажи.Номенклатура.Артикул,
    Продажи.Характеристика,
    ШтрихкодыНоменклатуры.Штрихкод
1 Джинн
 
05.06.20
13:30
А почему не к таблице оборотов?
2 falselight
 
05.06.20
13:35
(1) Начал так делать, Возможно да , сейчас придется переписать на таблицу оборотов.
Хочу тогда понять, что в этой не так, и почему не стоит на ней делать?
Получается нет знаний в этом плане, что я остановился на первой попавшейся.

Контактная информация также везде NULL, с ней тоже не знаю как быть. Через пакетный запрос что ли делать, что бы обрабатывать через ЕстьNull

И ещё отбор по номенклатуре нужно по группам. Пока не понятно как прикрутить.

ВЫБРАТЬ
    КонтрагентыКонтактнаяИнформация.Представление КАК Представление,
    КонтрагентыКонтактнаяИнформация.Город КАК Город,
    Продажи.Ответственный КАК Ответственный,
    Продажи.Контрагент КАК Контрагент,
    Продажи.Номенклатура КАК Номенклатура,
    Продажи.Номенклатура.Артикул КАК НоменклатураАртикул,
    Продажи.Характеристика КАК Характеристика,
    ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод,
    СУММА(Продажи.Количество) КАК Количество,
    СУММА(Продажи.Сумма) КАК Сумма
ИЗ
    РегистрНакопления.Продажи КАК Продажи
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация
        ПО Продажи.Контрагент.Ссылка = КонтрагентыКонтактнаяИнформация.Ссылка
            И (КонтрагентыКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
            И (КонтрагентыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента))
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
        ПО Продажи.Номенклатура = ШтрихкодыНоменклатуры.Номенклатура
            И Продажи.Характеристика = ШтрихкодыНоменклатуры.Характеристика
ГДЕ
    Продажи.Период МЕЖДУ &НачДата И &КонДата
    И Продажи.Контрагент = &Клиент
    //И Продажи.Номенклатура = &Номенклатура
    И Продажи.Ответственный = &Ответственный

СГРУППИРОВАТЬ ПО
    КонтрагентыКонтактнаяИнформация.Представление,
    КонтрагентыКонтактнаяИнформация.Город,
    Продажи.Ответственный,
    Продажи.Контрагент,
    Продажи.Номенклатура,
    Продажи.Номенклатура.Артикул,
    Продажи.Характеристика,
    ШтрихкодыНоменклатуры.Штрихкод
3 falselight
 
05.06.20
15:12
(2+) нужно ли извлекать контактную информацию контрагентов из справочника отдельно?
не из регистра
4 falselight
 
05.06.20
15:14
Так то эту выборку можно использовать (2)?
Я ее конечно буду сейчас ещё тестировать, и вообще проверять потом.
Но сам смысл данных? Скорость выполнения выборки, все в порядке?
Нет грубых недочетов?
5 falselight
 
05.06.20
15:55
Подскажите пожалуйста. Как мне делать отборы если я не делаю на СКД, а делаю сам.
То есть что бы дать пользователю возможность выбора как групп, так и элементов.
Как это можно сделать правильно?
6 Мимохожий Однако
 
05.06.20
16:34
(5) Делай на СКД )
7 hhhh
 
05.06.20
16:37
(6) на СКД это всего 1 час, его по деньгам видимо не устроило.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.