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

Хранилище

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

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



> Ошибка при очистке журнала регистрации          
Zlyukka Подменю пользователя
сообщение 19.12.14, 10:33
Сообщение #1

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

Платформа 1с 8.3.5.1119 пользую функцию ОчиститьЖурналРегистрации()

Процедура КнопкаВыполнитьНажатие(Кнопка)
    фильтр=Новый Структура;
    Событие=Новый Массив;
    Событие.Добавить("_$Job$_.Start");
    Событие.Добавить("_$Job$_.Succeed");    
    фильтр.Вставить("Приложение","Фоновое задание");
    фильтр.Вставить("Событие",Событие);
    ОчиститьЖурналРегистрации(фильтр);
КонецПроцедуры

Но получаю ошибочку
{Обработка.a1.Форма.Форма.Форма(9)}: Ошибка при вызове метода контекста (ОчиститьЖурналРегистрации)
ОчиститьЖурналРегистрации(фильтр);
по причине:
Ошибка очистки журнала регистрации.
по причине:
Метод не поддерживается данной реализацией журнала регистрации

Попробовал перевести журнал в новый формат - не помогло
Подскажите пожалуйста как выйти из данной ситуации.

Petre Подменю пользователя
сообщение 19.12.14, 10:44
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Цитата(Zlyukka @ 19.12.14, 10:33) *
Попробовал перевести журнал в новый формат - не помогло

Какая ошибка после перехода на новый формат?


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Zlyukka Подменю пользователя
сообщение 19.12.14, 10:45
Сообщение #3

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

Цитата(Petre @ 19.12.14, 11:44) *
Какая ошибка после перехода на новый формат?

таже

Petre Подменю пользователя
сообщение 19.12.14, 10:48
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Могу лишь посоветовать обновить платформу. Были проблемы с новым форматом. Да и сейчас некоторые остались.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

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

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

Да я об этом тоже подумываю но обновление может потащить за собой ещё кучу работы 32542620.gif

logist Подменю пользователя
сообщение 19.12.14, 10:55
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Zlyukka @ 19.12.14, 10:33) *
Процедура КнопкаВыполнитьНажатие(Кнопка)

1. Вы запускаете процедуру в клиентской части или в серверной? В клиентской она недоступна.
2. Приложение запущено с правами администратора компьютера?
3. Файл журнала действительно хранится в LGD (т.е. Вы физически видите этот файл на диске)?
4. Вместо фильтр.Вставить("Приложение","Фоновое задание"); пробовали фильтр.Вставить("ИмяПриложения","Фоновое задание"); ?



Signature
Личные бесплатные консультации не даю, для этого есть форум!

Zlyukka Подменю пользователя
сообщение 22.12.14, 17:04
Сообщение #7

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

Цитата(logist @ 19.12.14, 10:55) *
1. Вы запускаете процедуру в клиентской части или в серверной? В клиентской она недоступна.
2. Приложение запущено с правами администратора компьютера?
3. Файл журнала действительно хранится в LGD (т.е. Вы физически видите этот файл на диске)?
4. Вместо фильтр.Вставить("Приложение","Фоновое задание"); пробовали фильтр.Вставить("ИмяПриложения","Фоновое задание"); ?


1 Запускал на толстом клиенте - в описании процедуры написано что там доступен;
2. Вот тут может быть загвоздка так как 1с сервер находится на другой машине вызываю из регламентного задания;
3. Да я его вижу;
4. Согласен не внимательно вычитал описание;

Теперь код выглядит так
Процедура ОчисткаЖурнала() Экспорт
    фильтр=Новый Структура;
    Событие=Новый Массив;
    Событие.Добавить("_$Job$_.Start");
    Событие.Добавить("_$Job$_.Succeed");        
    фильтр.Вставить("ДатаОкончания",ТекущаяДата()-60);    
    фильтр.Вставить("ИмяПриложение","Фоновое задание");    
    фильтр.Вставить("Событие",Событие);
    ОчиститьЖурналРегистрации(фильтр);    
    Сообщить("Записи удалены");
КонецПроцедуры

и во как ругается
{ОбщийМодуль.Демон.Модуль(243)}: Ошибка при вызове метода контекста (ОчиститьЖурналРегистрации)
по причине:
Ошибка очистки журнала регистрации.
по причине:
Ошибка формата файла журнала регистрации
по причине:
sqlite3_exec failed: database is locked
db: C:\Program Files\1cv8\srvinfo\reg_1541\cc10818a-3dff-4350-9e32-d83a386413b1\1Cv8Log\1Cv8.lgd
sql: DELETE FROM EventLog WHERE rowID IN (SELECT rowID FROM _ForDelete);

logist Подменю пользователя
сообщение 22.12.14, 17:22
Сообщение #8

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Zlyukka @ 22.12.14, 17:04) *
фильтр.Вставить("ИмяПриложение"

Цитата(logist @ 19.12.14, 10:55) *
фильтр.Вставить("ИмяПриложения","Фоновое задание"); ?


Цитата(Zlyukka @ 22.12.14, 17:04) *
sqlite3_exec failed: database is locked

Подозреваю, что в момент работы этого задания в базе не должно быть пользователей, не должен быть открыт конфигуратор.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Zlyukka Подменю пользователя
сообщение 23.12.14, 9:56
Сообщение #9

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

Цитата(logist @ 22.12.14, 17:22) *
Подозреваю, что в момент работы этого задания в базе не должно быть пользователей, не должен быть открыт конфигуратор.

К сожалению не помогло. А чего это оно ругается на формат файла?

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

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

Сам журнал битый може.

Zlyukka Подменю пользователя
сообщение 23.12.14, 11:45
Сообщение #11

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

Заработало
Процедура ОчисткаЖурнала() Экспорт
    фильтр=Новый Структура;
    Событие=Новый Массив;
    Событие.Добавить("_$Job$_.Start");
    Событие.Добавить("_$Job$_.Succeed");        
    Событие.Добавить("_$Session$_.Finish");        
    Событие.Добавить("_$Session$_.Start");        
    фильтр.Вставить("ДатаОкончания",ТекущаяДата());    
    //фильтр.Вставить("ИмяПриложения","Фоновое задание");    
    фильтр.Вставить("Компьютер","S8");
    фильтр.Вставить("Событие",Событие);
    ОчиститьЖурналРегистрации(фильтр);    
КонецПроцедуры

Можетфильтр.Вставить("ИмяПриложения","Фоновое задание"); не нравилась хотя причом тут база заблокирована? Если кто знает поясните

logist Подменю пользователя
сообщение 23.12.14, 13:07
Сообщение #12

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Может ("ИмяПриложения","_$Job$_") ?


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Zlyukka Подменю пользователя
сообщение 23.12.14, 15:02
Сообщение #13

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

Цитата(logist @ 23.12.14, 13:07) *
Может ("ИмяПриложения","_$Job$_") ?

Так тоже не работает

Petre Подменю пользователя
сообщение 23.12.14, 16:35
Сообщение #14

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Цитата(logist @ 23.12.14, 13:07) *
Может ("ИмяПриложения","_$Job$_") ?

Думаю, правильно так:
("ИмяПриложения","BackgroundJob")


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Zlyukka Подменю пользователя
сообщение 23.12.14, 17:03
Сообщение #15

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

Цитата(Petre @ 23.12.14, 16:35) *
Думаю, правильно так:
("ИмяПриложения","BackgroundJob")

ХМ Странно так работает хотя ("ИмяПриложения","ФоновоеЗадание") не принимало.
Спасибо за содействие.

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

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

Zlyukka, можно не стесняться жать палец wink.gif

Petre Подменю пользователя
сообщение 23.12.14, 17:32
Сообщение #17

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Цитата(Zlyukka @ 23.12.14, 17:03) *
хотя ("ИмяПриложения","ФоновоеЗадание") не принимало.

"Фоновое задание" - это представление приложения (т. н. "ApplicationPresentation"), которое, как я подозреваю, формируется при "ВыгрузитьЖурналРегистрации" в зависимости от языкового пакета (для украинского, например, выводит в xml-файл "Фонове завдання").


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Zlyukka Подменю пользователя
сообщение 23.12.14, 17:46
Сообщение #18

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

Поспешил фильтр.Вставить("ИмяПриложения","BackgroundJob"); вызывает все туже ошибку ну да ладно мне хватит и такого
    фильтр=Новый Структура;
    Событие=Новый Массив;
    Событие.Добавить("_$Job$_.Start");
    Событие.Добавить("_$Job$_.Succeed");        
    Событие.Добавить("_$Session$_.Finish");        
    Событие.Добавить("_$Session$_.Start");
    фильтр.Вставить("ДатаОкончания",ТекущаяДата());
    фильтр.Вставить("Событие",Событие);
    ОчиститьЖурналРегистрации(фильтр);

Оно удалит только (старт и финиш) фоновых задач чего мне и надо просто было интересно почему не отрабатывает отбор по имени приложения.


Кстати при фильтрации содержимого журнала регистрации по приложению допускается как _$Job$_ так и Фоновое задание и т.д. Тоисть при отборе (теоретически) допустимо использовать эти значение

Petre Подменю пользователя
сообщение 24.12.14, 16:36
Сообщение #19

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Цитата(Zlyukka @ 23.12.14, 17:46) *
Кстати при фильтрации содержимого журнала регистрации по приложению допускается как _$Job$_ так и Фоновое задание и т.д. Тоисть при отборе (теоретически) допустимо использовать эти значение

Фильтр по имени приложения не работает с представлением этого приложения равно как и с событием. Т. е. правильно:
СтруктураФильтра.Вставить("ИмяПриложения", "BackgroundJob");

не правильно:
СтруктураФильтра.Вставить("ИмяПриложения", "_$Job$_");
СтруктураФильтра.Вставить("ИмяПриложения", "Фоновое задание");

Но если написать не правильно, ошибки не будет (протестировано на 8.3.5.1248).

Сообщение отредактировал Petre - 24.12.14, 16:37


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: logist, Zlyukka,

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

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

Цитата(Zlyukka @ 22.12.14, 17:04) *
1 Запускал на толстом клиенте - в описании процедуры написано что там доступен;
2. Вот тут может быть загвоздка так как 1с сервер находится на другой машине вызываю из регламентного задания;


Так код выполняется в регламентном задании или на клиенте? Если в регламентном - могу предположить, что блокировка удаления связана с тем, что вы удаляете события фонового задания из фонового же задания. Своего рода взаимоблокировка на уровне SQL. Желательно проверить код не в регламентном а вызвав с клиента.

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


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

 

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