Зацикливание ПриАктивацииСтроки Бух 3.0 #798487


#0 by Ychenik1c
Здравствуйте. Перечитал форумы, посмотрел Гилева, но не могу уйти от зацикливания. Делаю чтобы в справочники "Основные средства" выводились данные об первоначальной стоимости, амортизации и остаточной стоимости ОС на котором сейчас стоит. При открывания справочника зацикливается на первом элементе и 1с вылетает. Помогите. [spoiler=Код] [/spoiler]
#1 by Lolipop
Проблема не с выполнением кода на сервере. Это точно. Была такая ошибка. По-моему, нужно копать в ТекущиеОС = ЭтотОбъект.ТекущийЭлемент.ТекущиеДанные.Ссылка;
#2 by Ёпрст
в каком месте "зацикливается" ?
#3 by Альбатрос
Синтаксис: ПриАктивизацииСтроки Описание: Вызывается при активизации строки таблицы. Примечание: В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.
#4 by Альбатрос
Обращаем внимание на последнюю строку
#5 by Альбатрос
Делай через обработчик ожидания
#6 by Fedor-1971
Отследи переход на сервер
#7 by Fedor-1971
6+ или внеконтестный вызов сервера (НаСервереБезКонтекста) и возвращай структуру чего тебе нужно было от сервера
#8 by dezss
Счет = &СписокСчетов? А список счетов это все таки список. может Счет В (&СписокСчетов)? И таки да, &НаСервере не стоит. Если где-то (в любых других ПриАктивизацииСтроки) есть изменение видимости или любая другая подобная шнягя(имеется ввиду, изменение каких-нибудь свойств элементов формы), то будет вот такое зацикливание.
#9 by Buster007
лучше хранить ОС, по которому были получены остатки на форме могут присутствовать др. серверные процедуры, после которых будет выполняться метод при активизации строки и заново считываться остатки
#10 by Buster007
сделай произвольный запрос и получай остатки там, если ОСов не много, конечно
#11 by Fedor-1971
не обязательно, ПриАктивацииСтроки выполняются все что есть на форме и в неизвестном порядке, поэтому если один ломанулся НаСервер и что-то изменил в форме получаем лавину беготни "А у меня что-то изменилось?" и "Надо ли мне обновить данные?" ТС решил поизучать возможности ДС, доберётся и до произвольного запроса с получением остатков
#12 by IoannVic
Сталкивался с этим. Зацикливание происходит в момент открытия формы. Связано это с тем, что при формирование формы с динамическим списком активизирует первую строку и вызывает событие. У тебя в этом событие происходит табличное обращение к данным (т.е. запрос) и после возвращение на клиент идет перерисовка формы и опять вызывается при активизации строки возникает зацикливание. Данная проблема тащится еще с 8.2 и уже не раз была зарегистрирована на багрепорте 1с Есть два варианта, оба так себе. 1. Сделать произвольный запрос в ДС. Минусы: нагружаешь форму при открытие. 2. Сделать костыль в виде булевы. Которая, хранит был ли пересчет и если был то код не выполняется. Минусы: это костыль. А вообще самый правильный вариант - это сделать отчет по бух остаткам, потом сделать команду и организовать переход через командный интерфейс формы элемента с параметрами этого элемента. Так завещал 1с
#13 by Ychenik1c
Всем спасибо. Все работает. Вот код может кому поможет. [spoiler=Код] [/spoiler]
#14 by Волшебник
просьба не писать вот эту фигню [spoiler=Код] [/spoiler]
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С