0
alextom81
06.03.12
✎
12:24
|
1. Есть две УПП базы. РиБ. Обмен идёт каждые 15 минут
2. Есть производство, на котором открыт доработанный документ "перемещение товаров", стоит сканер и раз в 3-4 секунды считывает данные проходящей мимо коробки. Потом делает движения по "товары на складах", записать документ. И всё :
Если мИспользоватьНастройкиСканера Тогда
мНеПроверятьПередЗаписью = Истина;
СтрокаТабличнойЧасти.КоличествоКоробок = СтрокаТабличнойЧасти.КоличествоКоробок + 1;
ВыполнитьДвиженияПоРНТоварыНаСкладах(Номенклатура, Количество);
Записать(РежимЗаписиДокумента.Запись);
КонецЕсли;
Процедура ВыполнитьДвиженияПоРНТоварыНаСкладах(Номенклатура, Количество)
// Расход
Набор = Движения.ТоварыНаСкладах.Добавить();
Набор.ВидДвижения = ВидДвиженияНакопления.Расход;
Набор.Активность = Истина;
Набор.Период = Дата;
Набор.Регистратор = Ссылка;
Набор.Качество = Справочники.Качество.Новый;
Набор.Номенклатура = Номенклатура;
Набор.Количество = Количество;
Набор.Склад = СкладОтправитель;
// Приход
Набор = Движения.ТоварыНаСкладах.Добавить();
Набор.ВидДвижения = ВидДвиженияНакопления.Приход;
Набор.Активность = Истина;
Набор.Период = Дата;
Набор.Регистратор = Ссылка;
Набор.Качество = Справочники.Качество.Новый;
Набор.Номенклатура = Номенклатура;
Набор.Количество = Количество;
Набор.Склад = СкладПолучатель;
КонецПроцедуры
В чем вопрос. В процессе обмена этот документ иногда брыкается - "ошибка блокировки транзакций" - после чего весь конвеер встает колом. Мне это не нравиться, и вот мысль - таблица же блокируется в момент записи документа, если я Записать() сделаю через попытку - не пропадут ли у меня записи в РН, которые были добавлены до этого ? Или городить временную ТЗ, в которую пихать данные вместо буфера ?
|
|
4
alextom81
06.03.12
✎
12:31
|
ЭЭЭ, нет. - Там толкатель стоит, который скидывает коробку, если 1С не смогла опознать/прочитать Штрих-Код. Всё не так тривиально
|
|