|   |   | 
| 
 | Выгрузка из 1С в Excel | ☑ | ||
|---|---|---|---|---|
| 0
    
        Олеся999 12.03.15✎ 07:27 | 
        Код:
 &НаСервере Процедура ВыгрузитьНаСервере() ТзПодразделенийОрганизации = Объект.ТаблицаSMD; Попытка Эксель = Новый COMОбъект("Excel.Application"); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Книга = Эксель.WorkBooks.Add(); Лист = Книга.WorkSheets(1); Лист = Книга.Sheets.Add(); НомерСтроки = 1; Для Каждого Строка ИЗ Объект.ТаблицаSMD Цикл Лист.Cells(НомерСтроки, 1).Value = Строка.Designator; Лист.Cells(НомерСтроки, 2).Value = Строка.MyData; Лист.Cells(НомерСтроки, 3).Value = Строка.Номенклатура; Лист.Cells(НомерСтроки, 4).Value = Строка.Quantity; НомерСтроки = НомерСтроки + 1; КонецЦикла; Попытка Книга.SaveAs("C:\1c"); Исключение Сообщить(ОписаниеОшибки()+" Файл не сохранен!"); КонецПопытки; Эксель.Application.Quit(); КонецПроцедуры Почемуто выдает ошибку : {Справочник.СпецификацияТК.Форма.ФормаЭлемента.Форма(194)}: Ошибка при установке значения атрибута контекста (Value) Лист.Cells(НомерСтроки, 3).Value = Строка.Номенклатура; по причине: Произошла исключительная ситуация (0x800a03ec) Произошла исключительная ситуация (0x800a03ec) Кто знает в чем дело? | |||
| 1
    
        Лодырь 12.03.15✎ 07:29 | 
        подозреваю что эксель не очень хочет кушать в качестве значения ссылку на номенклатуру.     | |||
| 2
    
        ShoGUN 12.03.15✎ 07:32 | 
        (0) А нафига так делать-то? Сделай обычный отчёт, сохрани в формате Excel.     | |||
| 3
    
        bolobol 12.03.15✎ 07:34 | 
        (0) Подозреваю, что знает в чём дело только отладчик, но он не "кто", а "что", но - помогает.
 Какое значение передаётся в ячейку в момент возникновения ошибки? | |||
| 4
    
        Олеся999 12.03.15✎ 07:35 | 
        (2) Мне нужно чтобы выгрузка была  по Событию нажатия кнопки     | |||
| 5
    
        ShoGUN 12.03.15✎ 07:36 | 
        (4) И что? Сформируй обычный отчёт в ТабличныйДокумент, сохрани его в Excel программно.     | |||
| 6
    
        su_mai 12.03.15✎ 07:40 | ||||
| 7
    
        Олеся999 12.03.15✎ 07:43 | 
        Тормозится на Лист.Cells(НомерСтроки, 3).Value = Строка.Номенклатура;
 Коментирую эту строку ://Лист.Cells(НомерСтроки, 3).Value = Строка.Номенклатура; выгружает всё отлично:) http://lvkr.ru/f/UgkGRF/1280.jpg | |||
| 8
    
        ДенисЧ 12.03.15✎ 07:44 | 
        Тормозится на Лист.Cells(НомерСтроки, 3).Value = Строка.Номенклатура.Наименование; 
 попробуй | |||
| 9
    
        Олеся999 12.03.15✎ 07:48 | 
        (8) Круто помогло ! :) спасибо :)))     | |||
| 10
    
        bolobol 12.03.15✎ 07:51 | 
        У... всего с третьего раза))     | |||
| 11
    
        ShoGUN 12.03.15✎ 07:56 | 
        Извращенцы. Есть готовый инструмент, нет, надо всё руками в Excel фигачить...     | |||
| 12
    
        Лодырь 12.03.15✎ 07:59 | 
        (11) ну кстати, руками в эксель можно такого понапихать, чего "готовыми инструментами" не сделать.     | |||
| 13
    
        ShoGUN 12.03.15✎ 08:10 | 
        (12) Можно, но в (0) я такого не наблюдаю.     | |||
| 14
    
        yavasya 12.03.15✎ 08:29 | 
        Лист.Cells(НомерСтроки, 3).Value = Строка.Номенклатура.наименование;     | |||
| 15
    
        yavasya 12.03.15✎ 08:29 | 
        Лист.Cells(НомерСтроки, 3).Value =""+ Строка.Номенклатура.наименование;     | |||
| 16
    
        yavasya 12.03.15✎ 08:29 | 
        Лист.Cells(НомерСтроки, 3).Value =""+ Строка.Номенклатура;     | |||
| 17
    
        yavasya 12.03.15✎ 08:30 | 
        (8) не прочитал     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |