gifts2017

Добавление стран из классификатора сохраненного в таблице значений

Опубликовал Антон Волков (noknown) в раздел Программирование - Практика программирования

В связи с тем, что в новой форме счет-фактуры указываются коды стран-производителей товара, столкнулся с ситуацией, когда в классификаторе стран находится много стран-дублей, а коды стран не соответствуют общероссийскому классификатору. Чтобы в дальнейшем, при добавлении стран, ситуация не повторялась решено было реализовать механизм позволяющий только выбирать страну из классификатора (предварительно сохраненного в ТаблицеЗначений).

1. Был взят классификатор стран со страницы http://klassifikators.ru/oksm

2. Скопированный классификатор вставлен в Excel, затем загружен в ТаблицуЗначений в 1C

3. ТаблицаЗначений сохранена в файл 

4. В базу добавлена константа - "Путь к классификатору стран мира" (Константа.ПутьОКСМ)

5. В форму списка справочника ОКСМ добавлена кнопка "Добавить из классификатора стран мира" с формулой "ПриВводеСтроки()"

6. В модуль формы списка добавлен следующий код:

 

Процедура ПриВводеСтроки()

Если ФС.СуществуетФайл(Константа.ПутьОКСМ)=0 Тогда

Сообщить("Не найден классификатор стран!");
СтатусВозврата(0);
Возврат;

КонецЕсли;


ТабЗнач=СоздатьОбъект("ТаблицаЗначений");
ЗначениеИзФайла(Константа.ПутьОКСМ,ТабЗнач,0);
СпрСтрана=СоздатьОбъект("Справочник.ОКСМ");
СпрСтрана.ВыбратьЭлементы();


Пока СпрСтрана.ПолучитьЭлемент() = 1 Цикл

Стр="";
Если ТабЗнач.НайтиЗначение(СпрСтрана.Код,Стр,"Код")<>0 Тогда

ТабЗнач.УдалитьСтроку(Стр);

КонецЕсли;

КонецЦикла; 


ВыбСтрока="";
Если ТабЗнач.ВыбратьСтроку(ВыбСтрока,"Выберите страну для добавления")<>1 Тогда

СтатусВозврата(0);
Возврат;

КонецЕсли;


Если ВыбСтрока = 0 Тогда

СтатусВозврата(0);
Возврат;

КонецЕсли;


СпрСтрана.Новый();
СпрСтрана.Код = ТабЗнач.ПолучитьЗначение(ВыбСтрока,"Код");
СпрСтрана.Наименование = ТабЗнач.ПолучитьЗначение(ВыбСтрока,"Страна");
СпрСтрана.Записать();

Форма.Обновить();

КонецПроцедуры


Теперь пользователи могут добавлять страны только из классификатора:

Классификатор в ТаблицеЗначений


Из открывающейся для выбора таблицы убраны уже присутствующие в справочнике страны - для исключения добавления повторов. 

Прилагаю таблицу значений, выгруженную в файл.

Надеюсь, кому-нибудь поможет.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
KLCOUNTR.dat
.dat 10,52Kb
22.04.12
9
.dat 10,52Kb 9 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Константин Юрин (kostyaomsk) 06.04.15 17:18
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа