Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: БУ2.0 - непонятное поведение алгоритма в базе под SQL
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
kserg2012
Бухгалтерия для Украины, редакция 2.0.15.1
Платформа 8.3.10.2772

Имею сложную в алгоритме и оформлении обработку загрузки данных в БУ 1.2

В связи с переходом на БУ 2.0 пришлось ее переделать, учитывая сложность переделал только сам алгоритм под нюансы БУ 2.0
т.е. новая обработка в оформлении осталась такой же, а для работы в 2.0 запускается в толстом клиенте.

Суть проблемы заключается в том, что в файловой версии данный алгоритм работает (проверено на нескольких базах),
а в SQL-версии падает с ошибкой в момент записи с проведением документа


Ошибка при вызове метода контекста (Записать):
Ошибка при выполнении обработчика - 'ОбработкаПроведения':
{ОбщийМодуль.НалоговыйУчет.Модуль(591)}: Ошибка при вызове метода контекста (УстановитьУправляемуюБлокировку):
Попытка передачи с клиента на сервер мутабельного значения 2-го параметра метода УстановитьУправляемуюБлокировку ()

В чем причина нашел быстро (там действительно в вызове с толстого клиента на серевер передается ТаблицаЗначений,
но мне не понятно - почему же этот алгоритм работает в файловой версии ?
И как разрешить эту проблему?
sava1
Цитата(kserg2012 @ 04.06.19, 13:10) необходимо зарегистрироваться для просмотра ссылки
И как разрешить эту проблему?

уложить тз в структуру и передать на сервер

для меня неясно - ОбработкаПроведения выполняется на сервере - откуда и что передаем?
kserg2012
sava1 @ Сегодня, 13:41 необходимо зарегистрироваться для просмотра ссылки ,
В том том дело, что типовой алгоритм в ОбщемМодуле уже заточен под упр.формы и все вызовы его идут корректно

Получается что в файловой версии не происходит этой ошибки (передача мутабельного объекта на сервер) за неимением сервера...

подскажите, а как вставить в пост пару скринов с трассировки?

Цитата(sava1 @ 04.06.19, 13:41) необходимо зарегистрироваться для просмотра ссылки
для меня неясно - ОбработкаПроведения выполняется на сервере - откуда и что передаем?

пробовал также установить для вызываемого общего модуля флаг Привелигированный, не помогло
Vladal
Цитата(kserg2012 @ 04.06.19, 14:34) необходимо зарегистрироваться для просмотра ссылки
за неимением сервера...

как раз там всё работает "как сервер".

Цитата(kserg2012 @ 04.06.19, 14:34) необходимо зарегистрироваться для просмотра ссылки
как вставить в пост пару скринов с трассировки?

В Правилах пункт 8. Тэг IMG.
kserg2012
Добрый день коллеги.
Решил немного освежить тему, в связи с вновь открывшимися обстоятельствами smile.gif

Оказалось, что на самом деле ошибка передачи мутабельного значения вызывала вот эта структура
содержащая Новый Диапазон

СтруктураЗначенийБлокировки = Новый Структура("Период", Новый Диапазон(, ДокументОбъект.Дата));


Собственно само решение нашел - обернул этот Диапазон через ЗначениеВСтрокуВнутр(Новый Диапазон )
а в вызываемой процедуре вывернул и подсунул снова в алгоритм - всё заработало

Но вопрос у меня остался: почему передача пар-ра Новый Диапазон вызывает такую ошибку передачи мутабельного значения?


Судя по СП - должно передаваться.
Доступность:

Сервер, толстый клиент, внешнее соединение.
Возможен обмен с сервером. Сериализуется.
Vofka
Есть предположение, что в клиент-серверном варианте у вас запускается не толстый клиент.
kserg2012
Vofka @ Сегодня, 12:10 необходимо зарегистрироваться для просмотра ссылки ,
при запуске под пользователем ОБМЕН вид приложения явно не упр.формы
также при этом
Режим: Серверный (сжатие: усиленное)
Приложение: Толстый клиент

или вы подразумеваете что-то иное?
Vofka
Цитата(kserg2012 @ 06.06.19, 12:41) необходимо зарегистрироваться для просмотра ссылки
при запуске под пользователем ОБМЕН вид приложения явно не упр.формы

Если вы запускаете под этим пользователем клиентское приложение, то только вам известно как оно запускается. Но лучше посмотреть, что написано в Справка\О программе.
kserg2012
Цитата(Vofka @ 06.06.19, 12:51) необходимо зарегистрироваться для просмотра ссылки
что написано в Справка\О программе.


это как раз из этого окна
Режим: Серверный (сжатие: усиленное)
Приложение: Толстый клиент
andreydv87
kserg2012 @ Сегодня, 14:01 необходимо зарегистрироваться для просмотра ссылки ,
Какой SQL установлен и где? 1С корректно работает с 2008-2012 в других версиях замечались глюки.
Petre
andreydv87 @ Today, 16:07 необходимо зарегистрироваться для просмотра ссылки ,
1. Ошибка передачи мутабельного значения к версии sql-сервера никакого отношения не имеет.
2. "1С корректно работает с 2008-2012" - серьезно? Где это вы такое услышали?
andreydv87
Petre @ 06.06.19, 17:43 необходимо зарегистрироваться для просмотра ссылки ,
Не услышал, а из практики.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.