|
v7: Документ с ТЧ глючит | ☑ | ||
---|---|---|---|---|
0
воробей
16.01.13
✎
16:44
|
Подскажите, что может быть, пожалуйста. Ситуация такая: На форме документа есть множество реквизитов с педалькой. В ТЧ этого документа две колонки тоже педальные. В режиме исполнения, когда пользователь бегает по форме документа, заполняет значениями реквизиты происходит глюк в ТЧ документа. Т.е., при выборе в ТЧ строки эта строка может глючно заполнится, не теми данными, либо вообще не заполнится...
В модуле пользуюсь методами ПриНачалеВыбораЗначения() и ОбработкаВыбораЗначения(). В обеих обработках присутствуют одни и те же реквизиты... |
|||
1
thezos
16.01.13
✎
16:47
|
(0) что за педальные колонки?)))
|
|||
2
1Сергей
16.01.13
✎
16:48
|
педальные реквизиты :)
|
|||
3
воробей
16.01.13
✎
16:49
|
Почему глючит? Как найти косяк? В отладчике уже третий день бьюсь - не могу уловить эту глючную ситуацию. Т.е., один раз выбираю строку - она глчит, а потом 20 раз можно её перевыбирать, и будет все нормально просчитываться...
|
|||
4
vinogradъ
16.01.13
✎
16:49
|
(0) "при выборе в ТЧ строки" это какое действие?
|
|||
5
воробей
16.01.13
✎
16:49
|
Педальные? Это значит, имеют возможность выбора)))
|
|||
6
1Сергей
16.01.13
✎
16:49
|
(3) ошибка в 15-ой строке
ЗЫ Фото - зачёт |
|||
7
воробей
16.01.13
✎
16:51
|
(4) Это когда можно воспользоваться insert, либо выбрать в самой ТЧ ревизит (это у меня ДокОсн, тип документ) двойным щелчком по мышке...
|
|||
8
thezos
16.01.13
✎
16:52
|
непонятно, высылайте видео ошибки
|
|||
9
vinogradъ
16.01.13
✎
16:52
|
(7) это 2 разных события
|
|||
10
воробей
16.01.13
✎
16:54
|
Может код выслать? Обеих обработок? Явно, что-то в них не так...
|
|||
11
воробей
16.01.13
✎
16:54
|
ПриНачалеВыбораЗначения() и ОбработкаВыбораЗначения()
|
|||
12
Ёпрст
16.01.13
✎
16:54
|
(0) ошибка в 147 строке
|
|||
13
Cthulhu
16.01.13
✎
17:03
|
Глюк(и) в ПрНачалеВыбораЗначения() и/или в ОбработкаВыбораЗначения(). Возможно - в процедурах/функциях, вызываемых из формул реквизитов.
скорее всего из-за того, что в них не учитывается тот факт, что вводдимая по Ins новая стрка - ещё не существует и отличяется от строки с НомерСтроки. ну или из-за слета фокуса. например. |
|||
14
vinogradъ
16.01.13
✎
17:05
|
(13) нет, (12)
|
|||
15
воробей
16.01.13
✎
17:09
|
Там, знаете, что происходит? Если пользователь "бегает" по форме, выбирая то один реквизит, то другой, то в какой-то момент форма будто блокируется и инсерт, и энтер становятся неактивными действиями. После этого если все же добится возможности выбора нового документа (в ТЧ это колонка ДокОсн), то строка на основании выбранного документа заполнятся глючно...
|
|||
16
viktor_vv
16.01.13
✎
17:09
|
Может некорректно обрабатывается из какого реквизита инициализирован (слово-то какое трудное :)) выбор значения.
|
|||
17
воробей
16.01.13
✎
17:11
|
Там, знаете, что происходит? Если пользователь "бегает" по форме, выбирая то один реквизит, то другой, то в какой-то момент форма будто блокируется и инсерт, и энтер становятся неактивными действиями. После этого если все же добится возможности выбора НОВОЙ СТРОЧКИ (в ТЧ это колонка ДокОсн), то строка на основании выбранного документа заполнятся глючно...
|
|||
18
viktor_vv
16.01.13
✎
17:11
|
(15) Не мешало бы немного кода подкинуть.
|
|||
19
воробей
16.01.13
✎
17:12
|
Вы смеетесь надо мной?
|
|||
20
viktor_vv
16.01.13
✎
17:15
|
(19) Нет.
Вежливо намекают на то, что маловато исходных данных, для того, чтобы помочь вразумительным советом. |
|||
21
воробей
16.01.13
✎
17:19
|
Тогда высылаю код:
|
|||
22
oslokot
16.01.13
✎
17:20
|
странный код...
|
|||
23
воробей
16.01.13
✎
17:21
|
Процедура ОбработкаВыбораЗначения(ВыбЗнач,ИдентЭлемДиалога,ФлагСтандОбр)
ЗапретВводаСтроки = 0; НомСтроки = НомерСтроки; Если ИдентЭлемДиалога = "ДокОснование" Тогда ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл Если ВыбЗнач = ДокОснование Тогда Предупреждение("Документ ПН " +ВыбЗнач+" уже выбран в текущем документе. Выберите другой документ!"); Сообщить("Документ ПН " +ВыбЗнач+" уже выбран в текущем документе. Выберите другой документ!"); ФлагСтандОбр = 0; Возврат; КонецЕсли; КонецЦикла; //НомСтроки = НомерСтроки; ЗаполнитьСтроку(ВыбЗнач,НомСтроки); Если ЗапретВводаСтроки = 1 Тогда ЗапретВводаСтроки = 0; ВыбЗнач = ""; Возврат; КонецЕсли; КонецЕсли; СпКом1 = ""; Для в = 1 по ТЗКомм.РазмерСписка() Цикл СпКом1 = СпКом1 + ТЗКомм.ПолучитьЗначение(в) + РазделительСтрок; КонецЦикла; //ЭтаСтрокаЗаполнена = 0; КонецПроцедуры //ОбработкаВыбораЗначения(ВыбЗнач,ИдентЭлемДиалога,ФлагСтандОбр) |
|||
24
воробей
16.01.13
✎
17:21
|
Процедура ПриНачалеВыбораЗначения(ИдентЭлемДиалога, ФлагСтандОбр)
Перем Действие,Д; Если ИдентЭлемДиалога = "НомДоговора" Тогда Если ПустоеЗначение(Поставщик) = 1 Тогда Предупреждение("Укажите поставщика!"); Возврат; КонецЕсли; Поставщик1 = Поставщик; ОткрытьПодбор("Справочник.ДоговораПоставщиков","ФормаСписка",Поставщик1); //171717 КонецЕсли; Если ИдентЭлемДиалога = "РСчет" Тогда БИК = ""; Банк = ""; КоррСчет = ""; РСчет = ""; РСчет1 = ""; КонецЕсли; Если ИдентЭлемДиалога = "Орг" Тогда Если ПустоеЗначение(Поставщик) = 1 Тогда Предупреждение("Укажите поставщика!"); Орг = "";СтатусВозврата(0); КонецЕсли; КонецЕсли; Если ИдентЭлемДиалога = "ДокОснование" Тогда ФлагСтандОбр = 0; Если ПустоеЗначение(Поставщик) = 1 Тогда Предупреждение("Выберите поставщика!"); Возврат; КонецЕсли; Поставщик1 = Поставщик; ОткрытьПодбор("Журнал.ПрихНаклДляЗаявок","ФормаСписка",Поставщик1,0); КонецЕсли; КонецПроцедуры //Конец процедуры ПриНачалеВыбораЗначения(ИдентЭлемДиалога, ФлагСтандОбр) |
|||
25
Dolly_EV
16.01.13
✎
17:26
|
что происходит в ЗаполнитьСтроку(ВыбЗнач,НомСтроки);?
ЗапретВводаСтроки - описана в Перем? |
|||
26
воробей
16.01.13
✎
17:32
|
в Заполнитьстроку() происходят вычисления при разных условиях, затем там я прописываю ПолучитьСтрокуПоНомеру(НомСтроки); Затем прописываю строку ДокОсн =...., НомДог = ...., и.т. т.е. заполняю строку вычисленными значениями , которые есть в ТЧ
|
|||
27
воробей
16.01.13
✎
17:33
|
ЗапретВводаСтроки = 0 в начале процедуры
|
|||
28
воробей
16.01.13
✎
17:34
|
В Перем не описана...
|
|||
29
viktor_vv
16.01.13
✎
17:36
|
Таки ПолучитьСтрокуПоНомеру(НомСтроки) дял новой строки может некорректно работать.
Попробуй убрать ПолучитьСтрокуПоНомеру, все равно в контексте документа для текущей строки должно выполнятся. Правда Выборка может сбивать. |
|||
30
Cthulhu
16.01.13
✎
17:38
|
(23): то, о чем я говорил.
при выборе значения в новую строку - строго--насрого запрещается сбивать с неё фокус. ты же своим перебором строк (сменой активной строки) сама все глюки и делаешь. |
|||
31
viktor_vv
16.01.13
✎
17:41
|
Лучше таки выгрузить в СписокЗначений колонку и проверять Принадлежит().
|
|||
32
Ёпрст
16.01.13
✎
17:41
|
+ делать ОткрытьПодбор лишено смысла в ПриНачалеВыбораЗначения
Это равносильно ОткрытьФорму.. +ОбработкаПодбора не будет работать, все события прилетят в ОбработкаВыбораЗначения |
|||
33
Dolly_EV
16.01.13
✎
17:42
|
После выбора ДокОснование - пихай его во временный СписокЗначений,
вместо ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл Если ВыбЗнач = ДокОснование Тогда Предупреждение("Документ ПН " +ВыбЗнач+" уже выбран в текущем документе. Выберите другой документ!"); Сообщить("Документ ПН " +ВыбЗнач+" уже выбран в текущем документе. Выберите другой документ!"); ФлагСтандОбр = 0; Возврат; КонецЕсли; КонецЦикла; Проверяй Если ВремСписок.Принадлежит(ВыбЗнач)=1 Тогда ФСО=0; Возврат КонецЕсли |
|||
34
воробей
16.01.13
✎
17:45
|
Поняла! Спасибо!!!!)))))
|
|||
35
воробей
16.01.13
✎
17:46
|
И отказаться от ПолучитьСтрокуПоНомеру(НомСтроки) ???
|
|||
36
Cthulhu
16.01.13
✎
17:47
|
(35): да!
выводи в окно сообщений - пусть читают и идут сами куда надо. |
|||
37
viktor_vv
16.01.13
✎
17:48
|
(35) Она не нужна будет, так как перебора строк не будет.
|
|||
38
PALESIA
16.01.13
✎
17:50
|
(0) выгрузи ТЧ в ТЗ в своих обработках и работай с ними
|
|||
39
Mikeware
16.01.13
✎
18:07
|
(6) только г.р. подкачал....
|
|||
40
PALESIA
16.01.13
✎
18:08
|
(39) нифига не подкачал - мне, так за счастье)))
|
|||
41
Mikeware
16.01.13
✎
18:16
|
(40) ну, думать они не умеют. а использовать по назначению - да, г.р. не мешает...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |