|   |   | 
| 
 | Запросы в файловой базе | ☑ | ||
|---|---|---|---|---|
| 0
    
        MrAvPika 16.01.17✎ 18:00 | 
        Кто нибудь может подсказать как ускорить запрос на файловой отрабатывает минуту, а на клиент серверной архитектуре секунд 5, может есть то, что не стоит использовать в запросах к файловой базе?     | |||
| 1
    
        mehfk 16.01.17✎ 18:01 | 
        Не исключено.     | |||
| 2
    
        Волшебник модератор 16.01.17✎ 18:03 | 
        Файловый режим работы 1С не предназначен для реальной работы, тем более многопользовательской с запросами в стиле клиент-сервер.     | |||
| 3
    
        MrAvPika 16.01.17✎ 18:07 | 
        (2)  я понимаю, не будет много пользователей, да и запрос в принципе простой, просто совмещение остатков с ценами и штрихкодами     | |||
| 4
    
        MrAvPika 16.01.17✎ 18:07 | 
        Некоторые запросы выполняются достаточно быстро     | |||
| 5
    
        Jump 16.01.17✎ 18:08 | 
        (2) Где это написано что он не предназначен?
 Как это согласуется с тем что они его продают для реальной работы, и не указывают при этом что он для тестирования? А так же с тем что подавляющее большинство работает именно на файловой версии? | |||
| 6
    
        Волшебник модератор 16.01.17✎ 18:09 | 
        (5) Кругом обман...     | |||
| 7
    
        Jump 16.01.17✎ 18:10 | 
        (0) Пользователей одновременно сидящих в базе сколько? Как идет работа с файловой базой - локально, по сети, характеристики сети?     | |||
| 9
    
        MrAvPika 16.01.17✎ 18:11 | 
        (7) Локально, один пользователь     | |||
| 10
    
        MrAvPika 16.01.17✎ 18:12 | 
        Да в некоторых моментах она шустрее чем клиент серверная, поэтому к этому пришли     | |||
| 11
    
        roman844 16.01.17✎ 18:14 | 
        ТС запрос в студию     | |||
| 12
    
        MrAvPika 16.01.17✎ 18:31 | 
        (11) 
 "ВЫБРАТЬ РАЗЛИЧНЫЕ сфТоварыВЯчейкахОстатки.Номенклатура, сфТоварыВЯчейкахОстатки.Характеристика, сфТоварыВЯчейкахОстатки.Ячейка, сфТоварыВЯчейкахОстатки.ВНаличииОстаток, сфТоварыВЯчейкахОстатки.Ячейка.Владелец КАК Склад, СерииНоменклатуры.ГоденДо ПОМЕСТИТЬ ВТ_ТоварыВЯчейках ИЗ РегистрНакопления.сфТоварыВЯчейках.Остатки(, ) КАК сфТоварыВЯчейкахОстатки ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СерииНоменклатуры КАК СерииНоменклатуры ПО сфТоварыВЯчейкахОстатки.Серия = СерииНоменклатуры.Ссылка ГДЕ НЕ сфТоварыВЯчейкахОстатки.Ячейка.Ссылка ЕСТЬ NULL И НЕ сфТоварыВЯчейкахОстатки.Характеристика ЕСТЬ NULL ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыНаСкладах.Номенклатура, ТоварыНаСкладах.Характеристика КАК Характеристика, ТоварыНаСкладах.КоличествоНачальныйОстаток КАК НачальныйОстаток, ТоварыНаСкладах.КоличествоПриход КАК Приход, ТоварыНаСкладах.КоличествоРасход КАК Расход, ТоварыНаСкладах.КоличествоКонечныйОстаток - ТоварыНаСкладах.РезервКонечныйОстаток КАК КоличествоОстаток, ЕСТЬNULL(сфДефектураПредоплата.Дефектура, ЛОЖЬ) КАК Дефектура, ЕСТЬNULL(сфДефектураПредоплата.Предоплата, ЛОЖЬ) КАК Предоплата, сфДефектураПредоплата.ЦенаЗаказа ПОМЕСТИТЬ ВТ_ОстаткиИДефектураПредоплата ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ), , , , Склад В (&Склад)) КАК ТоварыНаСкладах ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.сфДефектураПредоплата КАК сфДефектураПредоплата ПО ТоварыНаСкладах.Номенклатура = сфДефектураПредоплата.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ сфДефектураПредоплата.Номенклатура, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Характеристика, 0 КАК НачальныйОстаток, 0 КАК Приход, 0 КАК Расход, 0 КАК КоличествоОстаток, сфДефектураПредоплата.Дефектура, сфДефектураПредоплата.Предоплата, сфДефектураПредоплата.ЦенаЗаказа ПОМЕСТИТЬ ВТ_ДефектураПредоплата ИЗ РегистрСведений.сфДефектураПредоплата КАК сфДефектураПредоплата ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ОстаткиИДефектураПредоплата КАК ВТ_ОстаткиИДефектураПредоплата ПО сфДефектураПредоплата.Номенклатура = ВТ_ОстаткиИДефектураПредоплата.Номенклатура ГДЕ ЕСТЬNULL(ВТ_ОстаткиИДефектураПредоплата.Номенклатура, 0) = 0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_ОстаткиИДефектураПредоплата.Номенклатура, ВТ_ОстаткиИДефектураПредоплата.Характеристика, ВТ_ОстаткиИДефектураПредоплата.НачальныйОстаток, ВТ_ОстаткиИДефектураПредоплата.Приход, ВТ_ОстаткиИДефектураПредоплата.Расход, ВТ_ОстаткиИДефектураПредоплата.КоличествоОстаток, ВТ_ОстаткиИДефектураПредоплата.Дефектура, ВТ_ОстаткиИДефектураПредоплата.Предоплата, ВТ_ОстаткиИДефектураПредоплата.ЦенаЗаказа КАК ЦенаДефектураПредоплата ПОМЕСТИТЬ ВТ_Остатки_ДефектураПредоплата ИЗ ВТ_ОстаткиИДефектураПредоплата КАК ВТ_ОстаткиИДефектураПредоплата ОБЪЕДИНИТЬ ВЫБРАТЬ ВТ_ДефектураПредоплата.Номенклатура, ВТ_ДефектураПредоплата.Характеристика, ВТ_ДефектураПредоплата.НачальныйОстаток, ВТ_ДефектураПредоплата.Приход, ВТ_ДефектураПредоплата.Расход, ВТ_ДефектураПредоплата.КоличествоОстаток, ВТ_ДефектураПредоплата.Дефектура, ВТ_ДефектураПредоплата.Предоплата, ВТ_ДефектураПредоплата.ЦенаЗаказа ИЗ ВТ_ДефектураПредоплата КАК ВТ_ДефектураПредоплата ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Остатки_ДефектураПредоплата.Номенклатура, ВТ_Остатки_ДефектураПредоплата.Характеристика КАК Характеристика, Штрихкоды.Штрихкод, ВТ_Остатки_ДефектураПредоплата.КоличествоОстаток, ВЫБОР КОГДА ВТ_Остатки_ДефектураПредоплата.Дефектура ТОГДА ВЫБОР КОГДА ЕСТЬNULL(ДействующиеЦены.Цена, 0) = 0 ТОГДА ЕСТЬNULL(ВТ_Остатки_ДефектураПредоплата.ЦенаДефектураПредоплата, 0) КОНЕЦ ИНАЧЕ ЕСТЬNULL(ДействующиеЦены.Цена, 0) КОНЕЦ КАК Цена, ВТ_Остатки_ДефектураПредоплата.Дефектура, ВТ_Остатки_ДефектураПредоплата.Предоплата ПОМЕСТИТЬ ВТ_Остатки_Цены_Штрихкоды ИЗ ВТ_Остатки_ДефектураПредоплата КАК ВТ_Остатки_ДефектураПредоплата ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДействующиеЦеныНоменклатуры.СрезПоследних(, ОбъектЦенообразования = &Магазин) КАК ДействующиеЦены ПО ВТ_Остатки_ДефектураПредоплата.Номенклатура = ДействующиеЦены.Номенклатура И ВТ_Остатки_ДефектураПредоплата.Характеристика = ДействующиеЦены.Характеристика ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды ПО ВТ_Остатки_ДефектураПредоплата.Номенклатура = Штрихкоды.Владелец И ВТ_Остатки_ДефектураПредоплата.Характеристика = Штрихкоды.Характеристика ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Остатки_Цены_Штрихкоды.Номенклатура, ВТ_Остатки_Цены_Штрихкоды.Характеристика, ВТ_Остатки_Цены_Штрихкоды.Штрихкод, ВТ_Остатки_Цены_Штрихкоды.КоличествоОстаток КАК Количество, ВТ_Остатки_Цены_Штрихкоды.Цена, ВТ_Остатки_Цены_Штрихкоды.Дефектура, ВТ_Остатки_Цены_Штрихкоды.Предоплата, ВТ_ТоварыВЯчейках.Ячейка, ВТ_ТоварыВЯчейках.ГоденДо КАК СрокГодности, ВТ_Остатки_Цены_Штрихкоды.Номенклатура.Производитель КАК Производитель, ВТ_Остатки_Цены_Штрихкоды.Номенклатура.сфМеждународноеНазвание КАК МеждународноеНазвание, ВТ_Остатки_Цены_Штрихкоды.Номенклатура.сфФармацевтическаяГруппа КАК ФармацевтическаяГруппа, ВТ_Остатки_Цены_Штрихкоды.Номенклатура.сфЭтоЖНВЛП КАК ЖНВЛП, ВТ_Остатки_Цены_Штрихкоды.Номенклатура.сфРанг КАК Ранг, ЕСТЬNULL(ВТ_Остатки_Цены_Штрихкоды.Номенклатура.сфБаллы, 0) КАК Бонус ИЗ ВТ_Остатки_Цены_Штрихкоды КАК ВТ_Остатки_Цены_Штрихкоды ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ТоварыВЯчейках КАК ВТ_ТоварыВЯчейках ПО ВТ_Остатки_Цены_Штрихкоды.Номенклатура = ВТ_ТоварыВЯчейках.Номенклатура И ВТ_Остатки_Цены_Штрихкоды.Характеристика = ВТ_ТоварыВЯчейках.Характеристика ГДЕ ВЫБОР КОГДА ВТ_Остатки_Цены_Штрихкоды.КоличествоОстаток > 0 ТОГДА ВЫБОР КОГДА ВТ_Остатки_Цены_Штрихкоды.Цена = 0 И НЕ ВТ_Остатки_Цены_Штрихкоды.Номенклатура.Наименование ПОДОБНО "!%" ТОГДА ЛОЖЬ ИНАЧЕ ВЫБОР КОГДА ВТ_Остатки_Цены_Штрихкоды.Штрихкод = "" ТОГДА ЛОЖЬ ИНАЧЕ ВЫБОР КОГДА ЕСТЬNULL(ВТ_Остатки_Цены_Штрихкоды.Цена, 0) = 0 И НЕ ВТ_Остатки_Цены_Штрихкоды.Номенклатура.Наименование ПОДОБНО "!%" ТОГДА ЛОЖЬ ИНАЧЕ ВЫБОР КОГДА ЕСТЬNULL(ВТ_Остатки_Цены_Штрихкоды.Штрихкод, 0) = 0 ТОГДА ЛОЖЬ ИНАЧЕ ИСТИНА КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ ИНАЧЕ ИСТИНА КОНЕЦ" | |||
| 13
    
        Aleksey 16.01.17✎ 18:38 | 
        RLS отключен?     | |||
| 14
    
        MrAvPika 16.01.17✎ 18:44 | 
        (13) +     | |||
| 15
    
        MrAvPika 16.01.17✎ 18:46 | 
        Короче понял, в одной временной таблице не связываю более двух таблиц, и индексирую поля по которым связываю, работает очень быстро     | |||
| 16
    
        MrAvPika 16.01.17✎ 18:47 | 
        Всем спасибо     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |