|
v7: Эксель: разложить данные паспорта по столбцам (1С77) | ☑ | ||
---|---|---|---|---|
0
листопад
20.04.14
✎
11:39
|
Помогите вывести в Эксель данные паспорта в отдельных колонках:
- Вид паспорта - Серия - Номер - Когда выдан - Кем выдан Сейчас выводит все в один столбец: 'Паспорт гражданина России, Серия: 10 20, № 541008, Выдан: 09.10.2001, 3 ОМ Сокольники г. Москвы Вот код: Функция ПредставлениеДокумента(Документ) Представление = ""; СЗ = глРазложитьДокУдостоверяющийЛичность(Документ); Для Номер = 1 по СЗ.РазмерСписка() Цикл Если ПустоеЗначение(СЗ.ПолучитьЗначение(Номер))=0 Тогда Представление = Представление+?(ПустоеЗначение(Представление)=1,"",", ") +?(Номер=2,"Серия: ", ?(Номер=3,"№ ", ?(Номер=4,"Выдан: ",""))) +СокрЛП(СЗ.ПолучитьЗначение(Номер)) КонецЕсли; КонецЦикла; Возврат ?(ПустоеЗначение(Представление)=1,"<<Нет данных>>",Представление) КонецФункции // ПредставлениеДокумента Процедура Сформировать() Сотрудники = СоздатьОбъект("Справочник.Сотрудники"); Сотрудники.ВыбратьЭлементы(1); Пока Сотрудники.ПолучитьЭлемент() = 1 Цикл Паспорт = ПредставлениеДокумента(Сотрудники.ДокументУдЛичность); x.WorkSheets(ИмяФайла).Cells(ИтераторСотр,5).Value = "'"+Паспорт; КонецПроцедуры |
|||
1
Wobland
20.04.14
✎
11:43
|
а как оно так разные вещи в одну строку складывает?
|
|||
2
листопад
20.04.14
✎
11:44
|
(1) И снова здравствуйте, Wobland :) !
|
|||
3
листопад
20.04.14
✎
11:45
|
+(1) См. Функция ПредставлениеДокумента(Документ)
|
|||
4
Wobland
20.04.14
✎
11:45
|
(3) я сначала посмотрел, а потом вопрос задал. так что смотри туда сам ;)
|
|||
5
Wobland
20.04.14
✎
11:46
|
или сама?.. не, скан паспорта требовать не будем ;)
|
|||
6
листопад
20.04.14
✎
11:56
|
Ап!
|
|||
7
Wobland
20.04.14
✎
12:19
|
ты на вопрос-то ответь
|
|||
8
mdocs
20.04.14
✎
12:25
|
Функция ПредставлениеДокумента(Документ,ВидДокумента,Номер,Серия,ДатаВыдачи,КемВыдан)
СЗ = глРазложитьДокУдостоверяющийЛичность(Документ); Если СЗ.РазмерСписка()>0 тогда ВидДокумента=СЗ.ПолучитьЗначение(1); КонецЕсли; Если СЗ.РазмерСписка()>1 тогда Серия=СЗ.ПолучитьЗначение(2); КонецЕсли; Если СЗ.РазмерСписка()>1 тогда Серия=СЗ.ПолучитьЗначение(2); КонецЕсли; Если СЗ.РазмерСписка()>2 тогда Номер=СЗ.ПолучитьЗначение(3); КонецЕсли; Если СЗ.РазмерСписка()>3 тогда ДатаВыдачи=СЗ.ПолучитьЗначение(4); КонецЕсли; Если СЗ.РазмерСписка()>4 тогда КемВыдан=СЗ.ПолучитьЗначение(5); КонецЕсли; Возврат ""; КонецФункции // ПредставлениеДокумента |
|||
9
листопад
20.04.14
✎
12:36
|
(8) СПАСИБО!!!
А как мне теперь эти значения (ВидДокумента,Номер,Серия,ДатаВыдачи,КемВыдан) вывести в Эксель? |
|||
10
Wobland
20.04.14
✎
12:45
|
(9) нужно себя как-то заставить. или заставить кого-то другого
|
|||
11
Voronve
20.04.14
✎
13:02
|
(9) Выведи в текстовый файл с символом-разделителем ~ (тильда). Открой екселем его как форматированный файл.
|
|||
12
листопад
20.04.14
✎
13:07
|
В итоге написала так:
Процедура Сформировать() Документ = глРазложитьДокУдостоверяющийЛичность(Сотрудники.ДокументУдЛичность); Если Документ.РазмерСписка() > 0 Тогда ВидДокумента = Документ.ПолучитьЗначение(1); КонецЕсли; Если Документ.РазмерСписка() > 1 Тогда Серия=Документ.ПолучитьЗначение(2); КонецЕсли; Если Документ.РазмерСписка() > 2 Тогда Номер=Документ.ПолучитьЗначение(3); КонецЕсли; Если Документ.РазмерСписка() > 3 Тогда ДатаВыдачи=Документ.ПолучитьЗначение(4); КонецЕсли; Если Документ.РазмерСписка() > 4 Тогда ВыданКем=Документ.ПолучитьЗначение(5); Иначе ВидДокумента = ""; Серия=""; Номер=""; ДатаВыдачи=""; ВыданКем=""; КонецЕсли; x.WorkSheets(ИмяФайла).Cells(ИтераторСотр,13).Value = "'"+ВидДокумента; x.WorkSheets(ИмяФайла).Cells(ИтераторСотр,14).Value = "'"+Серия; x.WorkSheets(ИмяФайла).Cells(ИтераторСотр,15).Value = "'"+Номер; x.WorkSheets(ИмяФайла).Cells(ИтераторСотр,16).Value = "'"+ДатаВыдачи; x.WorkSheets(ИмяФайла).Cells(ИтераторСотр,17).Value = "'"+ВыданКем; КонецПроцедуры |
|||
13
КонецЦикла
20.04.14
✎
13:28
|
(12) Молодец, мы верили
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |