как присвоить выпадающий список в ячейке Excel из 1с 8 #571337


#0 by EarthsSoul
Здравствуйте, стоит задача выгрузки данных из 1c 8 в Excel, записывать в простые ячейки Excel знаю как, но вот если в Excel реализованы выпадающие списки то при присвоении выдает {Форма.Форма.Форма}: Ошибка при установке значения атрибута контекста (Value)    Excel.Cells(Строка,11).Value =Выборка.Звание; по причине: Произошла исключительная ситуация (0x800a03ec) При том что в выборе возможного значения ячейки присваиваемое значение имеется. то есть если вручную присвоить возможное значение "Старший сержант" и посмотреть его значение в отладчике то получим Excel.Cells(Строка,11).Value имеет значние "Старший сержант" с типом Строка. Но если мы попытаемся то получим ошибку {Форма.Форма.Форма}: Ошибка при установке значения атрибута контекста (Value)    Excel.Cells(Строка,11).Value =Выборка.Звание; по причине: Произошла исключительная ситуация (0x800a03ec)
#1 by EarthsSoul
Вопрос конечно как корректно присвоить значение Excel.Cells(Строка,11).Value =Выборка.Звание;?
#2 by Птах
Сделай выпадающий список элементом формы экселя вместо элемента эктивХ. Элемент формы ссылается на диапазон ячеек, туда свои значения и пиши.
#3 by Kookish
Как я понял, у ТС в Excel уже есть ячейка, значения которой выбираются из выпадающего списка. И программно нужно ввести в эту ячейку одно из значений этого списка. Естественно, просто присвоить значение она не даст. Нужно, чтобы оно было выбрано из этого самого списка. Пока есть мысль только указать индекс значения в этом списке. См. свойство Validation.
#4 by Kookish
Попробуй посмотреть значение Value и Text у ячеек, в которых значение уже выбрано из выпадающего списка.
#5 by Птах
Точно, я не понял... Непонятно зачем только, элементы формы удобнее.
#6 by Kookish
Посмотрел, называется. Там везде тупо строка. Вот этот текст у меня почему-то работает. Хотя ячейки так и остаются выбираемыми из списка. Офис 2007.
#7 by Kookish
Пробовал Выборка.Звание.Наименование? Подозреваю, что в Выборка.Звание не строка, а значение перечисления или что-то вроде.
#8 by EarthsSoul
В общем странности развиваются дальше, для того чтобы в Выборка.Звание не было всяких левых типов данных я делал завуилированное приведение типов ""+Выборка.Звание, однако и тоже выдавало ошибку указанную в , однако после того как сделал Строка(Выборка.Звание) то присвоение стало работать нормально... По крайней мере ошибку не выдает но теперь выдает другую ошибку. При выгрузке последовательно присваиваются значения благополучно 142 строки, потом начинается присвоение тех же самых результатов выборки (Теже имена людей), больше не присваиваются в строках, и в результате строки начиная с 142 строки больше не меняют значений... К стати если в процессе работы обработки открыть Excel файл то визуально уведите как заполняются значения ячеек, а со 142 от выдает прямо Excel предупреждение о том что колонку 4,6,7,8,10 надо заполнить. (Возможно предупреждения это уже функционал реализованы макросами...) Так вот вопрос почему он может после 142 строки не заполнять файл?
#9 by Kookish
Может потому, что там до этого не пустые значения? В отладчике проверял? Еще раз спрашиваю: Выборка.Звание.Наименование пробовал поставить?
#10 by EarthsSoul
Заменил свою не осмысленную проверку на (Вообще конечно столбиков много, привожу только пример) Да попробовал эффект не изменился, и попробовал выгружать не в этот Excel навороченный макросами файл, а в чистую книгу и теперь записывает 284 строки и выдает ошибку: {Форма.Форма.Форма}: Ошибка при установке значения атрибута контекста (Value) Excel.Cells(Строка,11).Value =СокрЛП(Строка(Выборка.ЗваниеНаименованиее)); по причине: Произошла исключительная ситуация (0x800ac472) в следующей строке: Excel.Cells(Строка,11).Value= СокрЛП(Строка(Выборка.ЗваниеНаименованиее)); В отладчике Выражение Тип СокрЛП(Строка(Выборка.ЗваниеНаименованиее)),Значение "мл. сержант" с типом Строка Что бы еще могло быть не так? ))
#11 by EarthsSoul
В общем оказалось что колонка которою так сразу не видно была заполнена в документе по 142 строку, заполнил её липовыми данными (так как это заполняет пользователь по определению, потом сами перезаполнят и все благополучно выгрузилось из 1с в Excel за три запуска обработки начиная со строки в которой остановился в прошлый раз, выгрузка очень не стабильно работает...) С спасибо за участие!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С