Имя: Пароль:
1C
1С v8
Блокировка соединений с информационноа базой
0 1snpops
 
11.02.13
17:28
Гружу фотки к товарам внешней обработкой. УТ11. Режим файловый, код прилагаю:
   Каталог = Файл;
   НайденныеФайлы = НайтиФайлы(Каталог, "*.jpg");
   Справ = Справочники.Номенклатура.Выбрать();
   Для Каждого Картинка Из НайденныеФайлы Цикл
       НовКартинка = Новый Картинка(Картинка.ПолноеИмя); //это путь в системе
       ХранилищеКартинки = Новый ХранилищеЗначения(НовКартинка);
         Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул",Картинка.ИмяБезРасширения);
       Если НЕ Номенклатура.Пустая() Тогда
           ДвоичныеДанные = Новый ДвоичныеДанные(Картинка.ПолноеИмя);
           АдресВременногоХранилищаФайла = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
           ПрисоединенныеФайлы.ДобавитьФайл(Номенклатура, Картинка.ИмяБезРасширения, "jpg", ТекущаяДата(), ТекущаяДата(), АдресВременногоХранилищаФайла, АдресВременногоХранилищаФайла, , "");
           Товар = Номенклатура.ПолучитьОбъект();
           Товар.ФайлКартинки = Справочники.НоменклатураПрисоединенныеФайлы.НайтиПоНаименованию(Номенклатура);
           Товар.Записать();
       КонецЕсли;
   КонецЦикла;

Раньше все грузилось нормально, загрузил все фотки из одной папки. При попытке загрузить фотки из второй папки на участке:
ПрисоединенныеФайлы.ДобавитьФайл(Номенклатура, Картинка.ИмяБезРасширения, "jpg", ТекущаяДата(), ТекущаяДата(), АдресВременногоХранилищаФайла, АдресВременногоХранилищаФайла, , "");

Обработка вылетает и начинает обрабатываться код ОбщиеМодули - СоединеияИБГлобальный - КонтрольРежимаЗавершенияРаботыПользователей(). На сколько я понял каким то образом установилась блокировка соединений с ИБ. Как ее снять? Спасибо!
1 1snpops
 
11.02.13
17:31
Процедура КонтрольРежимаЗавершенияРаботыПользователей() Экспорт

   // Получим текущее значение параметров блокировки
   ТекущийРежим = СоединенияИБ.ПараметрыБлокировкиСеансов();
   БлокировкаУстановлена = ТекущийРежим.Установлена;
   
   Если НЕ БлокировкаУстановлена Тогда
       Возврат;    
   КонецЕсли;
       
   ВремяНачалаБлокировки = ТекущийРежим.Начало;
   ВремяОкончанияБлокировки = ТекущийРежим.Конец;
   
   ИнтервалПредупреждения    = ТекущийРежим.ИнтервалОжиданияЗавершенияРаботыПользователей;
   ИнтервалЗакрытьСЗапросом  = 0;
   ИнтервалЗакрытьБезЗапроса = - ИнтервалПредупреждения / 5;
   ИнтервалПрекратить        = - ИнтервалПредупреждения / 2.5;
   ТекущийМомент             = ОбщегоНазначенияКлиент.ДатаСеанса();
   
   Если ВремяОкончанияБлокировки <> '00010101' И ТекущийМомент > ВремяОкончанияБлокировки Тогда
       Возврат;
   КонецЕсли;
   
   ТекстСообщения = СоединенияИБКлиентСервер.ИзвлечьСообщениеБлокировки(ТекущийРежим.Сообщение);
   ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
       НСтр("ru = 'Рекомендуется завершить текущую работу и сохранить все свои данные. Работа системы будет завершена в %1.
       |%2'"),
       ВремяНачалаБлокировки, ТекстСообщения);
   
   Если НЕ ЗначениеЗаполнено(ВремяНачалаБлокировки)
    ИЛИ ВремяНачалаБлокировки - ТекущийМомент <= ИнтервалПрекратить Тогда
       
       СтандартныеПодсистемыКлиент.ПропуститьПредупреждениеПередЗавершениемРаботыСистемы();
       ЗавершитьРаботуСистемы(Истина, Истина);
       
   ИначеЕсли ВремяНачалаБлокировки - ТекущийМомент <= ИнтервалЗакрытьБезЗапроса Тогда
       
       Предупреждение(ТекстСообщения, 30);
       СтандартныеПодсистемыКлиент.ПропуститьПредупреждениеПередЗавершениемРаботыСистемы();
       ЗавершитьРаботуСистемы(Ложь, Истина);
       
   ИначеЕсли ВремяНачалаБлокировки - ТекущийМомент <= ИнтервалЗакрытьСЗапросом Тогда
       
       Предупреждение(ТекстСообщения, 30);
       СтандартныеПодсистемыКлиент.ПропуститьПредупреждениеПередЗавершениемРаботыСистемы();
       ЗавершитьРаботуСистемы(Истина, Истина);
       
   ИначеЕсли ВремяНачалаБлокировки - ТекущийМомент <= ИнтервалПредупреждения Тогда
       
       ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                          НСтр("ru = 'Работа системы будет завершена в %1.'"),
                          ВремяНачалаБлокировки);
       Предупреждение(ТекстСообщения, 30);
       
   КонецЕсли;
   
КонецПроцедуры

Самое странное что БлокировкаУстановлена = ЛОЖЬ. Тогда почему при отладке переходит в эту процедуру?
2 1snpops
 
11.02.13
18:12
Ошибка:
{
{""},
{
{"Debug",
{"Breakpoints",
{"#",6b17648f-6b38-438e-9108-a6edf40cfd41,
{1,aaff96cf-5e0a-4e93-aa3e-70ab34e49a77,
{
{"file://C:/Users/Манарк 1/Desktop/БИТ/ЗагрузкаВ1С_Товаров_7_02_13/Загрузка фотографий_финал.epf",0},97a25133-a99e-4099-8abb-235620e2b438,32e087ab-1491-49b6-aba7-43571b41ac2b,0},80570308-8558-4f21-b25f-55cc8ade1fd6,
{1,
{32,1,"",0,2}
}
}
},"RuntimeErrorStopMode",
{"#",a1a70d39-d74e-4f88-be84-4467fc99b869,
{1,0,0,0}
},""},
{
{""}
}
},
{""}
}
}
3 1snpops
 
11.02.13
18:13
RuntimeErrorStopMode ??? В файле 1cv8
4 ИсчадиеADO
 
11.02.13
18:19
ниче не понял,
"Тогда почему при отладке переходит в эту процедуру" - но ты же можешь посмотреть в стеке вызовов процедуру, из которой вызывается текущая
5 1snpops
 
11.02.13
18:21
(4) А как это делается? Я новичок, подскажи пожалуйста,буду очень признателен.
6 ИсчадиеADO
 
11.02.13
18:22
пункт меню отладка - стек вызовов
7 1snpops
 
11.02.13
18:23
(6) А нашел, спасибо, ща гляну
8 ИсчадиеADO
 
11.02.13
18:23
попробуй сначала одну норм. фотку загрузить из тех, что уже загружал
9 ИсчадиеADO
 
11.02.13
18:26
(7) файловую ковыряешь - незабудь об архивах, особенно если пользователей в базе нет уже
10 1snpops
 
11.02.13
18:28
(9) ты про делание архивных копий?
11 ИсчадиеADO
 
11.02.13
18:29
да, мало ли че...
12 1snpops
 
11.02.13
18:32
короче вылетает при выполнении метода ПрисоединенныйФайл.Записать(); при выполнении процедуры

ПрисоединенныеФайлы.ДобавитьФайл(Номенклатура, Картинка.ИмяБезРасширения, "jpg", ТекущаяДата(), ТекущаяДата(), АдресВременногоХранилищаФайла, АдресВременногоХранилищаФайла, , "");
13 ИсчадиеADO
 
11.02.13
18:36
элемент спр.НоменклатураПрисоединенныеФайлы при попытке записи вылетает из базы?
Попробуй тестирование и исправление на базе, восстановленной из архива. Только перед этим в том же отладчике посмотри, все ли поля этого элемента норм. заполнены
14 ИсчадиеADO
 
11.02.13
18:38
или не вылетает? просто ошибку пишет?
15 ИсчадиеADO
 
11.02.13
18:38
сделай скриншот, а то не понятно
16 ИсчадиеADO
 
11.02.13
18:40
короче похоже таблица оного справочника заблокирована кем то
17 1snpops
 
11.02.13
18:41
(14) Ошибки нету. Просто Обработка заканчивает выполнятся. Хотя он должен в цикле еще кучу фоток загрузить
18 ИсчадиеADO
 
11.02.13
18:41
кто то может параллельно пишет что-то
19 ИсчадиеADO
 
11.02.13
18:41
ты в базе один сидишь, или там еще кто-то?
20 1snpops
 
11.02.13
18:42
(19) Один сижу, больше пользователей нету
21 1snpops
 
11.02.13
18:44
Когда доходит до ПрисоединенныйФайл.Записать() сразу переходит в
ОбщиеМодули - СоединеияИБГлобальный - КонтрольРежимаЗавершенияРаботыПользователей()
22 ИсчадиеADO
 
11.02.13
18:45
попробуй загрузить dt базы в другую, там скорее всего блокировки не будет
23 1snpops
 
11.02.13
18:47
(22) Выгрузить ИБ в dt а потом в другую ИБ загрузить?
24 ИсчадиеADO
 
11.02.13
18:48
ну
25 1snpops
 
11.02.13
18:49
окей, попробую. Спасибо за советы!
26 ИсчадиеADO
 
11.02.13
19:01
и (8) попробуй. Есть подозрение, что один какой-то файл из твоей папки прожевать не может
27 1snpops
 
12.02.13
10:14
Доброе утро! Пробовал:
1) Грузить фото которое ранее загружал - не грузится
2) Выгрузил ИБ в dt и загрузил в dt в другую базу - та же байда.

На данный момент делаю тестирование и исправление ИБ, надеюсь поможет.
28 1snpops
 
12.02.13
10:15
Если и это не поможет то может кэш почистить?
29 1snpops
 
12.02.13
11:36
Тестирование и исправление ИБ не помогло
30 ИсчадиеADO
 
12.02.13
18:04
давай тимвьювер или амми, так не пойму
31 1snpops
 
25.02.13
23:19
Там проблема была в ограничении размера таблицы в файловом режиме, 4Гб. Пришлось сжать фотки.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn