Бухгалтерский учет, налогообложение, отчетность, МСФО, анализ бухгалтерской информации, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

1c + Excel

lerik1
читатель
офлайн
Дата регистрации: 30.03.2009
Сообщений: 11
Пост №1
 
30.03.2009 13:51

"Возникла проблема с обработкой пытаюсь её использовать на 05.02.2009 09:25 Бухгалтерия 7.7 ПРОФ для Украины ред.2.5 7.70.272. Не подтягивается строка наименование, помогите пожалуйста.

// CODE
Перем ТекстСостояния,ВыбКаталог,ВыбФайл;

// ===============================
Функция ТекДок()
ТекДок=СписокДокументов.ПолучитьЗначение(СписокДокументов.ТекущаяСтрока());
Возврат ТекДок;
КонецФункции //ТекДок

// ===============================
Процедура СформироватьДокумент()
ТекДок=ТекДок();
Попытка
Док=СоздатьОбъект("Документ."+ТекДок);
Исключение
Предупреждение("Неудачная попытка создания объекта """"Документ."+ТекДок+"""""!
|"+ОписаниеОшибки());
Возврат;
КонецПопытки;

//Док.Новый();
//Док.ДатаДок=ДатаДокумента;
//************* ТОЛЬКО ДЛЯ "ПРОСТОГО УЧЕТА"
//глОбщиеРеквизиты(Док);
//************* ТОЛЬКО ДЛЯ "ПРОСТОГО УЧЕТА"

Если Док.НайтиДокумент(НовыйДокумент)=0 Тогда
Возврат;
КонецЕсли;
Если Док.КоличествоСтрок()>0 Тогда
Рез=Вопрос("Существующие строки документа будут удалены, продолжить?","Да+Нет",10);
Если Рез<>"Да" Тогда
Возврат;
КонецЕсли;
КонецЕсли;

Док.ЗагрузитьТабличнуюЧасть(тбДок);
Док.Записать();
ОткрытьФорму(Док.ТекущийДокумент());
КонецПроцедуры //СформироватьДокумент

// ======================================
Процедура Выполнить()
Если тбНастройка.КоличествоСтрок()=0 Тогда
Предупреждение("Не заданы настройки загрузки");
Возврат;
КонецЕсли;

Попытка
Окно = СоздатьОбъект("Excel.Application");
Исключение
Предупреждение("Неудачная попытка обращения к данным Excel,
|проверьте наличие установленного приложения Microsoft Excel.
|Ошибка: "+ОписаниеОшибки());
Возврат;
КонецПопытки;

Окно.Caption = "Загрузка данных";
НовыеКниги = Окно.Workbooks;
Попытка
РабКнига = НовыеКниги.Open(СокрЛП(ВыбКаталог)+СокрЛП(ВыбФайл));
Исключение
Сообщить("Неудачная попытка открытия файла с именем <"+СокрЛП(ВыбФайл)+">");
Возврат;
КонецПопытки;

ТекДок=ТекДок();

КвоПустых=2;
Пустых = 0; ВсегоСтрок = 1;
Состояние("Подготовка к загрузке");
Для Стр = 1 По 100000 Цикл
Ячейка = Окно.Cells(Стр,1);
Если СокрЛП(Ячейка.Value) <> """" Тогда
ВсегоСтрок = ВсегоСтрок + 1;
Пустых = 0;
Иначе
Пустых = Пустых + 1;
КонецЕсли;
Если Пустых >= КвоПустых Тогда
Прервать;
КонецЕсли;
КонецЦикла;

ЗначениеВФайл(КаталогИБ()+"docload_"+ТекДок+".txt",тбНастройка);

СписокЗагрузки=СоздатьОбъект("СписокЗначений");
Пер=СоздатьОбъект("Периодический");
тбДок.УдалитьСтроки();

Пустых = 0;
Для Стр = 1 По 10000 Цикл
СписокЗагрузки.УдалитьВсе();
Контроль="""";

//---------------- загрузка в список реквизитов из строки
тбНастройка.ВыбратьСтроки();
Пока тбНастройка.ПолучитьСтроку()=1 Цикл
ТекРеквизит =СокрЛП(тбНастройка.Реквизит);
ТекСтолбец =Число(тбНастройка.Столбец);
Тип =СокрЛП(тбНастройка.Тип);
Поиск =СокрЛП(тбНастройка.Поиск);

Если Тип="Справочник" Тогда
ВидСправочника=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(ТекРеквизит).Вид;

//для справочника неопределенного типа ищем по виду значения "по умолчанию"
Если ПустоеЗначение(ВидСправочника)=1 Тогда
_Значение=тбНастройка.ПоУмолчанию;
Если ПустоеЗначение(_Значение)=0 Тогда
ВидСправочника=_Значение.Вид();
Иначе
Поиск=""; //отключение поиска - вид справочника не удалось определить
КонецЕсли;
КонецЕсли;
КонецЕсли;

Если ТекСтолбец>0 Тогда
Значение=Окно.Cells(Стр,ТекСтолбец).Value;
Контроль=Контроль+СокрЛП(Значение);

Если ПустоеЗначение(Значение)=1 Тогда
Значение=тбНастройка.ПоУмолчанию;       //подстановка значения по-умолчанию
ИначеЕсли (Тип="Справочник") и (Поиск<>"") Тогда
// ВидСправочника=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(ТекРеквизит).Вид;
Спр=СоздатьОбъект("Справочник."+ВидСправочника);
Рез=0;
Если Поиск="Код" Тогда
ДлинаКода=Метаданные.Справочник(ВидСправочника).ДлинаКода;
ДлиннаяСтрока=Значение;
_Значение=Лев(ДлиннаяСтрока,ДлинаКода);
Рез=Спр.НайтиПоКоду(_Значение,0);
ИначеЕсли Поиск="Наименование" Тогда
ДлинаНаименования=Метаданные.Справочник(ВидСправочника).ДлинаНаименования;
ДлиннаяСтрока=Значение;
_Значение=Лев(ДлиннаяСтрока,ДлинаНаименования);
Рез=Спр.НайтиПоНаименованию(_Значение,0,1);
Иначе
ДлинаРеквизита=Метаданные.Справочник(ВидСправочника).Реквизит(Поиск).Длина;
ДлиннаяСтрока=Значение;
_Значение=Лев(ДлиннаяСтрока,ДлинаРеквизита);
Рез=Спр.НайтиПоРеквизиту(Поиск,_Значение,1);
КонецЕсли;

Если Рез=1 Тогда
Значение=Спр.ТекущийЭлемент();
КонецЕсли;
ИначеЕсли Тип="Перечисление" Тогда
ВидПер=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(ТекРеквизит).Вид;
Для Инд=1 По Метаданные.Перечисление(ВидПер).Значение() Цикл
Идентификатор=Метаданные.Перечисление(ВидПер).Значение(Инд).Идентификатор;
Если ВРег(СокрЛП(Значение))=ВРег(Идентификатор) Тогда
Значение=Метаданные.Перечисление(ВидПер).Значение(Инд);
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если ТипЗначенияСтр(Значение)="Строка" Тогда
Значение=СокрЛП(Значение);
КонецЕсли;

СписокЗагрузки.Установить(ТекРеквизит,Значение);
КонецЕсли;
КонецЦикла;
//-------------- загрузка в список реквизитов из строки

//-------------- формирование строки
Если СокрЛП(Контроль)="""" Тогда
Сообщить("Строка "+Стр+" не содержит данных");
Пустых = Пустых + 1;
Иначе
тбДок.НоваяСтрока();
тбДок.НомерС=Стр;
ТекСтрока=тбДок.НомерСтроки;
Для Инд=1 По тбДок.КоличествоКолонок() Цикл
ТекРеквизит=тбДок.ПолучитьПараметрыКолонки(Инд);
Значение=СписокЗагрузки.Получить(ТекРеквизит);
тбДок.УстановитьЗначение(ТекСтрока,Инд,Значение);
КонецЦикла;
КонецЕсли;
//-------------- формирование строки

Если Пустых >= КвоПустых Тогда
Прервать;
КонецЕсли;
Состояние("Чтение данных... "+СокрЛП(Стр)+" ("+СокрЛП(Формат(Стр*100/ВсегоСтрок,"Ч10.0"))+"%)");
КонецЦикла;
Окно.Quit();

Предупреждение("Файл "+СокрЛП(ВыбФайл)+" загружен",5);
//Форма.Закрыть();
Форма.ИспользоватьСлой("Общий,Документ",2);
КонецПроцедуры

// ======================================
Процедура ВыбНастройка()
Если тбНастройка.КоличествоСтрок()=0 Тогда
Возврат;
КонецЕсли;
ТекКолонка=тбНастройка.ТекущаяКолонка();
ТекСтрока=тбНастройка.ТекущаяСтрока();
ТекДок=ТекДок();
Если ТекКолонка="Столбец" Тогда
ТекЗначение=тбНастройка.ПолучитьЗначение(ТекСтрока,"Столбец");
НовЗначение=ТекЗначение;
Рез=ВвестиЧисло(НовЗначение,"Номер столбца",10,0,30);
Если (Рез=1) и (НовЗначение<>ТекЗначение) Тогда
тбНастройка.УстановитьЗначение(ТекСтрока,"Столбец",НовЗначение);
КонецЕсли;
ИначеЕсли ТекКолонка="ПоУмолчанию" Тогда
Реквизит=СокрЛП(тбНастройка.ПолучитьЗначение(ТекСтрока,"Реквизит"));

Тип="Строка";
Вид="""";
Длина=60;
Точность=0;

Попытка
Тип=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Тип;
Вид=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Вид;
Длина=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Длина;
Точность=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Точность;
Исключение КонецПопытки;

ТекЗначение=тбНастройка.ПолучитьЗначение(ТекСтрока,"ПоУмолчанию");
НовЗначение=ТекЗначение;
Если ПустоеЗначение(Вид)=0 Тогда
Рез=ВвестиЗначение(НовЗначение,Вид,Тип+"."+Вид,Длина,Точность);
ИначеЕсли Тип="Справочник" Тогда
//построение списка справочников
ВидыСправочников=СоздатьОбъект("СписокЗначений");
Для Инд=1 По Метаданные.Справочник() Цикл
Представление=Метаданные.Справочник(Инд).Синоним;
Идентификатор=Метаданные.Справочник(Инд).Идентификатор;
Если СокрЛП(Представление)="""" Тогда
Представление=Идентификатор;
КонецЕсли;
ВидыСправочников.Установить(Представление,Идентификатор);
КонецЦикла;
Если ВидыСправочников.ВыбратьЗначение(Вид,"Вид справочника",,30,)=1 Тогда
Рез=ВвестиЗначение(НовЗначение,Вид,Тип+"."+Вид,Длина,Точность);
КонецЕсли;
КонецЕсли;
Если Рез=1 Тогда
тбНастройка.УстановитьЗначение(ТекСтрока,"ПоУмолчанию",НовЗначение);
КонецЕсли;
ИначеЕсли ТекКолонка="Поиск" Тогда
Реквизит=СокрЛП(тбНастройка.ПолучитьЗначение(ТекСтрока,"Реквизит"));

Тип="Строка";
Вид="""";
Длина=60;
Точность=0;

Попытка
Тип=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Тип;
Вид=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Вид;
Длина=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Длина;
Точность=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Точность;
Исключение КонецПопытки;

ТекЗначение=тбНастройка.ПолучитьЗначение(ТекСтрока,"Поиск");
Если Тип="Справочник" Тогда
//теперь список реквизитов, которые имеют признак "Сортировка"
спПоиск=СоздатьОбъект("СписокЗначений");
//спПоиск.УдалитьВсе();
//спПоиск.ДобавитьЗначение("_НеИскать","Не искать");
спПоиск.ДобавитьЗначение("Код","Код");
спПоиск.ДобавитьЗначение("Наименование","Наименование");
Если ПустоеЗначение(Вид)=1 Тогда
Попытка
_Значение=тбНастройка.ПолучитьЗначение(ТекСтрока,"ПоУмолчанию");
Вид=_Значение.Вид();
Исключение КонецПопытки;
КонецЕсли;
Если ПустоеЗначение(Вид)=0 Тогда
Для Ном=1 по Метаданные.Справочник(Вид).Реквизит() Цикл
Сортировка=Метаданные.Справочник(Вид).Реквизит(Ном).Сортировка;
Если Сортировка=1 Тогда
//Представление=Метаданные.Справочник(ИмяСправочника).Реквизит(Ном).Синоним;
Идентификатор=Метаданные.Справочник(Вид).Реквизит(Ном).Идентификатор;
спПоиск.ДобавитьЗначение(Идентификатор);//,Представление);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Зн=0;
Рез=спПоиск.ВыбратьЗначение(Зн,,,10,1);
Если Рез=1 Тогда
тбНастройка.УстановитьЗначение(ТекСтрока,"Поиск",Зн);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры

// ===============================
Процедура ЗаполнитьРеквизиты(ТолькоТД=0,СбросНастроек=0)
//Если (тбНастройка.КоличествоСтрок()>0) и (ТолькоТД=0) Тогда
// Рез=Вопрос("Текущие настройки будут удалены, продолжить?","Да+Нет",10);
// Если Рез<>"Да" Тогда
// СтатусВозврата(0);
// Возврат;
// КонецЕсли;
//КонецЕсли;

Если НовыйДокумент.Выбран()=1 Тогда
Если Метаданные.Документ(НовыйДокумент.Вид()).РеквизитТабличнойЧасти()=0 Тогда
Предупреждение("У выбраного документа нет табличной части",10);
НовыйДокумент=0;
Возврат;
КонецЕсли;
Поз=СписокДокументов.НайтиЗначение(НовыйДокумент.Вид());
Если Поз>0 Тогда
СписокДокументов.ТекущаяСтрока(Поз);
КонецЕсли;
КонецЕсли;

Если ТолькоТД=0 Тогда
тбНастройка.УдалитьСтроки();
КонецЕсли;
тбДок.Очистить();
тбДок.НоваяКолонка("НомерС","Число",5,0,"№",5);
ТекДок=ТекДок();
Для Инд=1 по Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти() Цикл
Реквизит=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Идентификатор;
Синоним=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Синоним;
Синоним=?(СокрЛП(Синоним)="""",Реквизит,Синоним);
Тип=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Тип;
Вид=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Вид;
Длина=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Длина;
Точность=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Точность;

Если ТолькоТД=0 Тогда
тбНастройка.НоваяСтрока();
тбНастройка.Реквизит=Реквизит;
тбНастройка.Синоним=Синоним;
тбНастройка.Тип=Тип;
тбНастройка.Поиск=?(Тип="Справочник","","Х");
КонецЕсли;

Ширина=?(Тип="Справочник",30,10);
Если (Тип="Справочник") и (Найти(Вид,"Ед")=1) Тогда
Ширина=10;
КонецЕсли;
тбДок.НоваяКолонка(Реквизит,Тип,Длина,Точность,Синоним,Ширина);
КонецЦикла;

Если СбросНастроек=0 Тогда
ФайлНастроек=КаталогИБ()+"docload_"+ТекДок+".txt";
Если ФС.СуществуетФайл(ФайлНастроек)=1 Тогда
ЗначениеИзФайла(ФайлНастроек,тбНастройка);
КонецЕсли;
КонецЕсли;
КонецПроцедуры //ЗаполнитьРеквизиты

// ======================================
Процедура ПроверитьФайл()
ИмяФайлаЗагрузки=СокрЛП(ВыбКаталог)+СокрЛП(ВыбФайл);
Если ФС.СуществуетФайл(ИмяФайлаЗагрузки)=1 Тогда
РазмерФайла=0; ДатаСоздания=0; ВремяСоздания=0;
ФС.АтрибутыФайла(ИмяФайлаЗагрузки,РазмерФайла,,ВремяСоздания);
//ДатаСоздания=Лев(ВремяСоздания,Найти(ВремяСоздания," "));
ТекстСостояния="создан "+ВремяСоздания+" ("+Окр(РазмерФайла/1024,1)+" кб)";
//ДатаЦены=ДатаСоздания;
СохранитьЗначение("ЗагрузкаФайл",СокрЛП(ВыбФайл));
Иначе
ТекстСостояния="файла не существует";
КонецЕсли;
КонецПроцедуры

// ======================================
Процедура Выбрать()
_ВыбКаталог=СокрЛП(ВыбКаталог);
Если ФС.ВыбратьФайл(0,ВыбФайл,_ВыбКаталог,"Выбор файла для загрузки","Таблица Excel (*.xls)|*.xls") = 0 Тогда
ВыбФайл = """";
Иначе
ВыбКаталог=_ВыбКаталог;
СохранитьЗначение("ЗагрузкаКаталог",_ВыбКаталог);
КонецЕсли;
ПроверитьФайл();
КонецПроцедуры

// ======================================
Процедура ПриВыбореЗакладки(НомерЗакладки,ИмяЗакладки)
Форма.ИспользоватьСлой("Общий,"+ИмяЗакладки,2);
КонецПроцедуры

// ===============================
Процедура ПриОткрытии()
ДатаДокумента=РабочаяДата();
ВыбКаталог=ВосстановитьЗначение("ЗагрузкаКаталог");
ВыбФайл=ВосстановитьЗначение("ЗагрузкаФайл");
Если СокрЛП(ВыбФайл)<>"""" Тогда
ПроверитьФайл();
КонецЕсли;

Форма.ИспользоватьЗакладки(1);
Форма.Закладки.ДобавитьЗначение("Основной");
Форма.Закладки.ДобавитьЗначение("Настройка");
Форма.Закладки.ДобавитьЗначение("Документ");
//Форма.Закладки.ДобавитьЗначение("Дополнительно");
Форма.ИспользоватьСлой("Основной,Общий",2);

спДок=СоздатьОбъект("СписокЗначений");
Для Инд=1 по Метаданные.Документ() Цикл
Если Метаданные.Документ(Инд).РеквизитТабличнойЧасти()=0 Тогда
Продолжить;
КонецЕсли;
ТекДок=Метаданные.Документ(Инд).Идентификатор;
Синоним=Метаданные.Документ(Инд).Синоним;
спДок.ДобавитьЗначение(ТекДок,Синоним);
КонецЦикла;
спДок.Выгрузить(СписокДокументов);
СписокДокументов.ТекущаяСтрока(1);
Если спДок.РазмерСписка()=0 Тогда
Предупреждение("Нет документов с табличной частью",10);
СтатусВозврата(0);
Возврат;
КонецЕсли;

тбНастройка.НоваяКолонка("Реквизит","Строка",40);
тбНастройка.НоваяКолонка("Синоним","Строка",30,,"Реквизит документа",30);
тбНастройка.НоваяКолонка("Тип","Строка",30,,"Тип значения",20);
тбНастройка.НоваяКолонка("Поиск","Строка",60,,"Поиск",10);
тбНастройка.НоваяКолонка("Столбец","Число",10,0,"Столбец",10);
тбНастройка.НоваяКолонка("ПоУмолчанию",,,,"По умолчанию",20);
тбНастройка.НоваяКолонка("Образец","Строка",30);
//тбНастройка.НоваяКолонка("Реквизит","Строка",60);
тбНастройка.ВидимостьКолонки("Реквизит",0,);
ЗаполнитьРеквизиты();

Настройка1=ВосстановитьЗначение("ЗагрузкаДокНастройка1");
Если ПустоеЗначение(Настройка1)=1 Тогда
Настройка1="Набор настроек №1";
КонецЕсли;
Настройка2=ВосстановитьЗначение("ЗагрузкаДокНастройка2");
Если ПустоеЗначение(Настройка2)=1 Тогда
Настройка2="Набор настроек №2";
КонецЕсли;
Настройка3=ВосстановитьЗначение("ЗагрузкаДокНастройка3");
Если ПустоеЗначение(Настройка3)=1 Тогда
Настройка3="Набор настроек №3";
КонецЕсли;
КонецПроцедуры //ПриОткрытии

// ======================================
Процедура ПриЗакрытии()
СохранитьЗначение("ЗагрузкаДокНастройка1",Настройка1);
СохранитьЗначение("ЗагрузкаДокНастройка2",Настройка2);
СохранитьЗначение("ЗагрузкаДокНастройка3",Настройка3);
КонецПроцедуры

// ======================================
Функция ВыбратьНастройку()
Меню=СоздатьОбъект("СписокЗначений");
НомерНастройки=0;
Меню.ДобавитьЗначение(1,СокрЛП(Настройка1));
Меню.ДобавитьЗначение(2,СокрЛП(Настройка2));
Меню.ДобавитьЗначение(3,СокрЛП(Настройка3));
Рез=Меню.ВыбратьЗначение(НомерНастройки,"""",,30,1);
Возврат НомерНастройки;
КонецФункции

// ======================================
Процедура ЗаписатьФайл()
НН=ВыбратьНастройку();
ЗагружаемыйВид=ТекДок();
Рез=ЗначениеВФайл(КаталогИБ()+"sprload"+НН+".txt",тбНастройка);
СохранитьЗначение("ЗагрузкаДок"+НН,ЗагружаемыйВид);
КонецПроцедуры

// ======================================
Процедура ПрочитатьФайл()
НН=ВыбратьНастройку();
Рез=ЗначениеИзФайла(КаталогИБ()+"sprload"+НН+".txt",тбНастройка);
ЗагружаемыйВид=ВосстановитьЗначение("ЗагрузкаДок"+НН);
Рез=СписокДокументов.НайтиЗначение(ЗагружаемыйВид);
Если Рез>0 Тогда
СписокДокументов.ТекущаяСтрока(Рез);
КонецЕсли;
ЗаполнитьРеквизиты(1);
КонецПроцедуры

// ===============================
Функция УстДоступность()
Форма.СписокДокументов.Доступность(?(НовыйДокумент.Выбран()=1,0,1));
Если (тбДок.КоличествоСтрок()=0) или (НовыйДокумент.Выбран()=0) Тогда
Форма.кнДокумент.Доступность(0);
Иначе
Форма.кнДокумент.Доступность(1);
КонецЕсли;
КонецФункции //УстДоступность
// CODE"

Денис (САМАРА)
активный пользователь
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8345
Пост №2
 
30.03.2009 16:54

Это обработка из типовой конфигурации или вам ее кто то сделал?

Prikum
читатель
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20455
Пост №3
 
30.03.2009 17:38

Судя по последней строчке, то кто то сделал!

Daedal
читатель
офлайн
Дата регистрации: 20.09.2004
Сообщений: 632
Пост №4
 
31.03.2009 05:37

И судя по всему этот кто-то раньше писал на ассемблере... привычка осталась выделять сегменты кода :)

Daedal
читатель
офлайн
Дата регистрации: 20.09.2004
Сообщений: 632
Пост №5
 
31.03.2009 05:57

">Не подтягивается строка наименование, помогите пожалуйста.
>
Интересно, что значит не "подтягивается"...
например:

>ИначеЕсли Поиск="Наименование" Тогда
>ДлинаНаименования=Метаданные.Справочник(ВидСправочника).ДлинаНаименования;
>ДлиннаяСтрока=Значение;
>_Значение=Лев(ДлиннаяСтрока,ДлинаНаименования);
> Рез=Спр.НайтиПоНаименованию(_Значение,0,1);
>

Здесь у переменной _Значение - стоит обрубить пробелы со всех сторон.



И в догонку.. цикл перебора строк, с подсчётом пустых и т.п. выглядит как-то не очень.. как-то
слишком по ламерски :) Лучше написать так:

всего_строк = Окно.Cells(1,1).SpecialCells(11).Row;
Для Стр = 1 По всего_строк Цикл
// обработка
КонецЦикла;

"

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Учет, налогообложение, автоматизация
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • ЕГАИС
Предложения партнеров
Обучение пользователей продуктов 1С

1С бесплатно 1С-Отчетность 1С:ERP Управление предприятием 1С:Бесплатно 1С:Бухгалтерия 8 1С:Бухгалтерия 8 КОРП 1С:Бухгалтерия автономного учреждения 1С:Бухгалтерия государственного учреждения 1С:Бюджет муниципального образования 1С:Бюджет поселения 1С:Вещевое довольствие 1С:Деньги 1С:Документооборот 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и кадры государственного учреждения 1С:Зарплата и управление персоналом 1С:Зарплата и управление персоналом КОРП 1С:Комплексная автоматизация 8 1С:Лекторий 1С:Предприятие 1С:Предприятие 7.7 1С:Предприятие 8 1С:Розница 1С:Управление нашей фирмой 1С:Управление производственным предприятием 1С:Управление торговлей 1СПредприятие 8

Все теги