|
Выгрузка из ДБФ | ☑ | ||
---|---|---|---|---|
0
work92
25.04.16
✎
13:13
|
Подскажите в чем может быть проблема
Выгружаю данные из дбф и создаю новые элементы в справочнике. 1.Элемент выгружается нормально а на 2 элементе название и тип ОС выгружается а Подразделение и сотрудник пустой хотя в дбф они есть. ВремФлДБФ=СоздатьОбъект("XBase"); СпрПодр=Создатьобъект("Справочник.Подразделения"); СпрОС=Создатьобъект("Справочник.ОсновныеСредства"); ВремФлДБФ.ОткрытьФайл ("D:\OS dor DBF and ERT\Результат DBF'\Fin.dbf"); Если ВремФлДБФ.Открыта()=0 Тогда Сообщить("Не удалось открыть файл!"); Иначе Сообщить("Открыт"); КонецЕсли; //ВремФлДБФ.Первая(); Пока ВремФлДБФ.ВКонце()=0 Цикл СпрОС.Новый(); СпрОС.Код=ВремФлДБФ.INV; СпрОС.Наименование=ВремФлДБФ.NAME; ГруппаОС=ВремФлДБФ.Klasifik; ИтГруппаОС = Сред(ГруппаОС,1,1); Если СокрЛП(ИтГруппаОС)="1" Тогда СпрОС.Группа=Перечисление.ГруппаОС.Здания; ИначеЕсли СокрЛП(ИтГруппаОС)="2" Тогда СпрОС.Группа=Перечисление.ГруппаОС.Сооружения; ИначеЕсли СокрЛП(ИтГруппаОС)="3" Тогда СпрОС.Группа=Перечисление.ГруппаОС.ПередатУстр; ИначеЕсли СокрЛП(ИтГруппаОС)="4" Тогда СпрОС.Группа=Перечисление.ГруппаОС.МашОборуд; ИначеЕсли СокрЛП(ИтГруппаОС)="5" Тогда СпрОС.Группа=Перечисление.ГруппаОС.Транспорт; ИначеЕсли СокрЛП(ИтГруппаОС)="6" Тогда СпрОС.Группа=Перечисление.ГруппаОС.Инструмент; ИначеЕсли СокрЛП(ИтГруппаОС)="7" Тогда СпрОС.Группа=Перечисление.ГруппаОС.Инвентарь; КонецЕсли; Если СокрЛП(ВремФлДБФ.Pod_Group)="1" Тогда СпрПодр.НайтиПоНаименованию("АДМИНИСТРАЦИЯ"); СпрОС.Подразделение=СпрПодр.ТекущийЭлемент(); ИначеЕсли СокрЛП(ВремФлДБФ.Pod_Group)="2" Тогда СпрПодр.НайтиПоНаименованию("ВОДОСНАБЖЕНИЕ"); СпрОС.Подразделение=СпрПодр.ТекущийЭлемент(); ИначеЕсли СокрЛП(ВремФлДБФ.Pod_Group)="3" Тогда СпрПодр.НайтиПоНаименованию("КАНАЛИЗАЦИЯ"); СпрОС.Подразделение=СпрПодр.ТекущийЭлемент(); ИначеЕсли СокрЛП(ВремФлДБФ.Pod_Group)="4" Тогда СпрПодр.НайтиПоНаименованию("СКЛАД"); СпрОС.Подразделение=СпрПодр.ТекущийЭлемент(); КонецЕсли; СпрСотр=Создатьобъект("Справочник.Сотрудники"); ТекСотр=СокрЛП(ВремФлДБФ.MOL); СпрСотр.НайтиПоРеквизиту("КодПоОС",ТекСотр,1);; СпрОС.МОЛ=СпрСотр.ТекущийЭлемент(); Если СокрЛП(ВремФлДБФ.God_VP)<="99" тогда Сообщить("год"+ВремФлДБФ.God_VP); ПолГодВып="19"+ВремФлДБФ.God_VP; СпрОС.ГодВыпуска=Число(ПолГодВып); ИначеЕсли СокрЛП(ВремФлДБФ.God_VP)>="100" тогда Сообщить("год"+ВремФлДБФ.God_VP); ОбрГод = Сред(ВремФлДБФ.God_VP,2); ПолГодВып="20"+ВремФлДБФ.God_VP; СпрОС.ГодВыпуска=Число(ПолГодВып); КонецЕсли; СпрОС.ИспользоватьДату(ТекущаяДата()) ; СпрОС.Записать(); ВремФлДБФ.Следующая(); КонецЦикла; |
|||
1
work92
25.04.16
✎
13:36
|
Может кто подскажет как исправить ошибку
|
|||
2
Рэйв
25.04.16
✎
13:39
|
проверки по ставь на тему "что оно там нашло по заданому наименованию и что делать если не нашло"
|
|||
3
Рэйв
25.04.16
✎
13:39
|
и сразу откроется третий глаз:-)
|
|||
4
Has
25.04.16
✎
13:42
|
СпрПодр.НайтиПоНаименованию("АДМИНИСТРАЦИЯ");
зачем в цикле искать? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |