Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 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. Не подтягивается строка наименование, помогите пожалуйста.<br><br>// CODE<br>Перем ТекстСостояния,ВыбКаталог,ВыбФайл;<br><br>// ===============================<br>Функция ТекДок()<br> ТекДок=СписокДокументов.ПолучитьЗначение(СписокДокументов.ТекущаяСтрока());<br> Возврат ТекДок;<br>КонецФункции //ТекДок<br><br>// ===============================<br>Процедура СформироватьДокумент()<br> ТекДок=ТекДок();<br> Попытка<br> Док=СоздатьОбъект("Документ."+ТекДок);<br> Исключение<br> Предупреждение("Неудачная попытка создания объекта """"Документ."+ТекДок+"""""!<br> |"+ОписаниеОшибки());<br> Возврат;<br> КонецПопытки;<br><br> //Док.Новый();<br> //Док.ДатаДок=ДатаДокумента;<br> //************* ТОЛЬКО ДЛЯ "ПРОСТОГО УЧЕТА"<br> //глОбщиеРеквизиты(Док);<br> //************* ТОЛЬКО ДЛЯ "ПРОСТОГО УЧЕТА"<br><br> Если Док.НайтиДокумент(НовыйДокумент)=0 Тогда<br> Возврат;<br> КонецЕсли;<br> Если Док.КоличествоСтрок()>0 Тогда<br> Рез=Вопрос("Существующие строки документа будут удалены, продолжить?","Да+Нет",10);<br> Если Рез<>"Да" Тогда<br> Возврат;<br> КонецЕсли;<br> КонецЕсли;<br><br> Док.ЗагрузитьТабличнуюЧасть(тбДок);<br> Док.Записать();<br> ОткрытьФорму(Док.ТекущийДокумент());<br>КонецПроцедуры //СформироватьДокумент<br><br>// ======================================<br>Процедура Выполнить()<br> Если тбНастройка.КоличествоСтрок()=0 Тогда<br> Предупреждение("Не заданы настройки загрузки");<br> Возврат;<br> КонецЕсли;<br><br> Попытка<br> Окно = СоздатьОбъект("Excel.Application");<br> Исключение<br> Предупреждение("Неудачная попытка обращения к данным Excel,<br> |проверьте наличие установленного приложения Microsoft Excel.<br> |Ошибка: "+ОписаниеОшибки());<br> Возврат;<br> КонецПопытки;<br><br> Окно.Caption = "Загрузка данных";<br> НовыеКниги = Окно.Workbooks;<br> Попытка<br> РабКнига = НовыеКниги.Open(СокрЛП(ВыбКаталог)+СокрЛП(ВыбФайл));<br> Исключение<br> Сообщить("Неудачная попытка открытия файла с именем <"+СокрЛП(ВыбФайл)+">");<br> Возврат;<br> КонецПопытки;<br><br> ТекДок=ТекДок();<br><br> КвоПустых=2;<br> Пустых = 0; ВсегоСтрок = 1;<br> Состояние("Подготовка к загрузке");<br> Для Стр = 1 По 100000 Цикл<br> Ячейка = Окно.Cells(Стр,1);<br> Если СокрЛП(Ячейка.Value) <> """" Тогда<br> ВсегоСтрок = ВсегоСтрок + 1;<br> Пустых = 0;<br> Иначе<br> Пустых = Пустых + 1;<br> КонецЕсли;<br> Если Пустых >= КвоПустых Тогда<br> Прервать;<br> КонецЕсли;<br> КонецЦикла;<br><br> ЗначениеВФайл(КаталогИБ()+"docload_"+ТекДок+".txt",тбНастройка);<br><br> СписокЗагрузки=СоздатьОбъект("СписокЗначений");<br> Пер=СоздатьОбъект("Периодический");<br> тбДок.УдалитьСтроки();<br><br> Пустых = 0;<br> Для Стр = 1 По 10000 Цикл<br> СписокЗагрузки.УдалитьВсе();<br> Контроль="""";<br><br> //---------------- загрузка в список реквизитов из строки<br> тбНастройка.ВыбратьСтроки();<br> Пока тбНастройка.ПолучитьСтроку()=1 Цикл<br> ТекРеквизит =СокрЛП(тбНастройка.Реквизит);<br> ТекСтолбец =Число(тбНастройка.Столбец);<br> Тип =СокрЛП(тбНастройка.Тип);<br> Поиск =СокрЛП(тбНастройка.Поиск);<br><br> Если Тип="Справочник" Тогда<br> ВидСправочника=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(ТекРеквизит).Вид;<br><br> //для справочника неопределенного типа ищем по виду значения "по умолчанию"<br> Если ПустоеЗначение(ВидСправочника)=1 Тогда<br> _Значение=тбНастройка.ПоУмолчанию;<br> Если ПустоеЗначение(_Значение)=0 Тогда<br> ВидСправочника=_Значение.Вид();<br> Иначе<br> Поиск="<?>"; //отключение поиска - вид справочника не удалось определить<br> КонецЕсли;<br> КонецЕсли;<br> КонецЕсли;<br><br> Если ТекСтолбец>0 Тогда<br> Значение=Окно.Cells(Стр,ТекСтолбец).Value;<br> Контроль=Контроль+СокрЛП(Значение);<br><br> Если ПустоеЗначение(Значение)=1 Тогда<br> Значение=тбНастройка.ПоУмолчанию;       //подстановка значения по-умолчанию<br> ИначеЕсли (Тип="Справочник") и (Поиск<>"<?>") Тогда<br> // ВидСправочника=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(ТекРеквизит).Вид;<br> Спр=СоздатьОбъект("Справочник."+ВидСправочника);<br> Рез=0;<br> Если Поиск="Код" Тогда<br> ДлинаКода=Метаданные.Справочник(ВидСправочника).ДлинаКода;<br> ДлиннаяСтрока=Значение;<br> _Значение=Лев(ДлиннаяСтрока,ДлинаКода);<br> Рез=Спр.НайтиПоКоду(_Значение,0);<br> ИначеЕсли Поиск="Наименование" Тогда<br> ДлинаНаименования=Метаданные.Справочник(ВидСправочника).ДлинаНаименования;<br> ДлиннаяСтрока=Значение;<br> _Значение=Лев(ДлиннаяСтрока,ДлинаНаименования);<br> Рез=Спр.НайтиПоНаименованию(_Значение,0,1);<br> Иначе<br> ДлинаРеквизита=Метаданные.Справочник(ВидСправочника).Реквизит(Поиск).Длина;<br> ДлиннаяСтрока=Значение;<br> _Значение=Лев(ДлиннаяСтрока,ДлинаРеквизита);<br> Рез=Спр.НайтиПоРеквизиту(Поиск,_Значение,1);<br> КонецЕсли;<br><br> Если Рез=1 Тогда<br> Значение=Спр.ТекущийЭлемент();<br> КонецЕсли;<br> ИначеЕсли Тип="Перечисление" Тогда<br> ВидПер=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(ТекРеквизит).Вид;<br> Для Инд=1 По Метаданные.Перечисление(ВидПер).Значение() Цикл<br> Идентификатор=Метаданные.Перечисление(ВидПер).Значение(Инд).Идентификатор;<br> Если ВРег(СокрЛП(Значение))=ВРег(Идентификатор) Тогда<br> Значение=Метаданные.Перечисление(ВидПер).Значение(Инд);<br> Прервать;<br> КонецЕсли;<br> КонецЦикла;<br> КонецЕсли;<br> Если ТипЗначенияСтр(Значение)="Строка" Тогда<br> Значение=СокрЛП(Значение);<br> КонецЕсли;<br><br> СписокЗагрузки.Установить(ТекРеквизит,Значение);<br> КонецЕсли;<br> КонецЦикла;<br> //-------------- загрузка в список реквизитов из строки<br><br> //-------------- формирование строки<br> Если СокрЛП(Контроль)="""" Тогда<br> Сообщить("Строка "+Стр+" не содержит данных");<br> Пустых = Пустых + 1;<br> Иначе<br> тбДок.НоваяСтрока();<br> тбДок.НомерС=Стр;<br> ТекСтрока=тбДок.НомерСтроки;<br> Для Инд=1 По тбДок.КоличествоКолонок() Цикл<br> ТекРеквизит=тбДок.ПолучитьПараметрыКолонки(Инд);<br> Значение=СписокЗагрузки.Получить(ТекРеквизит);<br> тбДок.УстановитьЗначение(ТекСтрока,Инд,Значение);<br> КонецЦикла;<br> КонецЕсли;<br> //-------------- формирование строки<br><br> Если Пустых >= КвоПустых Тогда<br> Прервать;<br> КонецЕсли;<br> Состояние("Чтение данных... "+СокрЛП(Стр)+" ("+СокрЛП(Формат(Стр*100/ВсегоСтрок,"Ч10.0"))+"%)");<br> КонецЦикла;<br> Окно.Quit();<br><br> Предупреждение("Файл "+СокрЛП(ВыбФайл)+" загружен",5);<br> //Форма.Закрыть();<br> Форма.ИспользоватьСлой("Общий,Документ",2);<br>КонецПроцедуры<br><br>// ======================================<br>Процедура ВыбНастройка()<br> Если тбНастройка.КоличествоСтрок()=0 Тогда<br> Возврат;<br> КонецЕсли;<br> ТекКолонка=тбНастройка.ТекущаяКолонка();<br> ТекСтрока=тбНастройка.ТекущаяСтрока();<br> ТекДок=ТекДок();<br> Если ТекКолонка="Столбец" Тогда<br> ТекЗначение=тбНастройка.ПолучитьЗначение(ТекСтрока,"Столбец");<br> НовЗначение=ТекЗначение;<br> Рез=ВвестиЧисло(НовЗначение,"Номер столбца",10,0,30);<br> Если (Рез=1) и (НовЗначение<>ТекЗначение) Тогда<br> тбНастройка.УстановитьЗначение(ТекСтрока,"Столбец",НовЗначение);<br> КонецЕсли;<br> ИначеЕсли ТекКолонка="ПоУмолчанию" Тогда<br> Реквизит=СокрЛП(тбНастройка.ПолучитьЗначение(ТекСтрока,"Реквизит"));<br><br> Тип="Строка";<br> Вид="""";<br> Длина=60;<br> Точность=0;<br><br> Попытка<br> Тип=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Тип;<br> Вид=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Вид;<br> Длина=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Длина;<br> Точность=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Точность;<br> Исключение КонецПопытки;<br><br> ТекЗначение=тбНастройка.ПолучитьЗначение(ТекСтрока,"ПоУмолчанию");<br> НовЗначение=ТекЗначение;<br> Если ПустоеЗначение(Вид)=0 Тогда<br> Рез=ВвестиЗначение(НовЗначение,Вид,Тип+"."+Вид,Длина,Точность);<br> ИначеЕсли Тип="Справочник" Тогда<br> //построение списка справочников<br> ВидыСправочников=СоздатьОбъект("СписокЗначений");<br> Для Инд=1 По Метаданные.Справочник() Цикл<br> Представление=Метаданные.Справочник(Инд).Синоним;<br> Идентификатор=Метаданные.Справочник(Инд).Идентификатор;<br> Если СокрЛП(Представление)="""" Тогда<br> Представление=Идентификатор;<br> КонецЕсли;<br> ВидыСправочников.Установить(Представление,Идентификатор);<br> КонецЦикла;<br> Если ВидыСправочников.ВыбратьЗначение(Вид,"Вид справочника",,30,)=1 Тогда<br> Рез=ВвестиЗначение(НовЗначение,Вид,Тип+"."+Вид,Длина,Точность);<br> КонецЕсли;<br> КонецЕсли;<br> Если Рез=1 Тогда<br> тбНастройка.УстановитьЗначение(ТекСтрока,"ПоУмолчанию",НовЗначение);<br> КонецЕсли;<br> ИначеЕсли ТекКолонка="Поиск" Тогда<br> Реквизит=СокрЛП(тбНастройка.ПолучитьЗначение(ТекСтрока,"Реквизит"));<br><br> Тип="Строка";<br> Вид="""";<br> Длина=60;<br> Точность=0;<br><br> Попытка<br> Тип=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Тип;<br> Вид=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Вид;<br> Длина=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Длина;<br> Точность=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Реквизит).Точность;<br> Исключение КонецПопытки;<br><br> ТекЗначение=тбНастройка.ПолучитьЗначение(ТекСтрока,"Поиск");<br> Если Тип="Справочник" Тогда<br> //теперь список реквизитов, которые имеют признак "Сортировка"<br> спПоиск=СоздатьОбъект("СписокЗначений");<br> //спПоиск.УдалитьВсе();<br> //спПоиск.ДобавитьЗначение("_НеИскать","Не искать");<br> спПоиск.ДобавитьЗначение("Код","Код");<br> спПоиск.ДобавитьЗначение("Наименование","Наименование");<br> Если ПустоеЗначение(Вид)=1 Тогда<br> Попытка<br> _Значение=тбНастройка.ПолучитьЗначение(ТекСтрока,"ПоУмолчанию");<br> Вид=_Значение.Вид();<br> Исключение КонецПопытки;<br> КонецЕсли;<br> Если ПустоеЗначение(Вид)=0 Тогда<br> Для Ном=1 по Метаданные.Справочник(Вид).Реквизит() Цикл<br> Сортировка=Метаданные.Справочник(Вид).Реквизит(Ном).Сортировка;<br> Если Сортировка=1 Тогда<br> //Представление=Метаданные.Справочник(ИмяСправочника).Реквизит(Ном).Синоним;<br> Идентификатор=Метаданные.Справочник(Вид).Реквизит(Ном).Идентификатор;<br> спПоиск.ДобавитьЗначение(Идентификатор);//,Представление);<br> КонецЕсли;<br> КонецЦикла;<br> КонецЕсли;<br> Зн=0;<br> Рез=спПоиск.ВыбратьЗначение(Зн,,,10,1);<br> Если Рез=1 Тогда<br> тбНастройка.УстановитьЗначение(ТекСтрока,"Поиск",Зн);<br> КонецЕсли;<br> КонецЕсли;<br> КонецЕсли;<br>КонецПроцедуры<br><br>// ===============================<br>Процедура ЗаполнитьРеквизиты(ТолькоТД=0,СбросНастроек=0)<br> //Если (тбНастройка.КоличествоСтрок()>0) и (ТолькоТД=0) Тогда<br> // Рез=Вопрос("Текущие настройки будут удалены, продолжить?","Да+Нет",10);<br> // Если Рез<>"Да" Тогда<br> // СтатусВозврата(0);<br> // Возврат;<br> // КонецЕсли;<br> //КонецЕсли;<br><br> Если НовыйДокумент.Выбран()=1 Тогда<br> Если Метаданные.Документ(НовыйДокумент.Вид()).РеквизитТабличнойЧасти()=0 Тогда<br> Предупреждение("У выбраного документа нет табличной части",10);<br> НовыйДокумент=0;<br> Возврат;<br> КонецЕсли;<br> Поз=СписокДокументов.НайтиЗначение(НовыйДокумент.Вид());<br> Если Поз>0 Тогда<br> СписокДокументов.ТекущаяСтрока(Поз);<br> КонецЕсли;<br> КонецЕсли;<br><br> Если ТолькоТД=0 Тогда<br> тбНастройка.УдалитьСтроки();<br> КонецЕсли;<br> тбДок.Очистить();<br> тбДок.НоваяКолонка("НомерС","Число",5,0,"№",5);<br> ТекДок=ТекДок();<br> Для Инд=1 по Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти() Цикл<br> Реквизит=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Идентификатор;<br> Синоним=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Синоним;<br> Синоним=?(СокрЛП(Синоним)="""",Реквизит,Синоним);<br> Тип=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Тип;<br> Вид=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Вид;<br> Длина=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Длина;<br> Точность=Метаданные.Документ(ТекДок).РеквизитТабличнойЧасти(Инд).Точность;<br><br> Если ТолькоТД=0 Тогда<br> тбНастройка.НоваяСтрока();<br> тбНастройка.Реквизит=Реквизит;<br> тбНастройка.Синоним=Синоним;<br> тбНастройка.Тип=Тип;<br> тбНастройка.Поиск=?(Тип="Справочник","<?>","Х");<br> КонецЕсли;<br><br> Ширина=?(Тип="Справочник",30,10);<br> Если (Тип="Справочник") и (Найти(Вид,"Ед")=1) Тогда<br> Ширина=10;<br> КонецЕсли;<br> тбДок.НоваяКолонка(Реквизит,Тип,Длина,Точность,Синоним,Ширина);<br> КонецЦикла;<br><br> Если СбросНастроек=0 Тогда<br> ФайлНастроек=КаталогИБ()+"docload_"+ТекДок+".txt";<br> Если ФС.СуществуетФайл(ФайлНастроек)=1 Тогда<br> ЗначениеИзФайла(ФайлНастроек,тбНастройка);<br> КонецЕсли;<br> КонецЕсли;<br>КонецПроцедуры //ЗаполнитьРеквизиты<br><br>// ======================================<br>Процедура ПроверитьФайл()<br> ИмяФайлаЗагрузки=СокрЛП(ВыбКаталог)+СокрЛП(ВыбФайл);<br> Если ФС.СуществуетФайл(ИмяФайлаЗагрузки)=1 Тогда<br> РазмерФайла=0; ДатаСоздания=0; ВремяСоздания=0;<br> ФС.АтрибутыФайла(ИмяФайлаЗагрузки,РазмерФайла,,ВремяСоздания);<br> //ДатаСоздания=Лев(ВремяСоздания,Найти(ВремяСоздания," "));<br> ТекстСостояния="создан "+ВремяСоздания+" ("+Окр(РазмерФайла/1024,1)+" кб)";<br> //ДатаЦены=ДатаСоздания;<br> СохранитьЗначение("ЗагрузкаФайл",СокрЛП(ВыбФайл));<br> Иначе<br> ТекстСостояния="файла не существует";<br> КонецЕсли;<br>КонецПроцедуры<br><br>// ======================================<br>Процедура Выбрать()<br> _ВыбКаталог=СокрЛП(ВыбКаталог);<br> Если ФС.ВыбратьФайл(0,ВыбФайл,_ВыбКаталог,"Выбор файла для загрузки","Таблица Excel (*.xls)|*.xls") = 0 Тогда<br> ВыбФайл = """";<br> Иначе<br> ВыбКаталог=_ВыбКаталог;<br> СохранитьЗначение("ЗагрузкаКаталог",_ВыбКаталог);<br> КонецЕсли;<br> ПроверитьФайл();<br>КонецПроцедуры<br><br>// ======================================<br>Процедура ПриВыбореЗакладки(НомерЗакладки,ИмяЗакладки)<br> Форма.ИспользоватьСлой("Общий,"+ИмяЗакладки,2);<br>КонецПроцедуры<br><br>// ===============================<br>Процедура ПриОткрытии()<br> ДатаДокумента=РабочаяДата();<br> ВыбКаталог=ВосстановитьЗначение("ЗагрузкаКаталог");<br> ВыбФайл=ВосстановитьЗначение("ЗагрузкаФайл");<br> Если СокрЛП(ВыбФайл)<>"""" Тогда<br> ПроверитьФайл();<br> КонецЕсли;<br><br> Форма.ИспользоватьЗакладки(1);<br> Форма.Закладки.ДобавитьЗначение("Основной");<br> Форма.Закладки.ДобавитьЗначение("Настройка");<br> Форма.Закладки.ДобавитьЗначение("Документ");<br> //Форма.Закладки.ДобавитьЗначение("Дополнительно");<br> Форма.ИспользоватьСлой("Основной,Общий",2);<br><br> спДок=СоздатьОбъект("СписокЗначений");<br> Для Инд=1 по Метаданные.Документ() Цикл<br> Если Метаданные.Документ(Инд).РеквизитТабличнойЧасти()=0 Тогда<br> Продолжить;<br> КонецЕсли;<br> ТекДок=Метаданные.Документ(Инд).Идентификатор;<br> Синоним=Метаданные.Документ(Инд).Синоним;<br> спДок.ДобавитьЗначение(ТекДок,Синоним);<br> КонецЦикла;<br> спДок.Выгрузить(СписокДокументов);<br> СписокДокументов.ТекущаяСтрока(1);<br> Если спДок.РазмерСписка()=0 Тогда<br> Предупреждение("Нет документов с табличной частью",10);<br> СтатусВозврата(0);<br> Возврат;<br> КонецЕсли;<br><br> тбНастройка.НоваяКолонка("Реквизит","Строка",40);<br> тбНастройка.НоваяКолонка("Синоним","Строка",30,,"Реквизит документа",30);<br> тбНастройка.НоваяКолонка("Тип","Строка",30,,"Тип значения",20);<br> тбНастройка.НоваяКолонка("Поиск","Строка",60,,"Поиск",10);<br> тбНастройка.НоваяКолонка("Столбец","Число",10,0,"Столбец",10);<br> тбНастройка.НоваяКолонка("ПоУмолчанию",,,,"По умолчанию",20);<br> тбНастройка.НоваяКолонка("Образец","Строка",30);<br> //тбНастройка.НоваяКолонка("Реквизит","Строка",60);<br> тбНастройка.ВидимостьКолонки("Реквизит",0,);<br> ЗаполнитьРеквизиты();<br><br> Настройка1=ВосстановитьЗначение("ЗагрузкаДокНастройка1");<br> Если ПустоеЗначение(Настройка1)=1 Тогда<br> Настройка1="Набор настроек №1";<br> КонецЕсли;<br> Настройка2=ВосстановитьЗначение("ЗагрузкаДокНастройка2");<br> Если ПустоеЗначение(Настройка2)=1 Тогда<br> Настройка2="Набор настроек №2";<br> КонецЕсли;<br> Настройка3=ВосстановитьЗначение("ЗагрузкаДокНастройка3");<br> Если ПустоеЗначение(Настройка3)=1 Тогда<br> Настройка3="Набор настроек №3";<br> КонецЕсли;<br>КонецПроцедуры //ПриОткрытии<br><br>// ======================================<br>Процедура ПриЗакрытии()<br> СохранитьЗначение("ЗагрузкаДокНастройка1",Настройка1);<br> СохранитьЗначение("ЗагрузкаДокНастройка2",Настройка2);<br> СохранитьЗначение("ЗагрузкаДокНастройка3",Настройка3);<br>КонецПроцедуры<br><br>// ======================================<br>Функция ВыбратьНастройку()<br> Меню=СоздатьОбъект("СписокЗначений");<br> НомерНастройки=0;<br> Меню.ДобавитьЗначение(1,СокрЛП(Настройка1));<br> Меню.ДобавитьЗначение(2,СокрЛП(Настройка2));<br> Меню.ДобавитьЗначение(3,СокрЛП(Настройка3));<br> Рез=Меню.ВыбратьЗначение(НомерНастройки,"""",,30,1);<br> Возврат НомерНастройки;<br>КонецФункции<br><br>// ======================================<br>Процедура ЗаписатьФайл()<br> НН=ВыбратьНастройку();<br> ЗагружаемыйВид=ТекДок();<br> Рез=ЗначениеВФайл(КаталогИБ()+"sprload"+НН+".txt",тбНастройка);<br> СохранитьЗначение("ЗагрузкаДок"+НН,ЗагружаемыйВид);<br>КонецПроцедуры<br><br>// ======================================<br>Процедура ПрочитатьФайл()<br> НН=ВыбратьНастройку();<br> Рез=ЗначениеИзФайла(КаталогИБ()+"sprload"+НН+".txt",тбНастройка);<br> ЗагружаемыйВид=ВосстановитьЗначение("ЗагрузкаДок"+НН);<br> Рез=СписокДокументов.НайтиЗначение(ЗагружаемыйВид);<br> Если Рез>0 Тогда<br> СписокДокументов.ТекущаяСтрока(Рез);<br> КонецЕсли;<br> ЗаполнитьРеквизиты(1);<br>КонецПроцедуры<br><br>// ===============================<br>Функция УстДоступность()<br> Форма.СписокДокументов.Доступность(?(НовыйДокумент.Выбран()=1,0,1));<br> Если (тбДок.КоличествоСтрок()=0) или (НовыйДокумент.Выбран()=0) Тогда<br> Форма.кнДокумент.Доступность(0);<br> Иначе<br> Форма.кнДокумент.Доступность(1);<br> КонецЕсли;<br>КонецФункции //УстДоступность<br>// CODE"

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №2
 
30.03.2009 16:54

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

Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20955
Пост №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

">Не подтягивается строка наименование, помогите пожалуйста.<br>><br>Интересно, что значит не "подтягивается"...<br>например:<br><br>>ИначеЕсли Поиск="Наименование" Тогда<br>>ДлинаНаименования=Метаданные.Справочник(ВидСправочника).ДлинаНаименования;<br>>ДлиннаяСтрока=Значение;<br>>_Значение=Лев(ДлиннаяСтрока,ДлинаНаименования);<br>> Рез=Спр.НайтиПоНаименованию(_Значение,0,1);<br>><br><br>Здесь у переменной _Значение - стоит обрубить пробелы со всех сторон.<br><br><br><br>И в догонку.. цикл перебора строк, с подсчётом пустых и т.п. выглядит как-то не очень.. как-то<br>слишком по ламерски :) Лучше написать так:<br><br>всего_строк = Окно.Cells(1,1).SpecialCells(11).Row;<br>Для Стр = 1 По всего_строк Цикл<br>// обработка <br>КонецЦикла;<br><br>"

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

Читают тему:

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