|
|
|
Сокращения перед наименованиями городов/улиц. Заморочка блин! | ☑ | ||
|---|---|---|---|---|
|
0
VITAmin_1C
03.06.10
✎
15:49
|
Никогда не подумал бы, что первое на чем сподкнусь в 1С будет сокращения городов/улиц... Ппц! :)
Задание: сделать чтобы сокращения "г", "ул" автоматически устанавливались в начале, а не в конце наименования города/улицы. Нашел процедуры, в которых соединяется сокращение и наименование. Но теперь стала другая проблема - когда пишешь руками (не через кнопку выбора) в поле города начало наименования, например, "Зерно" срабатывает событие "АвтоподборТекста" и пытается найти город. Находит - "Зерноград". Первую часть наименования, введенную руками не трогает, т.е. так и остается "Зерно", а ко второй дописывает конец текста, который выделен, но не "град", а "ноград" и получается "Зерноноград". Т.е. дописывает лишние две буквы. Есть предположение, что это из-за того, что система предполагает, что наименование определилось как "Зерноград г", а я переделал на "г Зерноград". Не могу найти, что прога выполняет после события "АвтоПодборТекста". Куда она переходит? Явно ведь где-то там нужно скорректировать логику. В фирме страсти по поводу этой заморочки пока стихли, да и проблема совсем не проблема, но руководство хочет и все, да разобраться очень хочется. Прям дело принципа :))) Подскажите, кто что знает. Заранее всем ответившим спасибо |
|||
|
1
Fram
03.06.10
✎
15:56
|
а отладчик не помогает?
|
|||
|
2
VITAmin_1C
03.06.10
✎
16:01
|
В том и дело, что нет. В отладчике после процедуры-обработчика "ГородАвтоПодборТекста" никуда не переходит. Но куда-то она идет, зараза такая. Просто отладчик не показывает этого. Не так давно я сталкивался с тем, что отладчик не переходил никуда, но тогда я все-таки отыскал, куда шло. Сейчас же пока глухо. Чтоб ее!!! Уже два общих модуля облазил вдоль и поперек. Либо пропустил что-то, либо не там. Бесит уже! :)
|
|||
|
3
zmaximka
03.06.10
✎
16:06
|
база серверная? если да, то запустить сервер приложений с ключем debug и смотреть отладчиком
|
|||
|
4
IronDemon
03.06.10
✎
16:10
|
(0) Не трожь
|
|||
|
5
VITAmin_1C
03.06.10
✎
16:16
|
База серверная. С ключом запустить не получится, а вот выгрузить в файл и попробовать на локалке это можно
|
|||
|
6
zmaximka
03.06.10
✎
16:28
|
(5) ну тоже вариант
|
|||
|
7
DmiVo
03.06.10
✎
16:59
|
Напиши свое событие ОкончаниеВводаТекста, а параметру СтандартнаяОбработка присвой Ложь
|
|||
|
8
VITAmin_1C
03.06.10
✎
17:08
|
На локалке тоже не показывает куда идет. Как заколдованная!
Событие ОкончаниеВводаТекста генерируется, когда поле ввода теряет фокус и никак не влияет на мое. АвтоПодборТекста срабатывает спустя секунду после остановки ввода букв |
|||
|
9
DmiVo
03.06.10
✎
17:15
|
Значит свое событе АвтоПодборТекста, а параметру СтандартнаяОбработка присвой Ложь
|
|||
|
10
VITAmin_1C
03.06.10
✎
17:22
|
Я пробовал уже делать СтандартнаяОбработка = Ложь в АвтоПодборТекста. Делал и в начале это процедуры и в конце и сразу и там и там - результат тот же
|
|||
|
11
kosts
03.06.10
✎
17:34
|
Может в справочнике есть такой город Зерноноград ? :-)
|
|||
|
12
kosts
03.06.10
✎
17:36
|
Когда откроешь форму, то открой отладчик и нажми паузу. При начале работе какой либо процедуры, программа сразу остановится.
|
|||
|
13
VITAmin_1C
03.06.10
✎
17:48
|
Города такого нет :) а вот остановку попробую сейчас
|
|||
|
14
DmiVo
03.06.10
✎
20:15
|
Для УПП есть общий модуль ПроцедурыПоискаПоСтроке, ты где копаешь то?
|
|||
|
15
VITAmin_1C
04.06.10
✎
10:00
|
Пробовал делать паузу, но она останавливается в начале процедуры АвтоПодборТекста, я прошел ее построчно и в конце она снова куда-то ушла :) Куда непонятно! Вот если бы можно было сделать остановку перед выходом из процедуры и чтобы она остановилась где-то там.
У нас 1С КА, в ней тоже есть модуль ПроцедурыПоискаПоСтроке, я поставил точки останова в каждой процедуре этого модуля. После выхода из обработчика события АвтоПодборТекста поля Город, система также не показывает куда переходит, т.е. ни в одну из процедур модуля ПроцедурыПоискаПоСтроке она не пошла... Наверно. Сейчас все делаю на локальной файловой базе, для чистоты в свойствах ВСЕХ общих модулей поставил только галочку "Клиент", т.к. на сервере отлаживать нельзя. Все также! Трындец!!! |
|||
|
16
DmiVo
04.06.10
✎
10:16
|
У меня нет КА. Как выглядит обработчик события АвтоПодборТекста?
|
|||
|
17
VITAmin_1C
04.06.10
✎
11:08
|
Там одна процедура:
УниверсальныйАвтоподборТекстаДляАдреса(Элемент, Текст, ТекстАвтоПодбора, СтандартнаяОбработка, Поле2, Поле3, "", "", 3); |
|||
|
18
DmiVo
04.06.10
✎
11:21
|
Т. Е. если ее закоментить ни чего не добавляется.
а в ней что? |
|||
|
19
VITAmin_1C
04.06.10
✎
12:19
|
Если закомментить, то вообще ничего не добавляется, действий нет по поиску города.
В ней запускается еще одна из общего модуля "УправлениеКонтактнойИнформацией", но суть не в этом. Суть в том, что в процедуре ГородАвтоПодборТекста расположена процедура УниверсальныйАвтоподборТекстаДляАдреса, которая возвращает параметр ТекстАвтоПодбора. После окончания процедуры ГородАвтоПодборТекста программа куда-то уходит. Там, куда она ушла она убирает " г", становится "Зерноград" и выделяет конец наименования "град". Так происходит, когда процедура УниверсальныйАвтоподборТекстаДляАдреса стандартно возвращает "Зерноград г". Если же она возвратит "г Зерноград", то получится слово "Зерноноград", в котором будет выделено "ноград". Вот куда она переходит и где убирает "г", выделяет конец наименования я и не могу найти |
|||
|
20
DmiVo
04.06.10
✎
13:35
|
Мда ... Поробуй с другого боку. У меня после автоподбора идет в общий модуль ПроцедурыПоискаПоСтроке на процедуру ОбновлениеОтображенияВФормеПриПоискеПоСтроке там есть и значение целиком и то что добавляется Элемент.ВыделенныйТекст
Может у тебя тоже нечто в этом роде. Это конечно полумера, но корректировка до вывода все же будет. |
|||
|
21
rs_trade
04.06.10
✎
13:52
|
ОбщийМодуль.УправлениеКонтактнойИнформацией
Функция ПолучитьПолноеНазвание |
|||
|
22
rs_trade
04.06.10
✎
13:53
|
+(21) делов то на 2 минуты
|
|||
|
23
DmiVo
04.06.10
✎
14:04
|
(21) ты (19) читал?
|
|||
|
24
rs_trade
04.06.10
✎
14:14
|
(23) при начале авто подбора надо назад переставлять буковки, и передавать в поиск. что бы уж глубоко не копать и ломать механизм...
|
|||
|
25
DmiVo
04.06.10
✎
14:20
|
Это выбор автора. Я так согласен с (4)
|
|||
|
26
rs_trade
04.06.10
✎
14:24
|
Кстати, че то я не понял. А нафига вообще в механизмы поиска и подобра лезть, есть при формировании представления можно менять? Или нельзя?
|
|||
|
27
Serg_1960
04.06.10
✎
14:36
|
"Г в начале и Г - в конце. Вот в чём вопрос"(автор)
Так и хочется спросить "А зачем?". Зачем думать о том, что передача данных в налоговую и пенсионный фонд отвалится? |
|||
|
28
VITAmin_1C
04.06.10
✎
14:37
|
ОбновлениеОтображенияВФормеПриПоискеПоСтроке тоже смотрел уже - не то. До "Элемент.ВыделенныйТекст" не доходит по условию "Если ОбработкаПоискаПоСтроке Тогда", т.к. ОбработкаПоискаПоСтроке лживая, в смысле = Ложь.
А "ПолучитьПолноеНазвание" вообще не из той оперы. Наверняка ведь простое дело, только докопаться, куда переходит... Неужели не у кого нет больше мыслей по этому поводу или все другие отвечают только на "умные" темы |
|||
|
29
VITAmin_1C
04.06.10
✎
14:38
|
Serg_1960 по подробнее можно по поводу налоговой и пенсионного?
|
|||
|
30
Serg_1960
04.06.10
✎
15:00
|
Незнаю у кого как, а у меня, - УПП. И там, в общем модуле УправлениеКонтактнойИнформацией, каждая вторая функция и процедура использует алгоритмы, основанные на том, что сокращение - в конце наименования.
Изменить месторасположение сокращения - и половина процедур/функций обработки адреса - перестанет корректно работать... |
|||
|
31
Serg_1960
04.06.10
✎
15:39
|
(29) "По поводу..." - можно вывести справки в файл, исправить там несколько адресов вручную (сокращения - перед наименованием) и прогнать его через CheckXML. У нас, без протокола проверки данных в этой программе, - данные не принимают. Если эта программа сообщит о неверных адресах - считайте что Вас отфутболили в налоговой.
|
|||
|
32
VITAmin_1C
04.06.10
✎
16:12
|
У нас тоже много процедур используют, но это можно поправить как нужно, а вот с этой проблемой прям беда. Нужно убеждать руководство не заниматься ерундой. Ну а пока буду рыть... На счет налоговой и пенсионного нужно уточнять как делает бухгалтерия, я не в курсе.
Если появятся какие-нибудь мысли по поводу данной проблемы пишите |
|||
|
33
rs_trade
04.06.10
✎
17:05
|
(32) наверняка это просто чья то прихоть. лучшее решение это убедить оставить как есть. в конце концов все адреса фигурируют в виде строки представления. Почему бы при формировании строки не переставлять буковки?
вот здесь УправлениеКонтактнойИнформацией Функция ПолучитьПредставлениеАдреса(Запись) |
|||
|
34
hhhh
04.06.10
✎
17:13
|
(32) ну это же элементарно. Сделай два поля: Наименование и НаименованиеДляНачальства. По первому полю делай автоподбор, а второе им показывай.
|
|||
|
35
VITAmin_1C
04.06.10
✎
17:18
|
Так и есть - прихоть. Ну а что делать? Попробуй докажи руководству. Как взбрендит что-нибудь!
rs_trade спасибо за наводку на строку представления, нужно будет попробовать, если покатит, то предложу руководству. Ну вообще-то должны согласиться. Ну все ж интересно, куда ж она переходит после автоподбора :)) Ну хочется добить уже ее :))) |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |