Управляемые блокировки |
Я |
23.11.12 — 11:14
Добрый день, сразу вопрос. Перевел конфигурацию УПП в режим автоматические и управляемые блокировки,система РА, некоторые документы с регистрами по которым делаются движения переведены в управляемый режим блокировок для исключения взаимоблокировок при одновременном проведении. В процедуру ОбработкаПроведения() для каждого документа добавил такой код
////////////////////////////////////////////////////////
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить();
ЭлементБлокировки.Область = «РегистрНакопления.ТоварыОрганизаций»;
ЭлементБлокировки.Область = «РегистрНакопления.ЗаказыПокупателей»;
ЭлементБлокировки.Область = «РегистрНакопления.УчетЗатрат»;
ЭлементБлокировки.Область = «РегистрНакопления.УчетЗатратРегл»;
ЭлементБлокировки.Область = «РегистрНакопления.Продажи»;
ЭлементБлокировки.Область = «РегистрНакопления.СвободныеОстатки»;
ЭлементБлокировки.Область = «РегистрНакопления.ТоварыНаСкладах»;
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.ИсточникДанных =ЭтотОбъект.Товары;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных(«Номенклатура», «Номенклатура»);
Блокировка.Заблокировать();
////////////////////////////////////////////////////////////
При одновременном проведении таких документов как РеализацияТоваровУслуг,ПеремещениеТоваров,ВозвратТоваровОтПокупателя выходит Ошибка при вызове метода контекста (Заблокировать)
Блокировка.Заблокировать()
После этого документы проводятся поочередно.Как можно убрать эту ошибку?
1 — 23.11.12 — 11:18
а что за ошибка?
2 — 23.11.12 — 11:33
Ошибка при вызове метода контекста (Заблокировать)
Блокировка.Заблокировать()
Превышено время ожидания, т.е один документ на какие-то доли секунды успевает провестись, а для второго выходит это сообщение.Также у перечисленных выше документов есть общие регистры по которым они делают движения.Может при попытке одновременного проведения,документы пытаются сделать запись в один и тот же регистр и в результате выскакивает эта ошибка? Тогда как можно оптимизировать код установления блокировки?
3 — 23.11.12 — 12:08
Ну система все правильно пишет. В документах пересекающиеся товары есть?
4 — 23.11.12 — 12:13
в принципе есть. Например я проверял работу кода по двум документам, перемещение и возврат.Значит получается что если один товар пытаться провести по двум разным документам выйдет ошибка блокировки, правильно ли я понял?
5 — 23.11.12 — 12:19
(4) логика железная…
6 — 23.11.12 — 12:19
(0) Странный код, явно избыточные блокировки устанавливаются, зачем он нужен?
7 — 23.11.12 — 12:20
все правильно у тебя ошибку выдает. увеличивай скорость проведения
8 — 23.11.12 — 12:23
(4) В нормальных условиях, если «один документ на какие-то доли секунды успевает провестись», ошибка не возникнет. Второй документ дождется освобождения и проведется
9 — 23.11.12 — 12:26
(0) Явную упр блокировку нужно ставить, когда ты прочитал данные из регистра, а затем анализируя полученные данные изменяешь регистр. Пример — партионное списание — перед получением остатков по партиям нужно установить упр исключит блокировку. Это нужно для того, чтобы параллельная транзакция не поменяла данные и не даже не начала чтение, пока не закончится первая транзакция
10 — 23.11.12 — 12:31
(4) Исходя из твоего кода да. Ты же накладываешь исключительную блокировку на все товары из данного регистра. Если документы по разным складам проводятся, то блокируй в разрезе склада, тогда параллельность будет.
Если по одному, то блокировка обязательно нужна, ты же одни и те же остатки хочешь списать разными документами.
А вообще почитай теорию блокировок и зачем они нужны, инфы сейчас полно.
11 — 23.11.12 — 12:35
(7)как можно увеличить скорость проведения?
(10)в принципе товары в документах могут по разным складам проводиться, могут и на один склад. По теории блокировок инфу читал, код с небольшой доработкой был взят из примера на сайте.
12 — 23.11.12 — 12:35
(9) фигню сказал
13 — 23.11.12 — 12:35
(10) > Если по одному, то блокировка обязательно нужна, ты же одни и те же остатки хочешь списать разными документами.
Если идет просто движение по регистру то не нужно никаких блокировок ставить руками, платформа все сама делает
14 — 23.11.12 — 12:36
(12) обоснуй
15 — 23.11.12 — 12:36
(11), Судя по всему часть регистров не перевел в управляемый режим. Есть еще регистры сведений, регистры бухгалтерского учета, последовательности.
16 — 23.11.12 — 12:36
кстати да. накладывай более избирательную блокировку
17 — 23.11.12 — 12:37
(14) а не. перечитал еще раз. все по теме ) беру слова обратно
18 — 23.11.12 — 12:42
(11)у меня в конфигурации стоит смешанный режим блокировки, а это дает возможность системе выбирать какой вид блокировки ставить документам и связанным с ними регистрами. Поэтому управляемую блокировку я поставил на те документы и связанные с ними регистры,которые являются общими для них
19 — 23.11.12 — 12:46
(18) поставь для нужных документов и регистров упр режим блокировок в конфигураторе и выкинь код установки явных блокировок, там где он не требуется по какой-то логике алгоритма
20 — 23.11.12 — 12:55
я поставил для нужных документов и регистров управляемый режим блокировки+ добавил вышеуказанный код в обработку проведения этих документов, в нужных регистрах только поставил управляемый режим блокировок.
21 — 23.11.12 — 13:01
Странно, а что, «БлокироватьДляИзменения = Истина;» в модуле регистра в событии «ПередЗаписью» отменили?
22 — 23.11.12 — 13:12
(20) зачем код явных блокировок добавлен? Использование режима упр блокировок не означает, что везде нужно прописывать блокировки самостоятельно. Платформа продолжит сама накладывать неявные блокировки там, где это необходимо, но т.к. понижается уровень изоляции транзакций, может возникнуть нарушение логики работы некоторых алгоритмов (пример — контроль остатков до списания), написанных для авто режима, вот там, в нужный момент надо явно установить блокировку.
23 — 23.11.12 — 13:14
(22) блокировки в начале накладываются для избежания взаимоблокировок (дедлоков) в случаях непоследовательного захвата ресурсов разными документами.
24 — 23.11.12 — 13:14
(9) плюсую
(0) явно не нужная блокировка, убирай к чертем
(21) именно это ему и надо в данном случае
(22) плюсую
25 — 23.11.12 — 13:17
(23) скорее всего, дедлоки у него и не вылезут, зато избыточность блокировки явная. Я бы исходил из проблем: есть проблема дедлока — решал бы. Вряд ли у него они проявятся.
26 — 23.11.12 — 13:18
кстати, код:
ЭлементБлокировки.Область = «РегистрНакопления.ТоварыОрганизаций»;
ЭлементБлокировки.Область = «РегистрНакопления.ЗаказыПокупателей»;
ЭлементБлокировки.Область = «РегистрНакопления.УчетЗатрат»;
ЭлементБлокировки.Область = «РегистрНакопления.УчетЗатратРегл»;
ЭлементБлокировки.Область = «РегистрНакопления.Продажи»;
никого не смущает? мне одному кажется что заблокируется только область, описанная в последней инструкции?
27 — 23.11.12 — 13:22
(25) в принципе верно говоришь
28 — 23.11.12 — 13:24
(26) Кстати да Слона-то я и не приметил
29 — 23.11.12 — 13:27
(23) по ситуации нужно смотреть, явно залочить все регистры это не решение
30 — 23.11.12 — 13:43
(0) Так,как режим стоит «автоматические и управляемые блокировки», то возможно проблема даже не в коде вовсе?. На сколько я помню при таком режиме работы, если что то «сверху» по метаданным стоит в режиме «автоматической блокировки», то вся «операция» переводиться в автоматическую блокировку, соответственно и все регистры блокируются в автоматическом режиме. Например один из регистров не переведен в управляемую блокировку. ? Или в документе стоит автоматическое удаление движений. Но в УПП по моему стоит «не автоматическое удаление». Возможно автору все регистры перевести в режим управляемый блокировок.?
31 — 23.11.12 — 14:00
(30) как правило, при попытке наложения разных вариантов блокировок объектов в одной транзакции платформа начинает материться
32 — 23.11.12 — 14:04
(30)все регистры переводить в управляемый режим блокировок,замучаешься,ведь их полно.
(21)это обязательно делать если регистр переведен в управляемый режим блокировки?
(31)следует ли перевести целиком конфигурацию в управляемый режим блокировки, а документы и регистры оставить как есть?
33 — 23.11.12 — 14:07
(32) переводи конфигу в управляемый режим. этого будет достаточно
34 — 23.11.12 — 14:10
(32)Зачем тебе эту головную боль?
Что ты ожидаешь увидеть при управляемых блокировках?
35 — 23.11.12 — 14:15
В каждом регистре делаешь как в (21), конфу переводишь в управляемый режим. Я к этому еще и контроль остатков переписывал — за примером его работы в УТ11.
(34) основной эффект после выполнения вышеописанного — существенное сокращение времени блокировки при проведении документов — блокировки накладываются в момент записи в регистр. Контроль остатков смотрит только на возникновение отрицательных остатков после записи наборов данных, но до завершения транзакции.
36 — 23.11.12 — 14:16
хорошо, предположим перевел конфигурацию на управляемый режим блокировок, убрал код из обработки проведения, но не будет ли конфликта от того что вся конфа под управляемым режимом, а документы и регистры часть в управляемом, часть в автоматическом режимах?
(34) вся затея по написанию этого кода от того что возникла необходимость решить вопрос взаимоблокировок при одновременном проведениии некоторых документов, у которых есть общие регистры
37 — 23.11.12 — 14:17
(35) +1
38 — 23.11.12 — 14:17
(36) если конфига в управляемом режиме — то пофиг что у объектов стоит
39 — 23.11.12 — 14:17
(36)во всех этих регистрах нужен контроль остатков?
40 — 23.11.12 — 14:19
(36) я думаю идея с управляемым режимом — это уход от ожидания на блокировках, а не уход от взаимоблокировок. взаимоблокировки у тебя еще впереди
41 — 23.11.12 — 14:19
(35)+(38) т.е при этом изчезает проблема с взаимоблокировками?
42 — 23.11.12 — 14:21
(41) взаимоблокировки — неразрешимые блокировки, дедлок. когда два документа захватили одни ресурсы и не могут разойтись.
а ожидания на блокировках — это когда документы работают с общими ресурсами, и один ждет пока закончится транзакция другого. именно этого и позволяет избежать (точнее уменьшить вероятность такого) управляемый режим
43 — 23.11.12 — 14:22
какая у тебя вообще сейчас проблема? пользователи получают сообщения «вы стали жертвой дедлока?»
44 — 23.11.12 — 14:27
(42) т.е дедлок неизлечимая болезнь конфигурации
(43) что-то в этом духе, особенно при попытке одновременного проведения, реализация товаров, перемещение товаров и возврат товаров.
(39)в большинстве из них.Часть проблемы решилась за счет перевода в РАУЗ
45 — 23.11.12 — 14:30
(21) кроме «БлокироватьДляИзменения = Истина;» нужно что то еще дописать в коде?
46 — 23.11.12 — 14:31
(44) тогда у тебя точно дедлоки. но это излечимо — как раз установкой предварительной блокировки на те ресурсы, которые будут изменяться в модуле проведения. только устанавливать их надо грамотно, не на все подряд, а с максимальным количеством отборов, иначе уже есть риск нарваться избыточные блокировки
47 — 23.11.12 — 14:33
(35) > В каждом регистре делаешь как в (21)
Какой смысл так делать везде? (БлокироватьДляИзменения = Истина;)? Это нужно только там где есть контроль остатков после записи. Писать БлокироватьДляИзменения [в модуле регистра в событии «ПередЗаписью»] без разбора имхо неверно.
48 — 23.11.12 — 14:33
(46) я так думаю что можно сделать отбор по складам
49 — 23.11.12 — 14:34
(47) +1
50 — 23.11.12 — 14:34
(48) как минимум
51 — 23.11.12 — 14:40
еще как правильней ЭлементБлокировки = Блокировка.Добавить(РегистрНакопления.ТоварыОрганизаций);
или так
ЭлементБлокировки.Область = «РегистрНакопления.ТоварыОрганизаций»;
52 — 23.11.12 — 14:40
(40) +1 ^-)
53 — 23.11.12 — 14:41
потому что в синтаксис помощнике 1С пишется Блокировка.Добавить(РегистрНакопления.ТоварыОрганизаций); , а в примерах ЭлементБлокировки.Область = «РегистрНакопления.ТоварыОрганизаций»;
54 — 23.11.12 — 14:43
в типовой ут 11 посмотри реализацию
55 — 23.11.12 — 14:43
(51) Это однофигственно
56 — 23.11.12 — 14:47
(51) Только, разумеется, в 1м случае имя пространства нужно тоже в кавычках
57 — 23.11.12 — 14:57
понятно, сейчас стало немного
58 — 23.11.12 — 15:01
(57) А у тебя же SQL версия да?
59 — 23.11.12 — 15:02
скл 2088 р2
60 — 23.11.12 — 15:15
(59) — Возможно, тебе придется полностью модуль проведения переписывать по документам, сложно, долго, но это единственный вариант. Только он даст эффект «качественного» проведения. С блокировками стоит потренироваться на каркасной конфигурации для начала. Возможно придется избавится в конфигурации от «тормозящих» объектов. Если конечно бесстрашный в УПП такое делать.
61 — 23.11.12 — 15:23
(59) иного не остается, и так конфа не тиовая, частично переписанная, но хотелось бы решить вопрос окончательно по взаимоблокировкам
62 — 26.11.12 — 13:57
Добрый день в продолжении темы взаимоблокировок.Вернул с РАУЗ на партионный учет, онлайн списание по партиям, режим блокировок управляемый, в регистрах там где необходимо стоит БлокироватьДляИзменений=Истина, в обработке проведения оставил
/////////////////////////////////////////////////
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить();
ЭлементБлокировки.Область = «РегистрНакопления.УчетЗатрат»;
ЭлементБлокировки.Область = «РегистрНакопления.УчетЗатратРегл»;
ЭлементБлокировки.Область = «РегистрНакопления.СвободныеОстатки»;
ЭлементБлокировки.Область = «РегистрНакопления.Продажи»;
ЭлементБлокировки.Область = «РегистрНакопления.ТоварыНаСкладах»;
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.ИсточникДанных =ЭтотОбъект.Товары;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных(«Номенклатура», «Номенклатура»);
ЭлементБлокировки.ИспользоватьИзИсточникаДанных(«Склад», «Склад»);
Блокировка.Заблокировать();
/////////////////////////////////////////////////////////
но все равно выходит ошибка блокировки при выполнении транзакции, превышено время ожидания.
63 — 26.11.12 — 14:26
ПОЛУЧАЕТСЯ ЧТО ПРИ СПИСАНИЕ ПО ПАРТИЯ ОНЛАЙН ПРОИСХОДИТ ОЖИДАНИЕ ПО ВРЕМЕНИ ПРИ БЛОКИРОВКАХ. В КОНФИГУРАТОРЕ В АДМИНИСТРИРОВАНИИ В НАСТРОЙКАХ ИБ УВЕЛИЧИЛ ВРЕМЯ ОЖИДАНИЯ ПРИ БЛОКИРОВКАХ ДО 30 СЕК. ЧТО ЕЩЕ МОЖНО СДЕЛАТЬ?
64 — 26.11.12 — 14:33
Ожидание происходит потому что граница последовательности по одной организации это одна запись в таблице.
Расчет себестоимости в онлайне невозможен. Увеличивать время таймаута нельзя.
65 — 26.11.12 — 15:01
что-нибудь можно сделать в этом случае?
66 — 26.11.12 — 15:04
может при онлайн списании есть регламентные процедуры? управляемые блокировки теоретически снижают взаимоблокировки
67 — 26.11.12 — 15:33
(66)можно двигать границу последовательности регламентно. Есть обработка «Установка границы последовательности…»
У вас неверное представление об управляемом режиме и понятий блокировка и взаимоблокировка.
http://1cexpo.ru/metodiki/21-tipichnye-prichiny-izbytochnyx-blokirovok-i-metody-optimizaczii.html
Вообще изначально задача какая была? Рассчитывать себестоимость в онлайне?
68 — 26.11.12 — 16:00
(67)изначальная задача настроить списание по партиям в онлайн,чтобы не выходила взаимоблокировка.Как можно это настроить?
69 — 26.11.12 — 16:06
(64) +1
(68) убедить не списывать онлайн
70 — 26.11.12 — 16:17
(69) снял в настройках учета галочки в списывать партии при проведении документов, также Гилев советует использовать регистр Свободные остатки и РАУЗ, но вот тут и возникает вопрос как настроить все правильно?
71 — 26.11.12 — 16:19
(68) я так понял проблема в следующем
вам нужен расчет себестоимости в онлайн, вы начали использовать политику «списывать при проведении» в этом случаи у вас начали возникать ожидании на блокировках (20 сек таймаут). Затем вы решили расчитывать с помощью РАУЗ, но в этом случаи у вас начали проблемы со взаимоблокировками.
Значит вам нужно разобраться почему у вас возникают взаимоблокировки, ЦУП в помощь, если нет ЦУПа, профайлер событие дедлок граф. Если ни того ни другого нет, посмотрите в коде есть ли запись движение в регистры из разных документов вручную, и в каком порядке они выполняются.
72 — 26.11.12 — 16:26
спасибо за совет
73 — 27.11.12 — 09:53
доброе утро, еще раз возвращаясь к теме списание по партиям онлайн.Как советует Гилев в рекомендациях, отказаться от использования режима списания по партиям онлайн, перейти в оффлайн, использовать регистр Свободные остатки, перейти на РАУЗ и управляемые блокировки.Сделал все кроме РАУЗ, также добавил в регистры вызов управляемой блокировки и в обработке проведения добавил код управляемых блокировок.При проведении одновременно двух документов вышла такая ошибка
Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
{Документ.РеализацияТоваровУслуг.МодульОбъекта(7004)}: Ошибка при вызове метода контекста (Выполнить)
по причине:
по причине:
Ошибка выполнения запроса
по причине:
Конфликт блокировок при выполнении транзакции:
Microsoft OLE DB Provider for SQL Server: Транзакция (идентификатор процесса 59) вызвала взаимоблокировку ресурсов блокировка с другим процессом и стала жертвой взаимоблокировки. Запустите транзакцию повторно.
HRESULT=80004005, SQLSrvr: SQLSTATE=40001, state=33, Severity=D, native=1205, line=1
74 — 27.11.12 — 10:07
первая часть ошибки могла появиться так как одновременно с этим документом проводился Перемещение товаров.Как можно в дальнейшем при списании по партиям онлайн добиться исключения взаимоблокировок?
krbIso
75 — 27.11.12 — 16:35
выложи конфу нужно смотреть что ты там наделал
Здравствуйте,
Пробовал заполнить начальными данными довольно большой справочник безрезультатно, но проблема оказалась не в его размере. В стандартный журнал регистрации вываливаются ошибки:
{ОбщийМодуль.внЖурналРегистрацииСервер.Модуль(492)}: Ошибка при вызове метода контекста (Заблокировать)
Блокировка.Заблокировать();
по причине:
Использование блокировки допустимо только внутри транзакции в режиме управляемых блокировок!
Ошибка возникает в процедуре «РегистрацияИзмененияОбъекта», которая по логике вызывается как при подписках записи объектов, так и при начальном заполнении. Но разница в том, что при записи объектов платформа неявно открывает транзакцию самостоятельно, а при начальном заполнении явного открытия транзакции я не увидел, т.е. происходит попытка блокировки вне транзакции. Впрочем, код просматривал бегло, может и пропустил чего или недопонял.
Тема: Блокировки Данных 1с по билетам (Прочитано 5852 раз)
0 Пользователей и 1 Гость просматривают эту тему.
Пытаю воспроизвести нечего не выходит
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
Блокировка.Заблокировать();
Скрыть
Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
{Документ.РасходнаяНакладная.МодульОбъекта(18)}: Ошибка при вызове метода контекста (Заблокировать)
Блокировка.Заблокировать();
по причине:
Использование блокировки допустимо только внутри транзакции в режиме управляемых блокировок!
Записан
Ну так включи управляемые блокировки в свойствах конфигурации. По умолчанию там автоматические.
Записан
Записан
Stasya |
|
||
---|---|---|---|
|
При проведении документа в серверной версии бухгалтерии 1с 8.2 (обычное приложение) вылетает ошибка:
Ошибка при вызове метода контекста (Заблокировать): У счета отсутствует субконто, заданное ссылкой на характеристику. При проведении только одного документа»Возврат поставщику», остальные документы проводятся нормально. Сделала копию базы, обновила. В копии ошибка исчезла, при обновлении рабочей базы — ошибка осталась. Что делать??? Откуда у такой ошибки «ноги растут»? Изменено 28.08.13 07:55:49 |
Yandex |
|
||
---|---|---|---|
|
Jonsony |
|
||
---|---|---|---|
|
релиз платформы?
релиз конфы? без этого ноги не просто искать |
Stasya |
|
||
---|---|---|---|
|
ой, извитие. Платформа: 8.2.17.157, релиз БП 2.0.44.5 |
Stasya |
|
||
---|---|---|---|
|
отбой, слетел режим совместимости с 8.2.13. Установила, все заработало. |
Stasya |
|
||
---|---|---|---|
|
Вопрос закрыт! |
Подсказка: Щелкнув по значку |
Перейти к контенту
Всем доброго дня!
Делаю расширение с версионированием. Скопировал стандартный механизм в расширение. Все работало ок.
Тут добавил новый документ в типы объекта расширения и при попытке заблокировать таблицу получаю следующую ошибку
{ЭИТ ОбщийМодуль.ЭИТ_ВерсионированиеОбъектов.Модуль(1402)}: Ошибка при вызове метода контекста (Заблокировать): Неверный тип значения: РегистрСведений.ЭИТ_ВерсииОбъектов.Объект
Вот код, который приводит к ошибке.
Если ТранзакцияАктивна() Тогда
БлокировкаДанных = Новый БлокировкаДанных();
ЭлементБлокировки = БлокировкаДанных.Добавить(«РегистрСведений.ЭИТ_ВерсииОбъектов»);
ЭлементБлокировки.УстановитьЗначение(«Объект», Ссылка);
БлокировкаДанных.Заблокировать();
КонецЕсли;
проблема только в одной базе. Делаю ее копию через восстановление бэкапа sql — все работает
База продакшн почти 24/7, так что час на бэкап и его восстановление — непозволительная роскошь
Пробовал и добавить новый тип в этот регистр, и убрать этот документ и добавить заново — ничего не помогает
Причем если добавлять запись в регистр руками — то тип выбрать и записать можно. То есть в базе эти данные храниться могут. Проблема только в блокировке.
Остальные типы — и справочники, и документы записываются без проблем.
Может у кого есть какие идеи?
-
Добрый день. При проведении документа в БП 3.0 последней версии Реализация товаров и услуг, выдает ошибку — Ошибка при вызове метода контекста (Заблокировать): Неверные значения типов полей : РегистрНакопления.ПрочиеРасчеты.РасчетныйДокумент — Возврат товаров от покупателя
Не можем понять даже при чем тут Возврат товаров от покупатля. -
Offline
nbIpKuH_BaH9I
Модераторы
Команда форума
Модератор- Регистрация:
- 16 сен 2009
- Сообщения:
- 8.157
- Симпатии:
- 553
- Баллы:
- 204
-
Offline
nickpugachev
Профессионал в 1С
Команда форума- Регистрация:
- 28 май 2012
- Сообщения:
- 3.397
- Симпатии:
- 156
- Баллы:
- 104
обработчик проведения пытается заблокировать остатки регистра по измерению РасчетныйДокумент по значению. В значении указывает документ возврата товаров, которого нет среди типов значения измерения — вот и ошибка.
скорее всего что-то сделали не так в возврате, раз он его ловит на расчетах.
-
«В значении указывает документ возврата товаров, которого нет среди типов значения измерения» — в 1С не такой специалист, где можно посмотреть, что он указывает? Перерыл весь документ.
— Объединение сообщений, 7 июл 2014 —
В общем пока не понимаю что делать
Последнее редактирование: 7 июл 2014
-
Это пишет в отладчике
{ОбщийМодуль.РеализацияТоваровУслугФормыКлиент.Модуль(70)}: Ошибка при вызове метода контекста (Записать)
Если Форма.Записать(ПараметрыЗаписи) Тогда
по причине:
Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
{ОбщийМодуль.ОбщегоНазначенияБПВызовСервера.Модуль(987)}: Операция не выполнена
Если Форма.Записать(ПараметрыЗаписи) Тогдапо причине:
Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
{ОбщийМодуль.ОбщегоНазначенияБПВызовСервера.Модуль(987)}: Операция не выполнена{ОбщийМодуль.ОбщегоНазначенияБПВызовСервера.Модуль(987)}: Операция не выполнена
ВызватьИсключение НСтр(«ru=’Операция не выполнена’»); -
Ошибка устранена. Дело оказалось в косячном обновлении 34.10 откатил до 33 и все нормально начало проводиться
Ошибка при вызове метода контекста (Заблокировать): Неверные значения типов полей : РегистрНакопления.ИПМПЗОтгруженные.ДокументОтгрузки — Списание с расчетного счета Интересно они когда нибудь эту ошибку поправят? Ошибки уже больше года, а воз и ныне там
если писать на мисту — то нет, пиши в 1с
И что это даст? Неужели нужно 1001 письмо чтобы исправить? Или за год никто не написал и я буду первым? А насчет мисты ты зря так думаешь, там мониторят и правят ошибки, плюс на мисте есть много людей которые поближе к 1С чем я, и поэтому вероятность исправление будет выше, чем от моего одинокого письма
ты сам привёл темы на мисте, целых 3, а их наверно и больше было. результата то нет) Да исправят когданибудь… пути 1с неисповедимы
Ну так может кто поближе, знают то, что я не знаю. Например что в 33 релизе это исправят
или как обойти эту ошибку
собсно таки надо личку на мисте. написал бы сюда
дык исправь, иль на автоматический режим регистр переведи.
Да чтоб я знал как, не спрашивал бы
нет БП под рукой, судя по ошибке — неправильно параметры задаёт, в СП описано что должно быть (типы) и т.д., это проверь сначала в отладчике, что в параметры лезет
Он просто зачем то пытается наложить блокировку на ИПМПЗОтгруженные, при этом в измерении регистра ДокументОтгрузки, не включен документ (списание с расчетного счета), который передается ему в качестве параметра (берется из ТЧ документа корректировка долга)
В принципе, чтобы не заморачиватся можно прописать Если СтруктураПараметров.ИмяТаблицы=»ИПМПЗОтгруженные» тогда Возврат; КонецЕсли; Или добавить в измерения Списание со счета
движения регистра будут корректные в итоге? тогда да, заглушку ставь
Ну эта же блокировка, т.е. на движение не влияет, а только на параллельную работу
Вечером, сейчас люди работают, а дома в файловой версии эта ошибка не воспроизводится
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Stasya |
|
||
---|---|---|---|
|
При проведении документа в серверной версии бухгалтерии 1с 8.2 (обычное приложение) вылетает ошибка: Изменено 28.08.13 07:55:49 |
Yandex |
|
||
---|---|---|---|
|
Jonsony |
|
||
---|---|---|---|
|
релиз платформы? без этого ноги не просто искать |
Stasya |
|
||
---|---|---|---|
|
ой, извитие. Платформа: 8.2.17.157, релиз БП 2.0.44.5 |
Stasya |
|
||
---|---|---|---|
|
отбой, слетел режим совместимости с 8.2.13. Установила, все заработало. |
Stasya |
|
||
---|---|---|---|
|
Вопрос закрыт! |
Подсказка: Вы можете добавить любую страничку в Избранное щелкнув по значку |