Имя: Пароль:
1C
1С v8
Вопрос про блокировки
0 Mihailov Alexandr
 
10.04.15
12:32
Добрый день, уважаемое сообщество!

Хотел спросить совета в такой ситуации: написал обработку которая льет из УТ 10.3 в Розницу данные через COMObject("V82.COMConnector").
В самой УТ во время проливки периодически делаются записи в самописный регистр сведений. Выливаются продажи, которые предварительно получены сложным запросом из УТ. Дело в том, что выгрузка идет долго и в то время как она идет база УТ полностью заблокирована, никто ничего не может проводить. Например, часто пишет, что заблокирован РН "ТоварыНаСкладах", хотя он принудительно не блокировался и из него ничего не читается. Подскажите в чем может быть причина и как это можно вылечить.

Спасибо!

"Управление торговлей", редакция 10.3 (10.3.12.3), 1С:Предприятие 8.2 (8.2.19.83), PostgreSQL
1 asady
 
10.04.15
12:40
(0) как "выливаешь" из УТ - опиши механизм
2 Mihailov Alexandr
 
10.04.15
13:10
(1) Если кратко:
//Сначала коннектимся к базе:
Com1C = Новый COMObject("V82.COMConnector");
ВнешняяБаза = Com1C.Connect();

//Потом создаю, заполняю и провожу документы:

Оприходование = ВнешняяБаза.Документы.ОприходованиеТоваров.СоздатьДокумент();
Оприходование.Дата = НачалоДняОРП+2;
Оприходование.АналитикаХозяйственнойОперации = ВнешняяБаза.Справочники.АналитикаХозяйственныхОпераций.ОприходованиеТоваров;
Оприходование.Комментарий = Комментарий;
Оприходование.Магазин = Магазин;
Оприходование.Организация = Организация;
Оприходование.Ответственный = Кассир;
Оприходование.Склад = Склад;

СтрТов = Оприходование.Товары.Добавить();
СтрТов.Номенклатура = Номенклатура;
СтрТов.Характеристика = Характеристика;
СтрТов.Количество         = Количество;
СтрТов.КоличествоУпаковок = Количество;
СтрТов.Цена = Цена;
СтрТов.Сумма = Цена;

Оприходование.Записать(ВнешняяБаза.РежимЗаписиДокумента.Проведение);
3 H A D G E H O G s
 
10.04.15
13:14
(2) Никак не связано с (0).
4 Лефмихалыч
 
10.04.15
13:15
(3) чойта?
Оприходование.Записать(ВнешняяБаза.РежимЗаписиДокумента.Проведение);
5 Лефмихалыч
 
10.04.15
13:17
хотя.... автор, а что блокируется? То, источник, где код выполняется, или приемник, который ВнешняяБаза?
6 MrStomak
 
10.04.15
13:22
(0) Очевидно, у тебя в УТ10 транзакция открыта. Смотри зачем она открывается и надо ли это. Приведенный кусок кода вообще не о том.
7 Mihailov Alexandr
 
10.04.15
13:31
(6) Блин, точно! Совсем про это забыл. Попробую убрать, потом отпишусь, спасибо!
8 Mihailov Alexandr
 
10.04.15
14:20
(6) Спасибо помогло отключение транзакций. Они там остались со времен тестирования.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн