Имя: Пароль:
1C
 
1с книжный магазин медленно работает по локальной сети
,
0 13Дима13
 
20.08.14
11:09
1с книжный магазин. Пользоватаель подключается по локальной сети к базе. Медленно работает РМК. При нажатии на кнопку оплата наличными зависает на 7 минут. Делал замер производительности в общем модуле скидкинаценкисервер в процедуре ПакетЗапросовВыполнить() строчка кода ПакетЗапросов.РезультатЗапроса = ПакетЗапросов.Запрос.ВыполнитьПакет(); выполняется 7 минут. Пакет состоит из 21 запроса.
Также в форме чека ККМ на закладке оплата при добавлении нового вида оплаты 1с также зависает на 7 минут. Но только при первом добавлении строки в таб часть. Затем все работает нормально.
Комп на которой находится база в разы мощнее компа пользователя. На нем запрос выполняется пару секунд. Перенес базу на комп пользователя, тот же запрос выполняется 30 секунд.
В чем может быть проблема? как повысить производительность?
1 Господин ПЖ
 
20.08.14
11:18
сидеть в терминале
настроить антивирусы и прочие каки
2 SSFreeman
 
20.08.14
11:19
А сама сеть как работает,покидай фалы из простого.
3 Nylander85
 
20.08.14
11:19
позвать специалиста
4 13Дима13
 
20.08.14
11:20
(2) сеть нормально работает
5 13Дима13
 
20.08.14
11:24
вот текст запроса, который 7 минут выполняется

// Номер таблицы результата: 1
ВЫБРАТЬ
    "" КАК Валюта,
    1 КАК Курс,
    1 КАК Кратность
ПОМЕСТИТЬ КурсыВалют

ИНДЕКСИРОВАТЬ ПО
    Валюта
;

////////////////////////////////////////////////////////////////////////////////
// Номер таблицы результата: 4
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    СкидкиНаценки.СкидкаНаценка КАК Ссылка
ПОМЕСТИТЬ ВременнаяТаблица
ИЗ
    &СкидкиНаценки КАК СкидкиНаценки

ИНДЕКСИРОВАТЬ ПО
    Ссылка
;

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВременнаяТаблицаСкидкиНаценки.Ссылка КАК СкидкаНаценка,
    ВременнаяТаблицаСкидкиНаценки.СпособПредоставления КАК СпособПредоставления,
    ВременнаяТаблицаСкидкиНаценки.ОбластьПредоставления КАК ОбластьПредоставления,
    ВременнаяТаблицаСкидкиНаценки.ВидЦены КАК ВидЦены,
    ВременнаяТаблицаСкидкиНаценки.ЗначениеСкидкиНаценки КАК ЗначениеСкидкиНаценки,
    ВременнаяТаблицаСкидкиНаценки.СегментНоменклатурыПредоставления КАК СегментНоменклатурыПредоставления,
    ВременнаяТаблицаСкидкиНаценки.ПодарокИзСписка,
    ВременнаяТаблицаСкидкиНаценки.ПодарокИзКорзиныПокупателя,
    ВременнаяТаблицаСкидкиНаценки.КоличествоПодарковИзКорзиныПокупателя,
    ВременнаяТаблицаСкидкиНаценки.УчитыватьПодарокКакПродажу
ИЗ
    ВременнаяТаблицаСкидкиНаценки КАК ВременнаяТаблицаСкидкиНаценки
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СкидкиНаценки КАК СкидкиНаценки
        ПО ВременнаяТаблицаСкидкиНаценки.Ссылка = СкидкиНаценки.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
// Номер таблицы результата: 6
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Условия.УсловиеПредоставления КАК Ссылка,
    Условия.УсловиеПредоставления.УсловиеПредоставления КАК УсловиеПредоставления,
    Условия.УсловиеПредоставления.ВариантОпределенияПериодаНакопительнойСкидки КАК ВариантОпределенияПериодаНакопительнойСкидки,
    Условия.УсловиеПредоставления.ВариантНакопления КАК ВариантНакопления,
    Условия.УсловиеПредоставления.ТипСравнения КАК ТипСравнения,
    Условия.УсловиеПредоставления.ВалютаОграничения КАК ВалютаОграничения,
    Условия.УсловиеПредоставления.КритерийОграниченияПримененияЗаОбъемПродаж КАК КритерийОграниченияПримененияЗаОбъемПродаж,
    Условия.УсловиеПредоставления.ОбластьОграничения КАК ОбластьОграничения,
    Условия.УсловиеПредоставления.ГрафикОплаты КАК ГрафикОплаты,
    Условия.УсловиеПредоставления.ФормаОплаты КАК ФормаОплаты,
    Условия.УсловиеПредоставления.СегментНоменклатурыОграничения КАК СегментНоменклатурыОграничения,
    Условия.УсловиеПредоставления.ПериодНакопления КАК ПериодНакопления,
    Условия.УсловиеПредоставления.ГруппаПользователей КАК ГруппаПользователей,
    Условия.УсловиеПредоставления.ДнейДоДняРождения КАК ДнейДоДняРождения,
    Условия.УсловиеПредоставления.ДнейПослеДняРождения КАК ДнейПослеДняРождения,
    Условия.УсловиеПредоставления.ПорядковыйНомерПродажиКратен КАК ПорядковыйНомерПродажиКратен,
    ВЫБОР
        КОГДА (Условия.УсловиеПредоставления.УсловиеПредоставления = ЗНАЧЕНИЕ(Перечисление.УсловияПредоставленияСкидокНаценок.ЗаРазовыйОбъемПродаж)
                ИЛИ Условия.УсловиеПредоставления.УсловиеПредоставления = ЗНАЧЕНИЕ(Перечисление.УсловияПредоставленияСкидокНаценок.ЗаНакопленныйОбъемПродаж))
                И Условия.УсловиеПредоставления.КритерийОграниченияПримененияЗаОбъемПродаж = ЗНАЧЕНИЕ(Перечисление.КритерииОграниченияПримененияСкидкиНаценкиЗаОбъемПродаж.Сумма)
            ТОГДА Условия.УсловиеПредоставления.ЗначениеУсловияОграничения * ЕСТЬNULL(КурсыВалютОграничения.Курс, 1) * ЕСТЬNULL(КурсыВалютДокумента.Кратность, 1) / (ЕСТЬNULL(КурсыВалютДокумента.Курс, 1) * ЕСТЬNULL(КурсыВалютОграничения.Кратность, 1))
        ИНАЧЕ Условия.УсловиеПредоставления.ЗначениеУсловияОграничения
    КОНЕЦ КАК ЗначениеУсловияОграничения
ПОМЕСТИТЬ УсловияПредоставления
ИЗ
    ВременнаяТаблица КАК СкидкиНаценки
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СкидкиНаценки.УсловияПредоставления КАК Условия
        ПО СкидкиНаценки.Ссылка = Условия.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалютОграничения
        ПО (КурсыВалютОграничения.Валюта = Условия.УсловиеПредоставления.ВалютаОграничения)
        ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалютДокумента
        ПО (КурсыВалютДокумента.Валюта = &ВалютаДокумента)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
    УсловияПредоставления.Ссылка                                       КАК Ссылка,
    УсловияПредоставления.УсловиеПредоставления                        КАК УсловиеПредоставления,
    УсловияПредоставления.ВариантОпределенияПериодаНакопительнойСкидки КАК ВариантОпределенияПериодаНакопительнойСкидки,
    УсловияПредоставления.ВариантНакопления                            КАК ВариантНакопления,
    УсловияПредоставления.ВалютаОграничения                            КАК ВалютаОграничения,
    УсловияПредоставления.ТипСравнения                                 КАК ТипСравнения,
    УсловияПредоставления.КритерийОграниченияПримененияЗаОбъемПродаж   КАК КритерийОграниченияПримененияЗаОбъемПродаж,
    УсловияПредоставления.ОбластьОграничения                           КАК ОбластьОграничения,
    УсловияПредоставления.ГрафикОплаты                                 КАК ГрафикОплаты,
    УсловияПредоставления.ФормаОплаты                                  КАК ФормаОплаты,
    УсловияПредоставления.ЗначениеУсловияОграничения                   КАК ЗначениеУсловияОграничения,
    УсловияПредоставления.СегментНоменклатурыОграничения               КАК СегментНоменклатурыОграничения,
    УсловияПредоставления.ПериодНакопления                             КАК ПериодНакопления,
    УсловияПредоставления.ГруппаПользователей                          КАК ГруппаПользователей,
    УсловияПредоставления.ДнейДоДняРождения                            КАК ДнейДоДняРождения,
    УсловияПредоставления.ДнейПослеДняРождения                         КАК ДнейПослеДняРождения,
    УсловияПредоставления.ПорядковыйНомерПродажиКратен                          КАК ПорядковыйНомерПродажиКратен
ИЗ
    УсловияПредоставления КАК УсловияПредоставления
;

////////////////////////////////////////////////////////////////////////////////
// Номер таблицы результата: 7
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЦеновыеГруппы.Ссылка        КАК СкидкаНаценка,
    ЦеновыеГруппы.ЦеноваяГруппа КАК ЦеноваяГруппа,
    ВЫБОР
        КОГДА СкидкиНаценки.СпособПредоставления = ЗНАЧЕНИЕ(Перечисление.СпособыПредоставленияСкидокНаценок.Сумма)
            ТОГДА ЦеновыеГруппы.ЗначениеСкидкиНаценки * ЕСТЬNULL(КурсыВалютПредоставления.Курс, 1) * ЕСТЬNULL(КурсыВалютДокумента.Кратность, 1) / (ЕСТЬNULL(КурсыВалютДокумента.Курс, 1) * ЕСТЬNULL(КурсыВалютПредоставления.Кратность, 1))
        ИНАЧЕ ЦеновыеГруппы.ЗначениеСкидкиНаценки
    КОНЕЦ КАК ЗначениеСкидкиНаценки
ИЗ
    ВременнаяТаблицаСкидкиНаценки КАК СкидкиНаценки
        
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СкидкиНаценки.ЦеновыеГруппы КАК ЦеновыеГруппы
        ПО СкидкиНаценки.Ссылка = ЦеновыеГруппы.Ссылка
        
        ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалютПредоставления
        ПО (КурсыВалютПредоставления.Валюта = СкидкиНаценки.ВалютаПредоставления)
        
        ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалютДокумента
        ПО (КурсыВалютДокумента.Валюта = &ВалютаДокумента)
;

////////////////////////////////////////////////////////////////////////////////
// Номер таблицы результата: 13
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Товары.КлючСвязи КАК КлючСвязи,
    ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
    Товары.Характеристика КАК Характеристика,
    Товары.Упаковка КАК Упаковка,
    Товары.Количество КАК Количество,
    Товары.КоличествоУпаковок КАК КоличествоУпаковок,
    Товары.Цена КАК ЦенаЗаУпаковку
ПОМЕСТИТЬ ВременнаяТаблицаТовары
ИЗ
    &Товары КАК Товары

ИНДЕКСИРОВАТЬ ПО
    Номенклатура,
    Характеристика
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    НоменклатураСегмента.Сегмент КАК Сегмент,
    НоменклатураСегмента.Номенклатура КАК Номенклатура,
    НоменклатураСегмента.Характеристика КАК Характеристика
ПОМЕСТИТЬ НоменклатураСегмента
ИЗ
    РегистрСведений.НоменклатураСегмента КАК НоменклатураСегмента

ГДЕ
    НоменклатураСегмента.Номенклатура В
            (ВЫБРАТЬ
                Товары.Номенклатура
            ИЗ
                ВременнаяТаблицаТовары КАК Товары)

ИНДЕКСИРОВАТЬ ПО
    Номенклатура,
    Характеристика
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Товары.КлючСвязи КАК КлючСвязи,
    Товары.Номенклатура КАК Номенклатура,
    Товары.Характеристика КАК Характеристика,
    Товары.Упаковка КАК Упаковка,
    Товары.Количество КАК Количество,
    Товары.КоличествоУпаковок КАК КоличествоУпаковок,
    НоменклатураСегмента.Сегмент КАК СегментНоменклатуры,
    Товары.ЦенаЗаУпаковку КАК ЦенаЗаУпаковку,
    Товары.КоличествоУпаковок * Товары.ЦенаЗаУпаковку КАК Сумма
ПОМЕСТИТЬ ВременнаяТаблицаТоварыПоСегментам
ИЗ
    ВременнаяТаблицаТовары КАК Товары
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ НоменклатураСегмента КАК НоменклатураСегмента
        ПО Товары.Номенклатура = НоменклатураСегмента.Номенклатура
            И Товары.Характеристика = НоменклатураСегмента.Характеристика

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    Товары.КлючСвязи,
    Товары.Номенклатура,
    Товары.Характеристика,
    Товары.Упаковка,
    Товары.Количество,
    Товары.КоличествоУпаковок,
    ЗНАЧЕНИЕ(Справочник.СегментыНоменклатуры.ПустаяСсылка),
    Товары.ЦенаЗаУпаковку,
    Товары.КоличествоУпаковок * Товары.ЦенаЗаУпаковку
ИЗ
    ВременнаяТаблицаТовары КАК Товары
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    ЦеныНоменклатурыСрезПоследних.Характеристика КАК Характеристика,
    ВЫРАЗИТЬ(ЦеныНоменклатурыСрезПоследних.Цена * (ЕСТЬNULL(КурсыВалют.Курс, 1) * ЕСТЬNULL(КурсыВалютДокумента.Кратность, 1)) / (ЕСТЬNULL(КурсыВалютДокумента.Курс, 1) * ЕСТЬNULL(КурсыВалют.Кратность, 1)) / ВЫБОР
            КОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Упаковка.Коэффициент, 1) = 0
                ТОГДА 1
            ИНАЧЕ ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Упаковка.Коэффициент, 1)
        КОНЕЦ КАК ЧИСЛО(15, 2)) КАК МинимальнаяЦена
ПОМЕСТИТЬ ВременнаяТаблицаМинимальныхЦен
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
            &ТекущаяДата,
            ВидЦены = &ВидМинимальныхЦенПродажи
                И (Номенклатура, Характеристика) В
                    (ВЫБРАТЬ РАЗЛИЧНЫЕ
                        ВременнаяТаблицаТовары.Номенклатура,
                        ВременнаяТаблицаТовары.Характеристика
                    ИЗ
                        ВременнаяТаблицаТовары КАК ВременнаяТаблицаТовары)) КАК ЦеныНоменклатурыСрезПоследних
        ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалют
        ПО (КурсыВалют.Валюта = ЦеныНоменклатурыСрезПоследних.Валюта)
        ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалютДокумента
        ПО (КурсыВалютДокумента.Валюта = &ВалютаДокумента)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВременнаяТаблицаТоварыПоСегментам.КлючСвязи,
    ВременнаяТаблицаТоварыПоСегментам.Номенклатура,
    ВременнаяТаблицаТоварыПоСегментам.Характеристика,
    ВременнаяТаблицаТоварыПоСегментам.Упаковка,
    ВременнаяТаблицаТоварыПоСегментам.Количество,
    ВременнаяТаблицаТоварыПоСегментам.КоличествоУпаковок,
    ВременнаяТаблицаТоварыПоСегментам.СегментНоменклатуры,
    ВременнаяТаблицаТоварыПоСегментам.ЦенаЗаУпаковку,
    ВременнаяТаблицаТоварыПоСегментам.Сумма
ПОМЕСТИТЬ ИсключаемаяНоменклатура
ИЗ
    ВременнаяТаблицаТоварыПоСегментам КАК ВременнаяТаблицаТоварыПоСегментам
ГДЕ
    ВременнаяТаблицаТоварыПоСегментам.СегментНоменклатуры = &СегментИсключаемойНоменклатуры
    И НЕ &СегментИсключаемойНоменклатуры = Значение(Справочник.СегментыНоменклатуры.ПустаяСсылка)
;

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

УПОРЯДОЧИТЬ ПО
    ЦенаЗаУпаковку
;

////////////////////////////////////////////////////////////////////////////////
// Номер таблицы результата: 14
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    СкидкиНаценки.Ссылка                         КАК СкидкаНаценка,
    ЦеныНоменклатурыСрезПоследних.ВидЦены        КАК ВидЦены,
    ЦеныНоменклатурыСрезПоследних.Номенклатура   КАК Номенклатура,
    ЦеныНоменклатурыСрезПоследних.Характеристика КАК Характеристика,
    ЦеныНоменклатурыСрезПоследних.Упаковка       КАК Упаковка,
    
    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Упаковка.Коэффициент, 1) КАК УпаковкаКоэффициент,
    
    ВЫРАЗИТЬ(ЦеныНоменклатурыСрезПоследних.Цена
        * ( ЕСТЬNULL(КурсыВалют.Курс, 1) * ЕСТЬNULL(КурсыВалютДокумента.Кратность, 1) )
        / ( ЕСТЬNULL(КурсыВалютДокумента.Курс, 1) * ЕСТЬNULL(КурсыВалют.Кратность, 1) )
    КАК ЧИСЛО(15, 2)) КАК Цена
    
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ТекущаяДата,
    
            ВидЦены В (ВЫБРАТЬ РАЗЛИЧНЫЕ ВременнаяТаблицаСкидкиНаценки.ВидЦены ИЗ ВременнаяТаблицаСкидкиНаценки)
                И Номенклатура В (ВЫБРАТЬ ВременнаяТаблицаТовары.Номенклатура ИЗ ВременнаяТаблицаТовары)
    
    ) КАК ЦеныНоменклатурыСрезПоследних
    
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВременнаяТаблицаСкидкиНаценки КАК СкидкиНаценки
        ПО ЦеныНоменклатурыСрезПоследних.ВидЦены = СкидкиНаценки.ВидЦены
            И (СкидкиНаценки.СпособПредоставления = ЗНАЧЕНИЕ(Перечисление.СпособыПредоставленияСкидокНаценок.ВидЦены))
        
        ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалют
        ПО (КурсыВалют.Валюта = ЦеныНоменклатурыСрезПоследних.Валюта)
        
        ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалютДокумента
        ПО (КурсыВалютДокумента.Валюта = &ВалютаДокумента)
;

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

;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЦеновыеГруппы.ЦеноваяГруппа КАК ЦеноваяГруппа,
    ЦеновыеГруппы.ВидЦен КАК ВидЦен
ПОМЕСТИТЬ ЦеновыеГруппыПравила
ИЗ
    Справочник.ПравилаЦенообразования.ЦеновыеГруппы КАК ЦеновыеГруппы
ГДЕ
    ЦеновыеГруппы.Ссылка = &ПравилоЦенообразования

ИНДЕКСИРОВАТЬ ПО
    ВидЦен,
    ЦеноваяГруппа
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВидЦеныПравила.ВидЦен КАК ВидЦен
ПОМЕСТИТЬ ВидЦеныПравила
ИЗ
    Справочник.ПравилаЦенообразования КАК ВидЦеныПравила
ГДЕ
    ВидЦеныПравила.Ссылка = &ПравилоЦенообразования
;

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

СГРУППИРОВАТЬ ПО
    ПодЗапрос.Номенклатура,
    ПодЗапрос.Характеристика
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    РаспределениеПродаж.Склад,
    ВЫБОР
        КОГДА (НЕ РаспределениеПродаж.НоменклатурнаяГруппа = ЗНАЧЕНИЕ(Справочник.НоменклатурныеГруппы.ПустаяСсылка))
            ТОГДА ВЫБОР
                 &n
6 Турист
 
20.08.14
11:24
(4) как определил?
7 H A D G E H O G s
 
20.08.14
11:24
(4) Сеть то работает нормально. Операционка "ненормально" работает с файлами по сети в многопользовательском режиме.
8 H A D G E H O G s
 
20.08.14
11:25
(5) Ахереть.
9 13Дима13
 
20.08.14
11:26
(7) операционка на компе пользователя или где база лежит? Кстати у пользователя xp, где база лежит windows server 2012
10 13Дима13
 
20.08.14
11:29
(7) и как заставить ее нормально работать?
11 H A D G E H O G s
 
20.08.14
11:34
(10)
1) Терминал
2) Клиент-сервер
3) Веб-сервер
12 lodger
 
20.08.14
11:58
(10) http://www.1c.ru/news/info.jsp?id=17577
ставить на Сервер. на клиенте выставляем вход в тонкий клиент.
AdBlock убивает бесплатный контент. 1Сергей