Филиппов Олег | Руководитель Управления ИТ | WiseAdvice

«Как должна выглядеть правильная интеграция. Использование Mule ESB и RabbitMQ с 1С»

- Откуда берутся эти "сообщения"? Событийная интеграция вместо выгрузок по расписанию. - Зачем нужны Интеграционные шины, Middleware, очереди сообщений: - Почему нельзя "просто сделать http сервис в 1C и записывать данные при вызове"? - Почему не надо тратить время на регистры сведений вида "ОчередьСообщений, ИсторияСообщений"? - Правильная организация архитектуры (очередь, логирование, работа с ошибками). - Маленькие трюки. Использование ElasticSearch для логирования. - Инструментарий отладки http интеграций (Fiddler, Postman, SoapUI). - А как же 1С? EnterpriseData как шаг к событийной интеграции.

8.3.10 ошибка при активизации строки

1. 1cProfit 07.12.17 15:53 Сейчас в теме
На форме две табличные части. 1. Условия, 2.Товары.
Нужно чтобы при выделении строки в таблице Условия отбирались строки в таблице Товары по полю УидСтрокиОУ.
Написал такой код.

&НаКлиенте
Процедура УсловияПриАктивизацииСтроки(Элемент)
	
	СтрокаОУ = Элементы.Условия.ТекущиеДанные;
	
	Если СтрокаОУ = Неопределено Тогда
		Возврат;
	КонецЕсли; 
	
	УсловияПриАктивизацииСтрокиНаСервере(СтрокаОУ.УидСтрокиОУ);

	
КонецПроцедуры

&НаСервере
Процедура УсловияПриАктивизацииСтрокиНаСервере(Знач УидСтрокиОУ)
	
	Элементы.Товары.ОтборСтрок.УидСтрокиОУ.Установить(УидСтрокиОУ);

КонецПроцедуры
Показать


на платформе 8.3.7 работало все нормально, а на 8.3.10 зацикливается.
И 1с вылетает напрочь.

Что за глюк. Как обойти?
Найденные решения
8. DarkUser 07.12.17 16:21 Сейчас в теме
(7)
Может все из-за того что я обращаюсь к серверу. Но как по другому.
именно из-за этого! Форма перерисовывается и срабатывает событие ПриАктивацииСтроки.

Зачем вы на сервер вообще уходите?
1cProfit; +1 Ответить
Остальные ответы
Сортировка: Древо
2. independ 106 07.12.17 16:05 Сейчас в теме
(1) можно так
Элементы.Товары.ОтборСтрок=Неопределено;
ОтборСтрок=Новый ФиксированнаяСтруктура("УидСтрокиОУ",УидСтрокиОУ);
Элементы.Товары.ОтборСтрок.УидСтрокиОУ=ОтборСтрок
1cProfit; +1 Ответить
3. 1cProfit 07.12.17 16:09 Сейчас в теме
Не помогает. Все равно Зацикливается. После установки отбора он каждый раз заходит в УсловияПриАктивизацииСтроки() и так по кругу.
4. cmax 07.12.17 16:09 Сейчас в теме
&НаКлиенте
Процедура УсловияПриАктивизацииСтроки(Элемент)
	ПодключитьОбработчикОжидания("ПриАктивизацииСтрокиОбработка",0.1,Истина);
КонецПроцедуры

&НаКлиенте
Процедура ПриАктивизацииСтрокиОбработка()
	
	СтрокаОУ = Элементы.Условия.ТекущиеДанные;
	
	//...
	
КонецПроцедуры
Показать
5. 1cProfit 07.12.17 16:13 Сейчас в теме
(4) Это тоже не помогло. Все равно циклит.
6. independ 106 07.12.17 16:15 Сейчас в теме
(5) как то была аналогичная ситуация, проблема была в том, что было 2 табличных части, и каждая отрабатывала ПриАктивизацииСтроки, это проблему я так и не решил
7. 1cProfit 07.12.17 16:16 Сейчас в теме
ТаблицаФормы (FormTable)
ПриАктивизацииСтроки (OnActivateRow)
Синтаксис:

ПриАктивизацииСтроки()
Описание:

Вызывается при активизации строки таблицы.
Примечание:

В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.

Может все из-за того что я обращаюсь к серверу. Но как по другому.
8. DarkUser 07.12.17 16:21 Сейчас в теме
(7)
Может все из-за того что я обращаюсь к серверу. Но как по другому.
именно из-за этого! Форма перерисовывается и срабатывает событие ПриАктивацииСтроки.

Зачем вы на сервер вообще уходите?
1cProfit; +1 Ответить
9. 1cProfit 07.12.17 16:22 Сейчас в теме
Я ошибался! ОтборСтрок работает на клиенте ошибка была в этом коде:
&НаКлиенте
Процедура УсловияПриАктивизацииСтрокиНаСервере(Знач УидСтрокиОУ)
	
	ОтборСтрок = Новый ФиксированнаяСтруктура("УидСтрокиОУ",УидСтрокиОУ);
	Элементы.Товары.ОтборСтрок = ОтборСтрок;

КонецПроцедуры
10. 1cProfit 07.12.17 16:29 Сейчас в теме
Оставьте свое сообщение
Все разделы

Вакансии


Программист 1С
Москва
зарплата от 100 000 руб. до 200 000 руб.
Полный день

Преподаватель 1С
Санкт-Петербург
Полный день

Удаленный ИТ-журналист
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата от 80 000 руб. до 150 000 руб.
Полный день