![]() |
![]() |
|
Преобразовать код страны в страну | ☑ | ||
---|---|---|---|---|
0
DirecTwiX
06.12.13
✎
11:53
|
Например, CN в Китай.
Может есть у кого процедура? Спасибо |
|||
1
DirecTwiX
06.12.13
✎
11:53
|
КА. У справочника страна нет элемента код
|
|||
2
Wobland
06.12.13
✎
11:54
|
(1) ну наименование возьми
|
|||
3
Преднаименование
06.12.13
✎
11:56
|
Есть подобная обработка, но для единиз имерения.
Нужно будет макет другой указать и поля. Если справшься могу дать |
|||
4
Преднаименование
06.12.13
✎
11:56
|
(1) Есть макет.
|
|||
5
Эмбеддер
06.12.13
✎
11:58
|
нажми в классификаторе стран мира в форме списка "Подбор из ОКСМ"
|
|||
6
dclxvi
06.12.13
✎
12:06
|
Если руки прямые допишешь:
Процедура ЗаполнеитьТЗЕдИЗ() Экспорт //ТЗЕдИЗ=Новый ТаблицаЗначений; ТЗЕдИЗ.Очистить(); ТЗЕдИЗ.Колонки.Очистить(); ТЗЕдИЗ.Колонки.Добавить("КодЕд"); ТЗЕдИЗ.Колонки.Добавить("ИмяЕд"); ТЗЕдИЗ.Колонки.Добавить("МестОбозЕд"); ТЗЕдИЗ.Колонки.Добавить("МеждОбозЕд"); ТЗЕдИЗ.Колонки.Добавить("МестКодЕд"); ТЗЕдИЗ.Колонки.Добавить("МеждКодЕд"); Макет = Справочники.КлассификаторЕдиницИзмерения.ПолучитьМакет("КлассификаторЕдиницИзмерения"); Для НомСтрМак=1 По Макет.ВысотаТаблицы Цикл КодЕд=СокрЛП(Строка(Макет.Область(НомСтрМак,2,НомСтрМак,2).Текст)); Если (( не ЕстьНеЦифрыВСтроке(КодЕд)) и (ЗначениеЗаполнено(КодЕд))) Тогда СтрЕд=ТЗЕдИЗ.Добавить(); СтрЕд.КодЕд=СокрЛП(Строка(Макет.Область(НомСтрМак,2,НомСтрМак,2).Текст)); СтрЕд.ИмяЕд=СокрЛП(Строка(Макет.Область(НомСтрМак,3,НомСтрМак,3).Текст)); СтрЕд.МестОбозЕд=СокрЛП(Строка(Макет.Область(НомСтрМак,4,НомСтрМак,4).Текст)); СтрЕд.МеждОбозЕд=СокрЛП(Строка(Макет.Область(НомСтрМак,5,НомСтрМак,5).Текст)); СтрЕд.МестКодЕд=СокрЛП(Строка(Макет.Область(НомСтрМак,6,НомСтрМак,6).Текст)); СтрЕд.МеждКодЕд=СокрЛП(Строка(Макет.Область(НомСтрМак,7,НомСтрМак,7).Текст)); КонецЕСли; КонецЦикла; КонецПроцедуры Функция ПолучитьСпЕдиз(элЕдИз,ДокЕдиз="",СтрЕдиз="") КодЕдИз="796"; ИмяЕдИз="PCE"; Попытка ЕСли ЗначениеЗаполнено(элЕдИз) ТОгда ЕСли ЗначениеЗаполнено(элЕдИз.ЕдиницаПоКлассификатору) ТОгда ИмяКраткое=элЕдИз.ЕдиницаПоКлассификатору.Наименование; ИмяПолное=элЕдИз.ЕдиницаПоКлассификатору.НаименованиеПолное; ИмяКраткое=СтрЗаменить(ИмяКраткое,".",""); ИмяКраткое=СтрЗаменить(ИмяКраткое," "," "); ИмяКраткое=СтрЗаменить(ИмяКраткое," "," "); ИмяКраткое=СтрЗаменить(ИмяКраткое," "," "); ИмяКраткое=СокрЛп(ИмяКраткое); ИмяПолное=СтрЗаменить(ИмяПолное,".",""); ИмяПолное=СтрЗаменить(ИмяПолное," "," "); ИмяПолное=СтрЗаменить(ИмяПолное," "," "); ИмяПолное=СтрЗаменить(ИмяПолное," "," "); ИмяПолное=СокрЛп(ИмяПолное); ИмяКраткое=?(Найти(Нрег(ИмяКраткое),"пачка")<>0,"упак",ИмяКраткое); ИмяПолное=?(Найти(Нрег(ИмяПолное),"пачка")<>0,"Упаковка",ИмяПолное); Отбор = Новый Структура(); Отбор.Очистить(); Отбор.Вставить("ИмяЕд",ИмяПолное); Строки = ТЗЕдИЗ.НайтиСтроки(Отбор); Если Строки.Количество() = 1 Тогда Если ЗначениеЗаполнено(Строки[0].МеждКодЕд) ТОгда КодЕдИз=Строки[0].КодЕд; ИмяЕдИз=Строки[0].МеждКодЕд; ИНаче Сообщить("В документе:"+СокрЛп(Строка(ДокЕдиз))+" в строке:"+СокрЛп(Строка(СтрЕдиз))+" - в классификаторе для еденица измерения:"+элЕдИз.Наименование+" не указано международное обозначение, будет указана PCE (штуки)."); КонецЕсли; Иначе Отбор = Новый Структура(); Отбор.Очистить(); Отбор.Вставить("МестОбозЕд",ИмяКраткое); Строки = ТЗЕдИЗ.НайтиСтроки(Отбор); Если Строки.Количество() = 1 Тогда Если ЗначениеЗаполнено(Строки[0].МеждКодЕд) ТОгда КодЕдИз=Строки[0].КодЕд; ИмяЕдИз=Строки[0].МеждКодЕд; ИНаче Сообщить("В документе:"+СокрЛп(Строка(ДокЕдиз))+" в строке:"+СокрЛп(Строка(СтрЕдиз))+" - в классификаторе для еденица измерения:"+элЕдИз.Наименование+" не указано международное обозначение, будет указана PCE (штуки)."); КонецЕсли; Иначе Сообщить("В документе:"+СокрЛп(Строка(ДокЕдиз))+" в строке:"+СокрЛп(Строка(СтрЕдиз))+" - в классификаторе не найдена еденица измерения:"+элЕдИз.Наименование+", будет указана PCE (штуки)."); КонецЕсли; КонецЕсли; Иначе Сообщить("В документе:"+СокрЛп(Строка(ДокЕдиз))+" в строке:"+СокрЛп(Строка(СтрЕдиз))+" - не заполнен реквизит ""ЕдиницаПоКлассификатору"" у единица измерения, будет указана PCE (штуки)."); КонецЕсли; Иначе Сообщить("В документе:"+СокрЛп(Строка(ДокЕдиз))+" в строке:"+СокрЛп(Строка(СтрЕдиз))+" - не заполнена единица измерения, будет указана PCE (штуки)."); КонецЕсли; Исключение КонецПопытки; СпЕИ=Новый СписокЗначений(); СпЕИ.Добавить(КодЕдИз); СпЕИ.Добавить(ИмяЕдИз); Возврат СпЕИ; КонецФункции |
|||
7
1Сергей
06.12.13
✎
12:08
|
|
|||
8
DirecTwiX
06.12.13
✎
12:31
|
ОКСМ - то, что нужно. Спасибо
Правда там все коды в макете.. Ужас. Всем спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |