|
v8: Ошибка платформы 1С 8.2 | ☑ | ||
---|---|---|---|---|
0
zarcom
02.12.11
✎
13:32
|
При вызове метода получить форму "ПолучитьФорму(ИмяФормы)" вылетает ошибка... Что делать? Форма есть.
|
|||
1
Азат
02.12.11
✎
13:33
|
Читать СП до посинения?
|
|||
2
Wobland
02.12.11
✎
13:33
|
форма есть, а получить нельзя. парадокс
|
|||
3
dryms
02.12.11
✎
13:33
|
откуда получаешь?
|
|||
4
dryms
02.12.11
✎
13:34
|
Ты из модуля формы хочешь получить?
|
|||
5
Cube
02.12.11
✎
13:35
|
(3) Видимо, он со всех сторон получает)
|
|||
6
Wobland
02.12.11
✎
13:35
|
ну сказал же человек, из платформы 8.2 получает
|
|||
7
dryms
02.12.11
✎
13:36
|
(6) как емко))
|
|||
8
NcSteel
02.12.11
✎
13:37
|
Документ.Траляля.Форма.ИмяФормы , так ?
|
|||
9
dryms
02.12.11
✎
13:37
|
(8) Уж точно не так))
|
|||
10
Armando
02.12.11
✎
13:39
|
(0) "вылетает ошибка" какая?
поди еще с сервера получить пытаешься? |
|||
11
Wobland
02.12.11
✎
13:40
|
это какой-то аттракцион "почувствуй себя телепатом"
|
|||
12
mozzga
02.12.11
✎
13:40
|
ОткрытьФорму()
|
|||
13
zarcom
02.12.11
✎
13:43
|
Получаю из формы документа Чек ККМ "ФормаРегистрацииПродаж" другую форму: ПолучитьФорму("ФормаДанныхПокупателя")
ФормаДанныхПокупателя не типовая, добавлена при разработке дословно код выглядит так: ФормаДанныхПокупателя = ПолучитьФорму("ФормаДанныхПокупателя"); И тут вылетает, причем не стабильно, а периодически 1 раз на 100-200 примерно |
|||
14
guitar_player
02.12.11
✎
13:44
|
(13) пичалька
|
|||
15
mozzga
02.12.11
✎
13:45
|
шоу экстасенсов продолжается! С какой ошибкой падает?
|
|||
16
Wobland
02.12.11
✎
13:45
|
(15) буква А!
|
|||
17
dryms
02.12.11
✎
13:46
|
Объект=Ссылка.Получитьобъект();
Форма=Объект.получитьФорму("МояФорма"); |
|||
18
dryms
02.12.11
✎
13:47
|
А форма куда добавлена? К этому же документу, в общие формы, во внешнюю обработку, в справочник или куда там еще?
|
|||
19
mozzga
02.12.11
✎
13:48
|
ну кто еще погадает?
|
|||
20
zarcom
02.12.11
✎
13:49
|
Да я не скопировал ошибку, дословно не могу сказать, просто на магазинах звонят, подключаешься заходишь в отладчик, проходишь до этой точки и только встаешь на
ФормаДанныхПокупателя = ПолучитьФорму("ФормаДанныхПокупателя"); всё вылетает пишет (не дословно) не обнаружена ФормаДанныхПокупателя Повторилась ошибка раза 3, вот решил написать может кто сталкивался В следующий раз как вылетит скину дословный вариант ошибки |
|||
21
zarcom
02.12.11
✎
13:49
|
Форма добавлена в документ ЧекККМ
|
|||
22
Cube
02.12.11
✎
13:50
|
(13) Скажи там рядом стоящим, чтоб перестали тебя по голове бить, а то ты на наши вопросы не отвечаешь... :)
|
|||
23
Wobland
02.12.11
✎
13:50
|
(20) читал (18)?
|
|||
24
dryms
02.12.11
✎
13:51
|
Попробуй (17)!
|
|||
25
dryms
02.12.11
✎
13:53
|
Закоменти строчку из(20) на 2 строчки
Объект=Ссылка.Получитьобъект(); ФормаДанныхПокупателя = Объект.ПолучитьФорму("ФормаДанныхПокупателя"); |
|||
26
zarcom
02.12.11
✎
13:59
|
Можно конечно 17, но вот я думаю теряется либо форма, либо сам объект, потому что в строке с кодом ВладелецДисконтнойКарты = ДисконтнаяКарта.ВладелецКарты;
Вылетело, что типо нет "ДисконтнаяКарта", хотя это в модуле формы "ФормаРегистрацииПродаж", которая в метаданных ЧекККМ, а "ДисконтнаяКарта" это реквизит документа ЧекККМ. Мне типо все обращения проводить через Объект=Ссылка.Получитьобъект(); НужныйРеквизит = Объект.НужныйРеквизит |
|||
27
Wobland
02.12.11
✎
14:04
|
(26) лишишься коленки, если станешь делать так ;)
|
|||
28
dryms
02.12.11
✎
14:05
|
Реквизиты Документа можно в твоем случае напрямую получать:
перем=НужныйРеквизит; Реквизиты формы из ФормаДанныхПокупателя : Перем=ФормаДанныхПокупателя.элементыФормы.НужныйРеквизит; |
|||
29
zarcom
02.12.11
✎
14:09
|
(28) Я имею в виду, что в какой-то момент выскакивает ошибка, примерно так как будто я обращаюсь не с Чека ККМ к реквизиту ДисконтнаяКарта, а с какого-то другого модуля который конечно не видит реквизиты Чека. Как будто сам модуль потерял "ссылку" на объект, (17) пока не пробовал, хотя хотел указать явно вроде: ДокументОбъект.Реквизит, но млин это же жуть всё переписывать.
|
|||
30
dryms
02.12.11
✎
14:15
|
А форме во вкладке реквизиты есть реквизит ДокументОбъект и он выделен жирным????
|
|||
31
zarcom
02.12.11
✎
14:15
|
Может быть такое, что в форме в реквизит ДокументОбъект с типом ЧекККМ, попало как-то неопределено или что-то в этом роде?
Ещё вылетало тоже на каком-то реквизите не помню на каком, тоже не видел его. Это 8.2 глючит или что не так надо делать на 8.2 |
|||
32
zarcom
02.12.11
✎
14:16
|
Да он жирным, т.е форма Чековская если ты об этом
|
|||
33
zarcom
02.12.11
✎
14:25
|
Главное ошибка повторяется периодически т.е. не стабильно, причем если уж она возникла, то всё хоть сто раз инициируй процедуру, стабильно будет вылетать. Даже подключишься к сеансу отладчиком, будешь по шагам идти, доходишь до места, всё вылетает зараза. Чаше всего на ПолучитьФорму() раз 3, 1 раз не увидел свой же реквизит ДисконтнаяКарта, и 1 раз ещё какой-то реквизит.
Помогает только перезапуск 1С |
|||
34
dryms
02.12.11
✎
14:25
|
Надо ловить момент и воспроизвести ситуацию когда так происходит, тогда и причина ясна будет, если то работает, то нет. склоняюсь к мнению, что это не из-за платформы!
|
|||
35
zarcom
02.12.11
✎
14:27
|
Происходит при проведении документа ЗакрытиеЧека, если перезапустить 1С то всё ок! на этом же документе, если нет то нажимаешь шагаешь вылетаешь.
|
|||
36
zarcom
02.12.11
✎
14:29
|
Уточняю в процедуре ЗакрытьЧек() получается даже до записи или проведения, документа
|
|||
37
dryms
02.12.11
✎
14:33
|
Хотя, вроде бывает, что форма не "привязывается" к документу. Можно попробовать переименовать форму, добавить новую с нужным именем и перенести туда все содержимое. если происходит только на конкретном компе, то удали базу из списка баз и добавь заново.
|
|||
38
dva1c
02.12.11
✎
14:35
|
(37)+1
(36) дельный совет: "...то удали базу из списка баз и добавь заново" |
|||
39
zarcom
02.12.11
✎
14:41
|
Я вот тоже подумал что форма не привязалась, прошелся только что по коду, после закрытия чека происходит перепривязка формы к новому объекту:
ЭтаФорма.Закрыть(); ДокументОбъект = Документы.ЧекККМ.СоздатьДокумент(); ДокументОбъект.Дата = РабочаяДата; ПриОткрытии(); Обновить(); Я подумал наверное в этом месте что-то глюкнуло, и в ДокументОбъект что-то типо нулл, и когда в след раз пытаешься обратиться к реквизиту, я получаю свою ошибку |
|||
40
zarcom
02.12.11
✎
14:42
|
попробую список баз помучить
|
|||
41
zarcom
02.12.11
✎
14:51
|
Хотя я не прав, насчет (39), там же есть ДокументОбъект.Дата = РабочаяДата;, которое проходит без ошибок, значит привязка формы прошла удачно. Выходит форма позже отвязывается???
эту 8.2 я не могу понять, там ещё глюки с формированием движения документов, просто капец, когда стоит автоматом удалять движения, конечно это не по теме, но всё равно не хватает нервов на эту 8.2 неужели только у меня эти глюки |
|||
42
dryms
02.12.11
✎
15:02
|
(41)ДокументОбъект и Форма-это разные вещи!+ попробуй платформу обнови, у меня нет таких проблем
|
|||
43
zarcom
02.12.11
✎
16:07
|
(42) да форма и документ это конечно не одно и тоже, там же связка формы и документа, через ДокументОбъект на сколько я понимаю, что когда пишешь ДисконтнаяКарта отладчик понимает как ДокументОбъект.ДисконтнаяКарта и если в ДокументОбъект находится не тип Чек ККМ, то вылетает ошибка.
И вот фиг поймет когда в "реквизите" формы ДокументОбъект помещается не тип Чек ККМ. Платформа вроде последняя, даже не знаю в чем дело, буду копаться. Всем спасибо за участие! Если что накопаете напишите плиз. |
|||
44
zarcom
05.12.11
✎
09:29
|
Проблема решилась!
Причина незакрытая транзакция. Видимо где-то в глобальнике открывалась и не закрывалась. Просто поставил условие Если ТранзакцияАктивна() Тогда ЗафиксироватьТранзакцию(); КонецЕсли; |
|||
45
vmv
05.12.11
✎
09:45
|
(44) извинись терерь за клевету на платформу - будь мужчиной
|
|||
46
zarcom
07.12.11
✎
12:41
|
Насчет транзакции, признаю что дело не в платформе.
Я бы с радостью извинился! Но на данный момент я не могу сказать что 8.2 "рабочая" у меня версия 8.2.14.537 Кто хочет удостовериться проверьте и подскажите если найдете решение. Создайте в новой конфе любой документ (режим удаления движений =автоматически) сделайте в обработке проведения одно движение, по любому регистру накопления. У меня при проведении получается либо 0, 2, 4 и т.д. проводок. В 8.1 тот же код отрабатывает нормально, пока решение не нашел (разве что вручную делать как в типовых вручную "следить за движениями") Не уверенность в платформе очень мешает и путает, в 8.1 я бы бился до конца и вряд ли бы вообще ветка создалась и время бы не отнимал у форумчан, так что извиняться пока перед 8.2 нет желания. Если же косяк опять у меня, то повторю с радостью извинюсь! |
|||
47
shuhard
07.12.11
✎
12:42
|
(46) пипец
свойство у документа записывать модифицированные движения поставь как надо |
|||
48
GROOVY
07.12.11
✎
12:44
|
(46) Открой для себя работу с управляемыми формами. Напиши в модуле Очистить() у набора записей или кури "Удаление движений" и "Записывать выбранные" в свойствах документа.
RTFM LMD. |
|||
49
GROOVY
07.12.11
✎
12:44
|
"Платформа глючит"... Мдя...
|
|||
50
shuhard
07.12.11
✎
12:45
|
(48)[Открой для себя работу с управляемыми формами]
формы здесь не причем |
|||
51
zarcom
07.12.11
✎
12:46
|
(46) Спасибо большое!
(44) Извиняюсь за клевету! |
|||
52
hhhh
07.12.11
✎
12:47
|
(51) чего курил? Сам с собой разговариваешь.
|
|||
53
Buster007
07.12.11
✎
12:48
|
(46) чет не получается так как у тебя.
|
|||
54
GROOVY
07.12.11
✎
12:49
|
(50) Еще как причем, не совсем формы, хотя они тоже в теме.
Сценарий: 1.Конфигуратор. Основной режим запуска "Управляемое приложение". 2.Создаем док. Конструктором формируем движение по некому регистру. 3.Открываем предприятие. Проводим док. Не закрывая форму перепроводим. Смотрим движения. Все ок. 4.Конфигуратор, создаем обычную форму у дока. Запускаем систему в режиме обычного приложения. 5. Повторяем п2. Смотрим движения. Профит. Движения дублируются. Кто объяснит в чем дело тому конфетку :) ЗЫ: я знаю ответ. |
|||
55
zarcom
07.12.11
✎
12:49
|
(52) благодарил (47) shuhard
|
|||
56
shuhard
07.12.11
✎
12:51
|
(55) топик закрыт ?
тогда попросим GROOVY переименовать его в ""Наглая клевета подлых наймитов не прошла" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |