Вход | Регистрация
 

Чистка кеша файловой базы

Чистка кеша файловой базы
Я
   lamme
 
20.02.20 - 09:52
Коллеги ..
1С8 3 11 2899
конфиг - далион
файловая база
Регламентное задание.
Руками запускаю - формирует одно количество в прайсе
Регл задание запускаю под пользователем , под кем запускалось 5 мин назад руками - формирует другое количество в прайсе
(Регл задание формирует прайс. тестово ставил - формировать 10 позиций)
Выходил - кеш чистил свой - заходил. Та же ситуация ..

Ясно что в кеше дело
Но чей чистить и где ?
(база файловая)
 
 
   vicof
 
1 - 20.02.20 - 09:55
Ну посмотри запросы и т.д. под собой и под пользователем.
   lamme
 
2 - 20.02.20 - 09:57
один запрос.
одна процедура

рег задание запускает
и я делаю внешней обработкой - которая запускает эту же процедуру , что рег задание

Не в этом дело
   lamme
 
3 - 20.02.20 - 11:02
никто не ?
   D_E_S_131
 
4 - 20.02.20 - 11:41
От чьего имени запускается регл задание? От того же пользователя?
   lamme
 
5 - 20.02.20 - 11:49
да
   lamme
 
6 - 20.02.20 - 11:50
кеш текущего пользователя - чистил.
не помогло.
   D_E_S_131
 
7 - 20.02.20 - 11:54
Ну тогда сам код процедуры регл задания давай. А то может у тебя там конструкция препроцессору стоит, завязанная на типе клиента.
   lamme
 
8 - 20.02.20 - 12:01
процедура выполняется в новом модуле
на модуле стоят галочки
- сервер
- вн соединение
- клиент (обычное)
- вызов сервера

Сама процедура



Функция ПолучитьОстаткиПоСхемеНастроек(схеманастройки, СоСкладами)
    Запрос = новый  Запрос();
    
    Запрос.УстановитьПараметр("СписокСкладов",схеманастройки. Склады.выгрузитьколонку("Склад"));
    Запрос.УстановитьПараметр("СписокНоменклатуры",схеманастройки. Номенклатура.выгрузитьколонку("Номенклатура"));
    

    Запрос.Текст =
     "ВЫБРАТЬ 
     
     
     |    ТоварыНаСкладахОстатки.Номенклатура,";
     Если  СоСкладами тогда
        Запрос.Текст =Запрос.Текст+
         "     ТоварыНаСкладахОстатки.Склад,";
     конецесли;

        Запрос.Текст =Запрос.Текст+
        
        "    ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток,
        |ИЗ
        |    РегистрНакопления.ОстаткиТоваров.Остатки КАК ТоварыНаСкладахОстатки
        |ГДЕ
        |    ТоварыНаСкладахОстатки.КоличествоОстаток > 0";
     
     Если  схеманастройки.Склады.количество()>0 тогда
         Запрос.Текст =Запрос.Текст+
         " И ТоварыНаСкладахОстатки.Склад в (&СписокСкладов) ";
     конецесли;
     
         
     
     Если  схеманастройки.Номенклатура.количество()>0 тогда
          Запрос.Текст =Запрос.Текст+
         " И ТоварыНаСкладахОстатки.Номенклатура в иерархии (&СписокНоменклатуры) ";
     конецесли;
     
     Возврат Запрос.Выполнить();
     

конецфункции

Ну и потом процедура = которая берет результат запроса и с ним работает - выводит в ексель

препроцессоров - никаких нет
   FIXXXL
 
9 - 20.02.20 - 12:02
(8) РЛС по Складам?
   D_E_S_131
 
10 - 20.02.20 - 12:06
(8) так это же не процедура регл задания. Или откуда передаются параметры в эту функцию?
   lamme
 
11 - 20.02.20 - 12:12
процедура регл задания:

МойМодуль.ЗапуститьФормированиеПрайса()

процедура ЗапуститьФормированиеПрайса() Экспорт

// запрос на определение схемы настройки ..


ОстаткиВыборка = ПолучитьОстаткиПоСхемеНастроек(схеманастройки, истина);

// обработка результата запроса


конецпроцедуры
   D_E_S_131
 
12 - 20.02.20 - 12:21
(11) "// запрос на определение схемы настройки .." - вот этот кусок тоже нужен.
   lamme
 
13 - 20.02.20 - 12:28
процедура ЗапуститьФормированиеПрайса() Экспорт




запрос = новый запрос();
Запрос.УстановитьПараметр("ТипВыгрузки",Перечисления.ТипВыгрузки.НашСайт);
Запрос.Текст=
"ВЫБРАТЬ
|    НастройкиАвтоВыгрузкиПрайса.Ссылка
|ИЗ
|    Справочник.НастройкиАвтоВыгрузкиПрайса КАК НастройкиАвтоВыгрузкиПрайса
|ГДЕ
|    НастройкиАвтоВыгрузкиПрайса.ПометкаУдаления = ЛОЖЬ
|    И НастройкиАвтоВыгрузкиПрайса.ТипВыгрузки = &ТипВыгрузки";
всенастройки = запрос.Выполнить().Выгрузить();


для каждого СтрНастройки из всенастройки цикл
   ОстаткиВыборка = ПолучитьОстаткиПоСхемеНастроек(СтрНастройки.ссылка, истина);
  // обработка результата запроса



конеццикла;    








конецпроцедуры



не в коде дело ...
не в коде ...
в кеше..


на этапе тестирования в запросе получения остатков я ставил
Запрос.Текст =
     "ВЫБРАТЬ первые 10



и руками запускаешь это регзадание - все работает корректно
робот - формирует ровно 10 товаров
   D_E_S_131
 
14 - 20.02.20 - 12:39
(13) Хорошо. Тогда скажи как "чистил кеш"? Удалением базы из списка баз в кластере и списка на клиенте?
   lopus
 
15 - 20.02.20 - 12:49
(14) Она же файловая
   D_E_S_131
 
16 - 20.02.20 - 12:52
(15) Тогда достаточно "...и списка на клиенте?".
   lamme
 
17 - 20.02.20 - 13:37
нет
файлы из папок

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.