![]() |
|
Поиск Банка по классификатору банков (макет) | ☑ | ||
---|---|---|---|---|
0
web_profiler
13.08.13
✎
13:33
|
Есть классификатор банков (макет справочника). Как в макете перебрать строки и найти с нужным мне МФО банк и получить эту строку?
Помогите, пожалуйста |
|||
1
Maxus43
13.08.13
✎
13:35
|
почему макет? с РБК грузят банки все, классификатор как бы меняется каждую неделю
|
|||
2
web_profiler
13.08.13
✎
13:36
|
Конфа: Бухгалтерия для Украины - КлассификаторБанков выполнен макетом справочника
|
|||
3
web_profiler
13.08.13
✎
13:37
|
Подбор по нему осуществляется выводом в поле таблДокумента макета и получение расшифровки выбранной строки
|
|||
4
Рэйв
13.08.13
✎
13:39
|
(0)Макет создан только для дефолтного заполнения. Ищи РС, где хранятся эти данные и бери оттуда
|
|||
5
CepeLLlka
13.08.13
✎
13:40
|
(4)А как же такие конфигурации как УНФ? В ней вот макетом сделано.. и нет обновления с РБК..
Как быть? Не обновлять? |
|||
6
Славен
13.08.13
✎
13:40
|
делать нефиг, пользуй НайтиТекст
|
|||
7
web_profiler
13.08.13
✎
13:40
|
(4) сейчас скину обработчик типового выбора банка по классификатору:
Процедура ПолеТабличногоДокументаОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; // Получение значений полей выбранной строки. ТабличныйДокумент = ЭлементыФормы.ПолеТабличногоДокумента; ТекущаяОбласть = ТабличныйДокумент.ТекущаяОбласть; ОбластьКодМФО = ТабличныйДокумент.Области.КодМФО; ОбластьНаименование = ТабличныйДокумент.Области.Наименование; ОбластьГород = ТабличныйДокумент.Области.Город; ОбластьАдрес = ТабличныйДокумент.Области.Адрес; ОбластьЕДРПОУ = ТабличныйДокумент.Области.ЕДРПОУ; ОбластьТелефоны = ТабличныйДокумент.Области.Телефоны; ОбластьКоррСчет = ТабличныйДокумент.Области.КоррСчет; КодМФО = ТабличныйДокумент.Область(ТекущаяОбласть.Верх, ОбластьКодМФО. Лево, ТекущаяОбласть.Низ, ОбластьКодМФО. Право).Текст; Наименование = ТабличныйДокумент.Область(ТекущаяОбласть.Верх, ОбластьНаименование. Лево, ТекущаяОбласть.Низ, ОбластьНаименование. Право).Текст; Город = ТабличныйДокумент.Область(ТекущаяОбласть.Верх, ОбластьГород. Лево, ТекущаяОбласть.Низ, ОбластьГород. Право).Текст; Адрес = ТабличныйДокумент.Область(ТекущаяОбласть.Верх, ОбластьАдрес. Лево, ТекущаяОбласть.Низ, ОбластьАдрес. Право).Текст; ЕДРПОУ = ТабличныйДокумент.Область(ТекущаяОбласть.Верх, ОбластьЕДРПОУ. Лево, ТекущаяОбласть.Низ, ОбластьЕДРПОУ. Право).Текст; Телефоны = ТабличныйДокумент.Область(ТекущаяОбласть.Верх, ОбластьТелефоны. Лево, ТекущаяОбласть.Низ, ОбластьТелефоны. Право).Текст; КоррСчет = ТабличныйДокумент.Область(ТекущаяОбласть.Верх, ОбластьКоррСчет. Лево, ТекущаяОбласть.Низ, ОбластьКоррСчет. Право).Текст; // Проверка наличия выбранного банка. Ссылка = Справочники.Банки.НайтиПоКоду(КодМФО); Если НЕ Ссылка.Пустая() Тогда Вопрос = Локализация.СтрШаблон(НСтр("ru='В справочнике ""Банки"" уже существует элемент с кодом (МФО) ""¤1¤""! Добавить новый элемент ? " "(При ответе ""Нет"" будет открыт существующий элемент справочника)';uk='У довіднику ""Банки"" уже існує елемент із кодом (МФО) ""¤1¤""! Додати новий елемент? " "(При відповіді ""Ні"" буде відкрито існуючий елемент довідника)'"), КодМФО); Ответ = Вопрос(Вопрос, РежимДиалогаВопрос.ДаНетОтмена, , КодВозвратаДиалога.Отмена, ); Если Ответ = КодВозвратаДиалога.Нет Тогда Ссылка.ПолучитьФорму( , ВладелецФормы, ).Открыть(); Возврат; ИначеЕсли Ответ = КодВозвратаДиалога.Отмена Тогда Возврат; КонецЕсли; КонецЕсли; // Создание нового банка. ФормаНовогоЭлемента = Справочники.Банки.ПолучитьФормуНовогоЭлемента(, ВладелецФормы, ); ФормаНовогоЭлемента.Код = КодМФО; ФормаНовогоЭлемента.Наименование = Наименование; ФормаНовогоЭлемента.Город = Город; ФормаНовогоЭлемента.Адрес = Адрес; ФормаНовогоЭлемента.КодПоЕДРПОУ = ЕДРПОУ; ФормаНовогоЭлемента.Телефоны = Телефоны; ФормаНовогоЭлемента.КоррСчет = КоррСчет; ФормаНовогоЭлемента.Открыть(); КонецПроцедуры |
|||
8
web_profiler
13.08.13
✎
13:41
|
(4) как тебе?
|
|||
9
Рэйв
13.08.13
✎
13:42
|
(8)Круть.
Хорошо, что я с такой конфой не работаю:-) |
|||
10
web_profiler
13.08.13
✎
13:42
|
казалось бы задача беспантовая, ан нет...
|
|||
11
Maxus43
13.08.13
✎
13:43
|
(10) у тебя же есть код уже, трудно область с текущей поменять на перебор областей?
|
|||
12
web_profiler
13.08.13
✎
13:43
|
Бл.. че вывести в таблДок, и перебирать строки табДока? Ну ведь это через ж...!!!
|
|||
13
Славен
13.08.13
✎
13:43
|
+(6)делаешь табл документ, получаешь облать макета, и в ней используешь НайтиТекст(.....), получаешь ячейку соответственно строка получается изменением адреса колонки
|
|||
14
web_profiler
13.08.13
✎
13:44
|
(11) мне перебирать около 500 банков
|
|||
15
Славен
13.08.13
✎
13:45
|
можно загрузить нужные колонки макета в тз и оттуда вытягивать
|
|||
16
web_profiler
13.08.13
✎
13:45
|
(11)Область одна, в ней много строк с банками
|
|||
17
web_profiler
13.08.13
✎
13:45
|
(15) анука?! и как это замутить?
|
|||
18
Maxus43
13.08.13
✎
13:48
|
(17) перебрать всё равно придётся
|
|||
19
web_profiler
13.08.13
✎
13:49
|
(18) согласен. Ладненько, спасибо. Получаю табдок и перебираю
|
|||
20
Maxus43
13.08.13
✎
13:51
|
не надо выводить в таб док, получи макет и перебирай его области без вывода
|
|||
21
Славен
13.08.13
✎
13:53
|
+потому что после получения макет сам таб документ
|
|||
22
web_profiler
13.08.13
✎
13:56
|
(20) так как же перебрать строки области, если она одна?
|
|||
23
Maxus43
13.08.13
✎
14:00
|
(22) Область(верх, низ, лево, право).... СП короче
|
|||
24
web_profiler
13.08.13
✎
14:03
|
(23) спс
|
|||
25
web_profiler
13.08.13
✎
15:03
|
Может Кому-то будет интересно как режил вопрос: перебрал макет КлассификатораБанков и загнал его в ТЗ
СпрБанки8 = Справочники.Банки; ТЗБанки = Новый ТаблицаЗначений; ТЗБанки.Колонки.Добавить("КодМФО",,"КодМФО"); ТЗБанки.Колонки.Добавить("Наименование",,"Наименование"); ТЗБанки.Колонки.Добавить("Город",,"Город"); ТЗБанки.Колонки.Добавить("Адрес",,"Адрес"); ТЗБанки.Колонки.Добавить("ЕДРПОУ",,"ЕДРПОУ"); ТЗБанки.Колонки.Добавить("Телефоны",,"Телефоны"); ТЗБанки.Колонки.Добавить("КоррСчет",,"КоррСчет"); ТабличныйДокумент = СпрБанки8.ПолучитьМакет("КлассификаторБанков"); ТекущаяОбласть =ТабличныйДокумент.Область("ОбластьРасшифровки"); ОбластьКодМФО = ТабличныйДокумент.Области.КодМФО; ОбластьНаименование = ТабличныйДокумент.Области.Наименование; ОбластьГород = ТабличныйДокумент.Области.Город; ОбластьАдрес = ТабличныйДокумент.Области.Адрес; ОбластьЕДРПОУ = ТабличныйДокумент.Области.ЕДРПОУ; ОбластьТелефоны = ТабличныйДокумент.Области.Телефоны; ОбластьКоррСчет = ТабличныйДокумент.Области.КоррСчет; НомерСтр = 4; Пока НомерСтр <> ТекущаяОбласть.Низ Цикл Если ТабличныйДокумент.Область(НомерСтр, ОбластьКодМФО.Лево, ТекущаяОбласть.Низ, ОбластьКодМФО.Право).Текст <> "" Тогда СтрокаТЗБанки = ТЗБанки.Добавить(); СтрокаТЗБанки.КодМФО = ТабличныйДокумент.Область(НомерСтр, ОбластьКодМФО.Лево, ТекущаяОбласть.Низ, ОбластьКодМФО.Право).Текст; СтрокаТЗБанки.Наименование = ТабличныйДокумент.Область(НомерСтр, ОбластьНаименование.Лево, ТекущаяОбласть.Низ, ОбластьНаименование.Право).Текст; СтрокаТЗБанки.Город = ТабличныйДокумент.Область(НомерСтр, ОбластьГород.Лево, ТекущаяОбласть.Низ, ОбластьГород.Право).Текст; СтрокаТЗБанки.Адрес = ТабличныйДокумент.Область(НомерСтр, ОбластьАдрес.Лево, ТекущаяОбласть.Низ, ОбластьАдрес.Право).Текст; СтрокаТЗБанки.ЕДРПОУ = ТабличныйДокумент.Область(НомерСтр, ОбластьЕДРПОУ.Лево, ТекущаяОбласть.Низ, ОбластьЕДРПОУ.Право).Текст; СтрокаТЗБанки.Телефоны = ТабличныйДокумент.Область(НомерСтр, ОбластьТелефоны.Лево, ТекущаяОбласть.Низ, ОбластьТелефоны.Право).Текст; СтрокаТЗБанки.КоррСчет = ТабличныйДокумент.Область(НомерСтр, ОбластьКоррСчет.Лево, ТекущаяОбласть.Низ, ОбластьКоррСчет.Право).Текст; КонецЕсли; КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |