Цитата(igmig65 @ 21.10.13, 13:43) необходимо зарегистрироваться для просмотра ссылки
код обработки загрузки в справочник,
:
//*******************************************
Процедура Сформировать()
КонецПроцедуры
Процедура ЗагрЕксель() // Из Excel
Спр=СоздатьОбъект("Справочник.Пацієнти");
н=1;
//_уч=Участок;
Экс=СоздатьОбъект("Excel.Application");
РабочаяКнига=Экс.Workbooks;
ИмяВыбрФайла = "";
ИмяПути="";
ИмяФайла="";
//ФС.ВыбратьФайл(0, ИмяВыбрФайла, ИмяПути, "Выберите файл","Все файлы (*.*)!*.*", , );
Если ФС.ВыбратьФайл(0, ИмяВыбрФайла, ИмяПути, "Выберите файл","Все файлы (*.*)!*.*", , ) = 1 Тогда
ПутьДБ = ИмяПути + ИмяВыбрФайла;
РабочаяКнига.Open(ПутьДБ,0,1);
Лист=Экс.WorkSheets(1); // НомерЛиста
//Назва и т.п. - это номера колонок!!
Назва=2;
_3=3;
_4=4;
_5=5;
_6=6;
_7=7;
_8=8;
_9=9;
_10=10;
_11=11;
_12=12;
_13=13;
_15=15;
_17=17;
_19=19;
_21=21;
_23=23;
_25=25;
_27=27;
_29=29;
_31=31;
_33=33;
_34=34;
_35=35;
_36=36;
//_=;
Для н=1 по 20000 Цикл // 20 - берем кол-во строк
Если (н>=НачНом) И (н<=КонНом) Тогда
Если ПустоеЗначение(Строка(Лист.Cells(н,Назва).Value))=0 Тогда
Спр.НайтиПоНаименованию(СокрП(Строка(Лист.Cells(н,Назва).Value)));
Если Спр.Выбран()=1 Тогда
Если ПустоеЗначение(Лист.Cells(н,_3).Value)=0 Тогда
Спр.Ена=Число(Лист.Cells(н,_3).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_4).Value)=0 Тогда
Спр.Ліз=Число(Лист.Cells(н,_4).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_5).Value)=0 Тогда
Спр.Біс=Число(Лист.Cells(н,_5).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_6).Value)=0 Тогда
Спр.Мет=Число(Лист.Cells(н,_6).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_7).Value)=0 Тогда
Спр.Неб=Число(Лист.Cells(н,_7).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_8).Value)=0 Тогда
Спр.Ніф=Число(Лист.Cells(н,_8).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_9).Value)=0 Тогда
Спр.Амл=Число(Лист.Cells(н,_9).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_10).Value)=0 Тогда
Спр.ЕТД=Число(Лист.Cells(н,_10).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_11).Value)=0 Тогда
Спр.ЛТД=Число(Лист.Cells(н,_11).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_12).Value)=0 Тогда
Спр.ЛТА=Число(Лист.Cells(н,_12).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_13).Value)=0 Тогда
_ен=Спр.Еналаприл+Число(Лист.Cells(н,_13).Value);
Спр.Еналаприл=_ен;
//Спр.Еналаприл=Число(Лист.Cells(н,_13).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_15).Value)=0 Тогда
_лі=Спр.Лізиноприл+Число(Лист.Cells(н,_15).Value);
Спр.Лізиноприл=_лі;
//Спр.Лізиноприл=Число(Лист.Cells(н,_15).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_17).Value)=0 Тогда
_бі=Спр.Бісопролол+Число(Лист.Cells(н,_17).Value);
Спр.Бісопролол=_бі;
//Спр.Бісопролол=Число(Лист.Cells(н,_17).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_19).Value)=0 Тогда
_ме=Спр.Метопролол+Число(Лист.Cells(н,_19).Value);
Спр.Метопролол=_ме;
//Спр.Метопролол=Число(Лист.Cells(н,_19).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_21).Value)=0 Тогда
_не=Спр.Небівалол+Число(Лист.Cells(н,_21).Value);
Спр.Небівалол=_не;
//Спр.Небівалол=Число(Лист.Cells(н,_21).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_23).Value)=0 Тогда
_ні=Спр.Ніфідіпін+Число(Лист.Cells(н,_23).Value);
Спр.Ніфідіпін=_ні;
//Спр.Ніфідіпін=Число(Лист.Cells(н,_23).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_25).Value)=0 Тогда
_ам=Спр.Амлодипін+Число(Лист.Cells(н,_25).Value);
Спр.Амлодипін=_ам;
//Спр.Амлодипін=Число(Лист.Cells(н,_25).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_27).Value)=0 Тогда
_ЕналТаДіур=Спр.ЕналТаДіур+Число(Лист.Cells(н,_27).Value);
Спр.ЕналТаДіур=_ЕналТаДіур;
//Спр.ЕналТаДіур=Число(Лист.Cells(н,_27).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_29).Value)=0 Тогда
_ЛізТаДіур=Спр.ЛізТаДіур+Число(Лист.Cells(н,_29).Value);
Спр.ЛізТаДіур=_ЛізТаДіур;
//Спр.ЛізТаДіур=Число(Лист.Cells(н,_29).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_31).Value)=0 Тогда
_ЛізТаАмл=Спр.ЛізТаАмл+Число(Лист.Cells(н,_31).Value);
Спр.ЛізТаАмл=_ЛізТаАмл;
//Спр.ЛізТаАмл=Число(Лист.Cells(н,_31).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_33).Value)=0 Тогда
Спр.СВЛнаРік=Число(Лист.Cells(н,_33).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_34).Value)=0 Тогда
_факт=Спр.СВЛфакт+Число(Лист.Cells(н,_34).Value);
Спр.СВЛфакт=_факт;
//Спр.СВЛфакт=Число(Лист.Cells(н,_25).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_35).Value)=0 Тогда
_вип=Спр.КРвиписаних+Число(Лист.Cells(н,_35).Value);
Спр.КРвиписаних=_вип;
//Спр.КРвиписаних=Число(Лист.Cells(н,_26).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_27).Value)=0 Тогда
_від=Спр.КРвідпущених+Число(Лист.Cells(н,_36).Value);
Спр.КРвідпущених=_від;
//Спр.КРвідпущених=Число(Лист.Cells(н,_36.Value);
КонецЕсли;
Спр.Записать();
Сообщить("Найдено: " + СокрП(Строка(Лист.Cells(н,Назва).Value)));
Иначе
Спр.Новый();
Спр.Наименование=Строка(Лист.Cells(н,Назва).Value);
Если ПустоеЗначение(Лист.Cells(н,_3).Value)=0 Тогда
Спр.Ена=Число(Лист.Cells(н,_3).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_4).Value)=0 Тогда
Спр.Ліз=Число(Лист.Cells(н,_4).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_5).Value)=0 Тогда
Спр.Біс=Число(Лист.Cells(н,_5).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_6).Value)=0 Тогда
Спр.Мет=Число(Лист.Cells(н,_6).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_7).Value)=0 Тогда
Спр.Неб=Число(Лист.Cells(н,_7).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_8).Value)=0 Тогда
Спр.Ніф=Число(Лист.Cells(н,_8).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_9).Value)=0 Тогда
Спр.Амл=Число(Лист.Cells(н,_9).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_10).Value)=0 Тогда
Спр.ЕТД=Число(Лист.Cells(н,_10).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_11).Value)=0 Тогда
Спр.ЛТД=Число(Лист.Cells(н,_11).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_12).Value)=0 Тогда
Спр.ЛТА=Число(Лист.Cells(н,_12).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_13).Value)=0 Тогда
Спр.Еналаприл=Число(Лист.Cells(н,_13).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_15).Value)=0 Тогда
Спр.Лізиноприл=Число(Лист.Cells(н,_15).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_17).Value)=0 Тогда
Спр.Бісопролол=Число(Лист.Cells(н,_17).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_19).Value)=0 Тогда
Спр.Метопролол=Число(Лист.Cells(н,_19).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_21).Value)=0 Тогда
Спр.Небівалол=Число(Лист.Cells(н,_21).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_23).Value)=0 Тогда
Спр.Ніфідіпін=Число(Лист.Cells(н,_23).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_25).Value)=0 Тогда
Спр.Амлодипін=Число(Лист.Cells(н,_25).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_27).Value)=0 Тогда
Спр.ЕналТаДіур=Число(Лист.Cells(н,_27).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_29).Value)=0 Тогда
Спр.ЛізТаДіур=Число(Лист.Cells(н,_29).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_31).Value)=0 Тогда
Спр.ЛізТаАмл=Число(Лист.Cells(н,_31).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_33).Value)=0 Тогда
Спр.СВЛнаРік=Число(Лист.Cells(н,_33).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_34).Value)=0 Тогда
Спр.СВЛфакт=Число(Лист.Cells(н,_34).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_35).Value)=0 Тогда
Спр.КРвиписаних=Число(Лист.Cells(н,_35).Value);
КонецЕсли;
Если ПустоеЗначение(Лист.Cells(н,_36).Value)=0 Тогда
Спр.КРвідпущених=Число(Лист.Cells(н,_36).Value);
КонецЕсли;
//Спр.=_;
Спр.Записать();
Сообщить("Добавлено нове найменування: " + СокрП(Строка(Лист.Cells(н,Назва).Value)));
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Сообщить("Файл "+Строка(ИмяФайла)+" завантажено");
Иначе
Сообщить("Файл не вибрано.");
КонецЕсли;
КонецПроцедуры
Цитата(serkus @ 21.10.13, 13:51) необходимо зарегистрироваться для просмотра ссылки
Если (н>=НачНом) И (н<=КонНом)
: возможность загружать справочник "порциями"