|
Не выходит из функции(зацикливается без цикла :) ) | ☑ | ||
---|---|---|---|---|
0
Ar-Bus
25.06.13
✎
15:48
|
Добрый день всем! Люди, помогите решить проблему... Не могу понять, куда рыть...
Вываливается дамп памяти при следующих действиях: Конфигурация "Розница, ред.2" Обработка "РМКУправляемыйРежим". При считывании штрихкода заполняются реквизиты "КартаПокупателя, Продавец, Портной"(сначала определяется принадлежность штрикода объекту, затем уже на основании этого заполняется нужный реквизит). Затем, когда считываю непосредственно штрихкод товара, случается следующее: 1. Запускается процедура ТоварыПриАктивацииСтроки(), в ней запускается процедура ОбновитьКартинку(), в ней запускается функция ПолучитьСсылкуНаКартинкуНаСервере(). Эта функция отрабатывает без ошибок, и потом отладчик опять перескакивает на процедуру ТоварыПриАктивацииСтроки(). Т.е. функция ПолучитьСсылкуНаКартинкуНаСервере() опять производит активизацию строки??? Как это проверить? &НаКлиенте Процедура ТоварыПриАктивизацииСтроки(Элемент) ОбновитьФорму(); КартинкаРМК=""; Попытка Если ЗначениеЗаполнено(Элемент.ТекущиеДанные.Номенклатура) Тогда ОбновитьКартинку(); КонецЕсли; Исключение КонецПопытки; КонецПроцедуры &НаКлиенте Процедура ОбновитьКартинку() ТекущаяСтрока = Элементы.Товары.ТекущиеДанные; Если ТекущаяСтрока<>Неопределено Тогда КартинкаРМК=ПолучитьСсылкуНаКартинкуНаСервере(ТекущаяСтрока.Номенклатура,УникальныйИдентификатор); КонецЕсли; КонецПроцедуры &НаСервере Функция ПолучитьСсылкуНаКартинкуНаСервере(Номенклатура,УникальныйИдентификатор) Если ЗначениеЗаполнено(Номенклатура.ФайлКартинки) Тогда КартинкаРМК = НавигационнаяСсылкаКартинки(Номенклатура.ФайлКартинки, УникальныйИдентификатор); КонецЕсли; Возврат КартинкаРМК; КонецФункции |
|||
1
Mitriy
25.06.13
✎
15:50
|
ОбновитьФорму убери?
|
|||
2
MaxisUssr
25.06.13
✎
15:51
|
(0)
Включи отладку на сервере. Может во время вызова всех этих ф-й, идущих после "ПриАктивизацииСтроки()" происходит изменение данных/активной строки? |
|||
3
Mitriy
25.06.13
✎
15:52
|
(2) и что?
|
|||
4
Ar-Bus
25.06.13
✎
15:52
|
(1) а причем тут убрать "ОбновитьФорму"
|
|||
5
hhhh
25.06.13
✎
15:52
|
тут и проверять нечего - он уже на ОбновитьФорму() должен по новой активизировать строку.
|
|||
6
Chin
25.06.13
✎
15:55
|
(0) ПриАктивизацииСтроки - очень капризная функция. Она вызывается повторна когда ты возвращаешься из "серверной функции". Либо измени подход (не используй серверную функцию, либо выкручивайся "флагом"...
|
|||
7
Mitriy
25.06.13
✎
15:57
|
(6) а если НаСервереБезКонтекста попробовать?
|
|||
8
Chin
25.06.13
✎
15:57
|
+(6) Или попробуй использовать НаСервереБезКонтекста...
|
|||
9
Chin
25.06.13
✎
15:57
|
:)
|
|||
10
Ar-Bus
25.06.13
✎
15:57
|
(1) - спасибо, это помогло
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |