|
выгрузка в Excel. При выгрузке лицевых счетов в Excel все знаки после 15-го= 0 | ☑ | ||
---|---|---|---|---|
0
kap-v-kstu
11.07.12
✎
16:10
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
// Вставить содержимое обработчика. Сообщить("vpizdu!!!!"); Попытка //Эксель = СоздатьОбъект("Excel.Application"); //Эксель = СоздатьОбъект("Excel.Application"); Эксель = Новый COMОбъект("Excel.Application"); Исключение Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена на данном компьютере!"); Возврат; КонецПопытки; Книга = Эксель.WorkBooks.Add(); Лист = Книга.Sheets.Add(); Попытка Книга.SaveAs("D:\maket_nerezedent.xls"); Исключение Сообщить(ОписаниеОшибки()+" Файл не сохранен!"); Возврат; КонецПопытки; Лист.Cells(1, 1).Value = 1; Лист.Cells(1, 2).Value = 2; Лист.Cells(1, 3).Value = 3; Лист.Cells(1, 4).Value = 4; Лист.Cells(1, 5).Value = 5; Лист.Cells(1, 6).Value = 6; Лист.Cells(1, 7).Value = 7; Лист.Cells(2, 1).Value = "Порядковый номер по списку"; Лист.Cells(2, 2).Value = "номер организации"; Лист.Cells(2, 3).Value = "№ счета"; Лист.Cells(2, 4).Value = "Фамилия сотрудника Организации (русская транскрипция)"; Лист.Cells(2, 5).Value = "Имя сотрудника Организации (русская транскрипция)"; Лист.Cells(2, 6).Value = "Отчество сотрудника Организации (русская транскрипция)"; Лист.Cells(2, 7).Value = "Сумма, руб.РФ"; //Лист.Cells(3, 1).Value = 1; //Лист.Cells(4, 1).Value = 2; //Лист.Cells(5, 1).Value = 3; //Лист.Cells(3, 2).Value = 117; //Лист.Cells(4, 2).Value = 117; //Лист.Cells(5, 2).Value = 117; //Лист.Cells(7, 7).Value = ТекущаяДата(); //Эксель.Application.Quit(); А = ЭлементыФормы.Зарплата1.Значение; //Если Значение заполнено Если ЗначениеЗаполнено(А) Тогда Предупреждение("Значение заполнено" + А.Ссылка); //ЭлементыФормы.Зарплата. КонецЕсли; Н=0; Для Каждого стр из А.Зарплата Цикл //Сообщить(стр.Сумма); Если ЗначениеЗаполнено(стр.Физлицо) Тогда НомСтр=Н+3; Лист.Cells(НомСтр,7).Value = стр.Сумма; Лист.Cells(НомСтр,1).Value = Н+1; Лист.Cells(НомСтр,2).Value = 117; // K = стр.Физлицо.ПолноеНаименование()); Лист.Cells(НомСтр,4).Value = стр.Физлицо.Наименование; // Запрос = Новый Запрос; // // Запрос.Текст = "ВЫБРАТЬ // | ЛицевыеСчетаРаботниковОрганизации.НомерЛицевогоСчета // |ИЗ // | РегистрСведений.ЛицевыеСчетаРаботниковОрганизации КАК ЛицевыеСчетаРаботниковОрганизации"; // |ГДЕ // | ЛицевыеСчетаРаботниковОрганизации.ФизЛицо.Ссылка = &Ссылка"; // //Результат = Запрос.Выполнить(); //Запрос.УстановитьПараметр("Ссылка", Справочники.ФизическиеЛица.НайтиПоКоду("0000000075")); // Выборка = Результат.Выбрать(); //Если Выборка.Следующий() Тогда ////Лист.Cells(НомСтр,3).Value = Выборка.НомерЛицевогоСчета; ////добавь здесь!!! // //Сообщить(Выборка.НомерЛицевогоСчета); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЛицевыеСчетаРаботниковОрганизации.НомерЛицевогоСчета |ИЗ | РегистрСведений.ЛицевыеСчетаРаботниковОрганизации КАК ЛицевыеСчетаРаботниковОрганизации |ГДЕ | ЛицевыеСчетаРаботниковОрганизации.ФизЛицо = &ФизЛицо"; Запрос.УстановитьПараметр("ФизЛицо", стр.ФизЛицо); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда //Лист.Cells(НомСтр,3).Value = Формат(Выборка.НомерЛицевогоСчета,"ЧЦ=25; ЧДЦ=0"); Лист.Cells(НомСтр,3).Value = Выборка.НомерЛицевогоСчета; Сообщить(Выборка.НомерЛицевогоСчета); КонецЕсли; Запрос1 = Новый Запрос; Запрос1.Текст ="ВЫБРАТЬ | ФИОФизЛиц.Фамилия |ИЗ | РегистрСведений.ФИОФизЛиц КАК ФИОФизЛиц |ГДЕ | ФИОФизЛиц.ФизЛицо = &ФизЛицо"; Запрос1.УстановитьПараметр("ФизЛицо", стр.ФизЛицо); Выборка = Запрос1.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Лист.Cells(НомСтр,4).Value = Выборка.Фамилия; КонецЕсли; Запрос2 = Новый Запрос; Запрос2.Текст ="ВЫБРАТЬ | ФИОФизЛиц.Имя |ИЗ | РегистрСведений.ФИОФизЛиц КАК ФИОФизЛиц |ГДЕ | ФИОФизЛиц.ФизЛицо = &ФизЛицо"; Запрос2.УстановитьПараметр("ФизЛицо", стр.ФизЛицо); Выборка = Запрос2.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Лист.Cells(НомСтр,5).Value = Выборка.Имя; КонецЕсли; Запрос3 = Новый Запрос; Запрос3.Текст ="ВЫБРАТЬ | ФИОФизЛиц.Отчество |ИЗ | РегистрСведений.ФИОФизЛиц КАК ФИОФизЛиц |ГДЕ | ФИОФизЛиц.ФизЛицо = &ФизЛицо"; Запрос3.УстановитьПараметр("ФизЛицо", стр.ФизЛицо); Выборка = Запрос3.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Лист.Cells(НомСтр,6).Value = Выборка.Отчество; КонецЕсли; КонецЕсли; Н=Н+1; КонецЦикла; Эксель.Application.Quit(); КонецПроцедуры |
|||
1
Александр_
Тверь 11.07.12
✎
16:11
|
(0) хвастаешся или что?
|
|||
2
kap-v-kstu
11.07.12
✎
16:12
|
Если Выборка.Следующий() Тогда
//Лист.Cells(НомСтр,3).Value = Формат(Выборка.НомерЛицевогоСчета,"ЧЦ=25; ЧДЦ=0"); Лист.Cells(НомСтр,3).Value = Выборка.НомерЛицевогоСчета; Сообщить(Выборка.НомерЛицевогоСчета); КонецЕсли; а сообщается номер правильно. В Excel записывается неправильно. например 42222224345464645645 записывается в EXcel записывается как 42222224345464600000 |
|||
3
kap-v-kstu
11.07.12
✎
16:13
|
или что
|
|||
4
AaNnDdRrEeYy
11.07.12
✎
16:13
|
Выводиш в табличный документ а потом
ТабличныйДокумент.Записать(ТипфайлаТабличногоДокумента.XLS) |
|||
5
ptiz
11.07.12
✎
16:15
|
Лист.Cells(НомСтр,3).Value = "'" + Формат(Выборка.НомерЛицевогоСчета,"ЧЦ=25; ЧВН=; ЧГ=");
|
|||
6
kap-v-kstu
11.07.12
✎
16:15
|
Дело в Excel?или в каком-то другом формате надо выгружать номер лицевого счета
|
|||
7
xenos
11.07.12
✎
16:17
|
(6) Попробуй пробел перед номером поставить чтобы воспринимался как текст, а не как число. и значение попробуй передавать в Лист.Cells(НомСтр,3).Text
|
|||
8
эцп
11.07.12
✎
16:18
|
(6) Установить формат ячейки "Текстовый" перед записью в неё значения
|
|||
9
эцп
11.07.12
✎
16:19
|
(0) Вопрос: а почему не проще создать всё средствами 1С, а результат потом сохранить в формате Excel?
|
|||
10
kap-v-kstu
11.07.12
✎
16:26
|
пожелание клиента))
спасибо большое) |
|||
11
kap-v-kstu
11.07.12
✎
17:06
|
а как избавиться от кавычки "'". метод прав() не помогает
|
|||
12
xenos
11.07.12
✎
17:09
|
СтрЗаменить(Текст,"""","")
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |