0
- 20.05.2020 - 00:41
|
Добрый день, стоит задача из 7.7 записать реквизит справочника номенклатуры "Артикул" в БП 3. Соответственно нарываюсь на ошибку "Ошибка при выполнении обработчика - 'ПередЗаписью' Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода ЗапретНаИзменениеНоменклатурыПередЗаписью ()." Можно ли это обойти? | |
1
- 20.05.2020 - 00:42
|
Код выглядит следующим образом: Код: ОбъектНом = v8.Справочники.Номенклатура.НайтиПоКоду(Выборка.Товар.Код).ПолучитьОбъект(); ОбъектНом.Артикул = ""; ОбъектНом.Записать(); | |
2
- 20.05.2020 - 06:10
|
А Вы уверены, что товар найден по коду ? Если объект получен, то проблем по идее быть не должно. Как вариант попробуйте установить в истину ОбменДанными.Загрузка У меня аналогичная обработка работает, с проблемой не сталкивался | |
3
- 20.05.2020 - 08:04
|
2-USSR > Угу, уверен. Возможно проблема в том, что целевая база на SQL. Установка ОбменДанными.Загрузка = Истина к желаемому результату, к сожалению, не привела :( | |
4
- 20.05.2020 - 08:06
|
Кстати, а что это за метод такой: ЗапретНаИзменениеНоменклатурыПередЗаписью () что-то в синтакс-помощнике его не нашел :) | |
5
- 20.05.2020 - 08:15
| Что интересно, если закомментировать обработчик ПередЗаписью у справочника номенклатуры в целевой базе, то ошибка всё равно остаётся | |
6
- 20.05.2020 - 08:56
| 4-Sasha > 99% что это подписка на событие. При этом подписка ссылается на процедуру общего модуля. Общий модуль объявлен как серверный к примеру, а подписка срабатывает на клиенте. Отсюда и ошибка. | |
7
- 20.05.2020 - 10:06
| 6-SergeyY >а есть вариант записать изменения через COM одного реквизита объекта безо всяких подписок на события? :) | |
8
- 20.05.2020 - 10:10
|
(6)скорее всего так и есть. Я почему то подумал, что конфа типовая (7)а что это вообще за код, почему из 7.7 вызывается? Выборка в коде 8-рочная ? | |
9
- 20.05.2020 - 11:43
|
(8) Суть: сопоставление номенклатуры в семерке и восьмерки (практически типовая БП 3.0, есть расширения, не касающиеся номенклатуры) идет по артикулу. В семерку артикулы подгружаются из внешнего источника. Нужно массово обновить артикулы в семерки из этого источника и соответственно переписать их в восьмерке. Для удобства работы (чтобы не запускать две обработки в каждой из баз) думал это сделать в семерке через COM- соединение Да, выборка в коде восьмерочная - результат запроса по старому артикулу | |
10
- 20.05.2020 - 17:22
|
В общем, не решил эту проблему. Перенёс кусок обновления данных в восьмерке во внешнюю обработку, запускаемую в самой восьмерке и там по OLE к семерке. | |
11
- 20.05.2020 - 18:30
| нет в типовой БП такой процедуры | |
12
- 21.05.2020 - 10:38
|
11-Uho > Спасибо за наводку :) Теперь осталось выяснить, как и откуда вызывается эта процедура. Нашел нетиповой общий модуль с единственной этой процедурой, тип модуля "Клиент, Сервер" Но откуда вызывается этот модуль ненахожу. Глобальный поиск по процедуре дает ссылку только на этот модуль. Глобальный поиск по имени модуля тоже ничего не даёт "совпадений не найдено". Есть два расширения, в них поиск по имени процедуры или модуля ничего не находит | |
13
- 21.05.2020 - 12:29
| (12)Так тут уже говорили, смотри подписки на события. Метод к подписке наверное и привязан. Найди ссылки на модуль | |
| Интернет-форум Краснодарского края и Краснодара |