#0
by pit
Классная попалась травка… Накуриться не могу….Имеем форму справочника. Кнопка в форме, по которой осуществляется переход в другой справочник с позиционированием в нем.. ====================================Вот вызов открытия другой формыprocedure Перейти if CurrentItem.Selected =1 then В форме другого справочника пытаемся обработать параметры (в процедурах ПриОткрытии и ПриПовторномОткрытии – код одинаковый) if EmptyValue(Form.Parameter) <> 1 then При нажатии на кнопарь имеем пары сообщенийНормальная парапозиционирование на ЧТО ВЫБРАЛИполучено ЧТО ВЫБРАЛИ.И такие пары - ОШИБОЧНЫЕпозиционирование на ЧТО ВЫБРАЛИполучено.илипозиционирование на ЧТО ВЫБРАЛИНас посетил ОБЛОМОВ т.е. параметр не пришел. Релиз 20 и 23 ДБФ. На 15 – РАБОТАЕТ, но там валятся отчеты.Проверено под отладчиком. Значение действительно иногда пустое. Причем пустое может прийти несколько раз подряд, а потом несколько раз нормальное. Количество – непредсказуемое.Обломец бывает на разных машинах (ОС – 98, 2000, ХР). На одних чаще, на других реже. На некоторых практически не бывает обломов…ВК – не используются…Конфа – изуродованная типовая бухия 4.3x. На ней сделано производство.P.S. Идеи по исправлению ситуации. Конечно, есть. Но кто нибудь популярно для идиотов объяснит причину…Ибо эта конструкция выверена, занесена в шаблоны и никогда не давала причин беспокойства…
#4
by pit
ТиИ проходит без проблем.Пробовал- выносить определение _СЗ_ в начало как Перем _СЗ_- пробовал просто передавать объект
#5
by Эстет хренов
никогда такого не было.. :((как бредовая идея, прокэшируй внешний контекст, перед обращением:
#7
by pit
Попробую.Но самое противное - в другом месте не удается воспроизвести эффект на той же самой конфе и данных. По русски - это с матами? Или "как всегда"
#9
by Guk
Я году в 2000 понял, что познать 1С до конца, всё равно неудастся. Каим бы спецом ты не был.Когда один и тот же код, на одних и тех же данных в Предприятии отрабывает по одному, а в Отладчике пошагово по другому, это выше моего понимания. А ведь я до 1С на Delphi писать пробовал. Borland, кстати, таких подстав никогда не делало...
#10
by pit
и не говори... Причем почем купил - даже не заметил....Самое прикольное - Эта же самая конструкция туеву хучу раз используется в этой же конфе...Порождена шаблоном. Все работает, а в этом месте - аллес....P.S. в пятницу буду терзать конфу у клиента. Поборем. У меня еще 3 идеи есть.... и не говори. До чего заЁ...ло... Насчет Борланда - согласен...
#11
by systemstopper
Сегодня на 15 релизе грабли словил...На 23 дома сделал, а у клиента-не работает...Не работала конструкция
#12
by VZ
Вот уж зараза... Ни разу не наступал на такое. Правда, я вместонаписал бы (ну привык так, особенно на формах списков): А вот почему так привык, не знаю...
#13
by Господин Забалуев
имхо, списки в 1С часто косячат....наверное это связано с поддержкой списоков виндой...сам видел что на одном машине список вообще не открывался (Вин98), на другой машине на том же самом коде (Вин2000) все работало...может быть заменить список на ТаблицуЗначений ?
#14
by Frog
Вообще, я стараюсь избегать списка, пользуюсь им только если надо чеками выбирать что-нить и многие траблы 1С решаются через переменые к примерупростой поискСпр.НайтиПоКоду(СпрОс.Код) так может не сработать, а если Код=СпрОс.КодСпр.НайтиПоКоду(Код) срабатывает нормально. Это конечно тревиальный прмер, но думаю суть ясна, у 1С проблемы пожизненные с позиционированием.
#15
by Оболтус
""""Когда мне по наследству достался примерно вот такой код, я сильно удивлялся. Выкинул. Пришлось снова такое же написать. На реквизит "КодТорг" поставлена сортировка, только и всего.
#16
by Меланхоличный ворон
Borland подстав не делало??? Вспомни Delphi 1.0 (еще под Win32S) Я три дня отлаживал код, пока не выяснил, что у них функция Max возвращает минимальное, а Min максимальное из двух значений :-)
#17
by VZ
А я на такое наткнулся в свое время: м модуле дока (проведение!) некоторые строки табличной части формировали проводки с количеством, но без суммы. Иногда. А данные брались из ТЗ. Когда обнаружил, поставил сообщение, чтоб отловить. И все путем. Снял сообщение - опять хрень :( Так и пришлось оставить...
#18
by CracK
2 А может на форме справочника есть какие-нить функции, которые используют CurrentItem, у меня как-то раз такая функция "дестабилизировала" нормальную работу?
#19
by sd
imho дело в потере фокуса при передаче параметра. Либо , либо так,.procedure Перейти if EmptyValue(CurrentItem) =0 then..либо совсем вот так:...
#20
by pit
нда... трава еще круче моей...Какая потеря фокуса? Креститесь.....P.S. проблему решил... Уссссссался над решением...Благо тащиться не пришлось... У клиента есть программер, занимается станками и прочей микролабудой - он под чутким телефонным руководством вставил кусок... Весьма удивляясь написанному коду. После запуска 1С связь прервалась. Позвонил в бухию и попросил зайти к нему - выяснить последствия. Сходили - сказали, он в истерике катается по полу и ржет... как стая лошадей....Вот код... Только пристегнитесь ремнями...if EmptyValue(Form.Parameter) <> 1 thenесли EmptyValue(Оп) = 1 then сообщить ("Болт №2"); Оп =_СЗ_.Get("Элемент");endIf;если EmptyValue(Оп) = 1 then сообщить ("Болт №3"); Оп =_СЗ_.Get("Элемент");endIf;если EmptyValue(Оп) = 1 then сообщить ("Болт №4"); Оп =_СЗ_.Get("Элемент");endIf;если EmptyValue(Оп) = 1 then сообщить ("Болт №5"); Оп =_СЗ_.Get("Элемент");endIf;если EmptyValue(Оп) = 1 then сообщить ("Болт №6"); Оп =_СЗ_.Get("Элемент");endIf;если EmptyValue(Оп) = 1 then сообщить ("Болт №7"); Оп =_СЗ_.Get("Элемент");endIf;если EmptyValue(Оп) = 1 then сообщить ("Болт №8"); Оп =_СЗ_.Get("Элемент");endIf;если EmptyValue(Оп) = 1 then сообщить ("Болт №9"); Оп =_СЗ_.Get("Элемент");endIf;если EmptyValue(Оп) = 1 then сообщить ("Болт №10"); Оп =_СЗ_.Get("Элемент");endIf; если EmptyValue(Оп) = 1 then сообшить ("Стая БОЛТОВ!!!!"); возврат; endIf;…….….. дальнейшие действия…………..при работе доходит до болта от 2 до 5 – дальше выдает ПОЛУЧЕНО…Я валяюсь….
#21
by VZ
Шедевр!!! В анналы, в золоченую рамку под стекло! Распечатать на струйнике крупным цветным принтером, прицепить шнурок с печатью и вручить БН на торжественной линейке...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
В этой группе 1С
- Траблы связки 1С+MS SQL, help!
- Отбор в общем журнале по нескольким реквизитам
- перенос нескольких элементов справочника из одной группы в другую
- ПБУ 18/02 автоматизация
- Как открыть форму выбора справочника внутри определенной группы?
- Работа в терминале
- как привязать кнопку к границе формы?
- Откуда в оборотно-сальдовой ведомости -9,999,999,999.99 красным цветом ?
- Возможна ли повторная выгрузка периферийной базы?
- Строка неограниченной длины в регистре сведений
- Как средствами 1с или не 1с получить список каталогов в каталоге?
- Строка обрезается....
- Сворачивание ТЗ
- Как в 1С 7ке создать файл-флаг без расширения?
- У одного элемента два владельца!!!
- V8: Не могу присвоить значение элементу табличной части
- Дата и время в Delphi
- Итог в форма списка документа.
- можно в печ.форме цифры выводить не в целом формате, а с .?
- Как программно установит отбор в форме списка справочника