Виснет клиент при закрытии формы обработки
Добрый день, коллеги.
УТ 11.3.4.228, 1С:Предприятие 8.3 (8.3.13.1513), база клиент-серверная.
Есть один юзер, у которого виснет предприятие при попытке закрыть форму обработки подбора товара в закупки.
Проблема воспроизводится на любом ПК, если зайти под этой учеткой. Кеш чистили.
Зашёл в отладку - виснет сразу после окончания процедуры ПередЗакрытием(), но не заходит в ПриЗакрытии();
Подскажите, куда копать?
УТ 11.3.4.228, 1С:Предприятие 8.3 (8.3.13.1513), база клиент-серверная.
Есть один юзер, у которого виснет предприятие при попытке закрыть форму обработки подбора товара в закупки.
Проблема воспроизводится на любом ПК, если зайти под этой учеткой. Кеш чистили.
Зашёл в отладку - виснет сразу после окончания процедуры ПередЗакрытием(), но не заходит в ПриЗакрытии();
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
Если ЗавершениеРаботы
И Объект.Корзина.Количество() > 0 Тогда
Отказ = Истина;
ТекстПредупреждения = НСтр("ru = 'Данные были изменены. Все изменения будут потеряны.'");
Возврат;
КонецЕсли;
ПодборТоваровКлиент.ПередЗакрытиемФормыПодбораТоваров(ЭтаФорма, Объект, Отказ);
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
Если ЗавершениеРаботы Тогда
Возврат;
КонецЕсли;
СохранитьНастройкиФормыНаСервере();
Если ПеренестиВДокумент Тогда
АдресТоваровВХранилище = АдресТоваровВХранилище(ЭтаФорма.ВладелецФормы.УникальныйИдентификатор);
Иначе
АдресТоваровВХранилище = Неопределено;
КонецЕсли;
Если АдресТоваровВХранилище <> Неопределено Тогда
Структура = Новый Структура("АдресТоваровВХранилище", АдресТоваровВХранилище);
Если ИспользоватьДатыОтгрузки Тогда
Структура.Вставить("МаксимальнаяДатаОтгрузки", МаксимальнаяДатаОтгрузки);
КонецЕсли;
ОповеститьОВыборе(Структура);
КонецЕсли;
КонецПроцедуры
ПоказатьПодскажите, куда копать?
Прикрепленные файлы:

По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Новый ОписаниеОповещения("ПередЗакрытиемФормыПодбораТоваровЗавершение"...
это же асинхронный вызов, т.е. сам обработчик ПередЗакрытием может быть завершен без сбоев и зависаний, а вызванные в нем ассихронные вызовы могут пытаться создать вторую вселенную или стереть текущую - так понятно?
проверяйте методы асинхронных оповещений, но чистка хранилища тоже может быть необходима.
как это делать указали в (3)
это же асинхронный вызов, т.е. сам обработчик ПередЗакрытием может быть завершен без сбоев и зависаний, а вызванные в нем ассихронные вызовы могут пытаться создать вторую вселенную или стереть текущую - так понятно?
проверяйте методы асинхронных оповещений, но чистка хранилища тоже может быть необходима.
как это делать указали в (3)
(16) Я же написал, что никаких асинхронных вызовов нет, из модуля подбора сразу выход до этого вызова, т.к корзина пуста (я так тестирую).
Настройки я очищал, в (3) это баян баянский, все типовых конфигурации уже имеют стандартный функционал настроек.
Настройки я очищал, в (3) это баян баянский, все типовых конфигурации уже имеют стандартный функционал настроек.
Прикрепленные файлы:

(9)
ПодборТоваровКлиент.ПередЗакрытиемФормыПодбораТоваров():
Количество товара = 0, я открываю и закрываю форму - виснет
ПодборТоваровКлиент.ПередЗакрытиемФормыПодбораТоваров():
// Вызывается перед закрытием формы подбора товаров. Если не установлен
// признак переноса товаров в корзину, а в корзине есть подобранные товары,
// то выдается вопрос.
//
// Параметры:
// Форма - УправляемаяФорма - форма подбора товаров,
// Объект - ОбработкаОбъект - обработка подбора товаров,
// Отказ - Булево - переменная в которую записывается флаг отказа.
//
Процедура ПередЗакрытиемФормыПодбораТоваров(Форма, Объект, Отказ) Экспорт
Если Форма.ПеренестиВДокумент ИЛИ Форма.ВыполняетсяЗакрытие Тогда
Возврат;
КонецЕсли;
Если Объект.Корзина.Количество() = 0 Тогда
Возврат;
КонецЕсли;
Отказ = Истина;
ПоказатьВопрос(
Новый ОписаниеОповещения("ПередЗакрытиемФормыПодбораТоваровЗавершение", ЭтотОбъект,
Новый Структура("Форма", Форма)),
НСтр("ru = 'Подобранные товары не перенесены в документ. Перенести?'"),
РежимДиалогаВопрос.ДаНетОтмена);
КонецПроцедуры
ПоказатьКоличество товара = 0, я открываю и закрываю форму - виснет
Прикрепленные файлы:

Опытным путём удалось на время обойти ошибку, изменив режим отображения (в "шестеренке") по иерархии - ошибка ушла, потом вернул по свойствам - ошибки нет, переоткрыл - опять ошибка. Кажется, VmvLer прав, только что делать....
Ошибка ушла после очистки ВСЕХ настроек (что не не хотелось сначала делать, люди прихотливые, все настраивают формы как им удобнее). Изначально я очищал только настройки этой обработки подбора в документы закупки.
Всем все равно большое спасибо за помощь!
Всем все равно большое спасибо за помощь!
Добрый день. Проблема точно такая же как у yelloo. платформа 8.3.13.1513. на 8.3.11 проблем нет. Зависает сразу при нажатии кнопки "Подобрать товары". Очистку все настроек делал как в п.3. Не помогло. Заранее Спасибо.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот