Имя: Пароль:
1C
 
Сокращения перед наименованиями городов/улиц. Заморочка блин!
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 спасибо за наводку на строку представления, нужно будет попробовать, если покатит, то предложу руководству. Ну вообще-то должны согласиться.

Ну все ж интересно, куда ж она переходит после автоподбора :)) Ну хочется добить уже ее :)))