1С в excel -плохой тип переменной #420537


#0 by Astra TLB
...... Открываем книгу,ищем лист с нужным именем , если нет,добавляем, копируя из листа "шаблон". Все идет нормально, кроме PasteSpecial, получается просто Paste (Что тут не так ????, хотелось бы Special (ALL)) ....... ..... Вот Здесь и ругается на плохой тип переменной, хотя Отладчик Выдает тип переменной Тов= "строковый". Если вместо Тов Вставить vid, присвоенный в лоб парой строк выше, то все ОК ???? Тов пишется в ТЗ как реквизит Документа (с добавкой ЗначениеВСтроку) ........ КонецПроцедуры; Подскажите, плз,что не так
#1 by ТелепатБот
#2 by Жеглофф
Чего там ты пытаешь с ячейку записать? Справочник?
#3 by Жеглофф
ВидНоменклатуры - это чего такое?
#4 by genosse
B1:B200 - текстовые поля?
#5 by Astra TLB
Я  не в ячейку пишу, а ищу ( find) в столбце Ячейку с Value=Тов, дальше фиксирую строку, где нашлось и ... ВидНоменклатуры Здесь не принципиален ( Товар или Услуга) В1:В200 - формат Общий
#6 by Жеглофф
Ну напиши не Тов, а Тов.Наименование.
#7 by genosse
Сейчас потестил от формата поля не зависит... сделай должно быть все ок
#8 by Astra TLB
Не , переписывание Range  и Номенклатура.Наименование не спасло,Тов.Наименование тоже. Ну что же делать????
#9 by Жеглофф
Разберись с тем, что ищешь. Эксель не поймет, если ты там передашь элемент справочника, перечисление или еще чего то там.
#10 by Иду
ну типа привести значения в ТЗ к съедобному для экселя виду (только примитивы "пройдут" строка, число, дата): и, для обеспечения возможности поиска по агрегатным типам данных, Клиент Товар итд, нужно бы еще чего добавить... прочем неведомо, что потом с экселькой будет
#11 by Torquader
Чего у нас j делает - может там ноль, и 1С возвращает код ошибки (который Excel прекрасно понимает, но искать на листе не собирается).
#12 by Ковычки
фигня какая то
#13 by Torquader
Вот я тоже так думаю - надерут кусков кода из разных мест, а потом спрашивают - почему оно не работает - потому что не оттуда взяли.
#14 by Вьюн
Вот это Excel точно не поймет (ЗначениеВСтроку).
#15 by Ковычки
поймет
#16 by Вьюн
Но в Тов сидит что-то типа такого:
#17 by Astra TLB
Ребята, не дайти сойти с колес, ничего не понимаю, то ли Find из 1С не работает, то ли еще что. Даю короткий код, по которому видно что вытаскиваю, откуда и что хочу. ( найти в Еxcel таблице строку в которой сидит искомый....Товар) :)) ПРОцедура Сформировать;
#18 by los_hooliganos
А что у тебя в "A1:A10"? ид-шники товаров что-ли?
#19 by Torquader
Function Find(What, [After], [LookIn], [LookAt], [SearchOrder], [SearchDirection As XlSearchDirection = xlNext], [MatchCase], [MatchByte], [SearchFormat]) As Range    Member of Excel.Range Пример: Обратить внимание на тип Nothing, который и называется "Плохим" в 1С, если Excel ничего не нашла, а вот почему она не нашла - это уже другая история. P.S. ЗначениеВСтроку возвращает строку, конечно, не очень понятную для Excel, но всё-таки, строку. А если потом по ней искать товар, то надо также сначала сделать ЗначениеВСтроку, а не брать наименование.
#20 by Astra TLB
"Обратить внимание на тип Nothing, который и называется "Плохим" в 1С, если Excel ничего не нашла" Спасибо,Torquader, -в этом и ответ, т.к. надо было , не найдя в таблице екселя этот Товар, вставить новую пустую строку и записать новый Товар. Почему нельзя всю таблицу заново переписывать- это уже к данному вопросу не относится, но нельзя,чего-то будет занесено в ексель после переброски из 1С и т.д. Ну не получилось прямо из 1С со всеми наворотами, сделаем в два этапа,перенеся навороты в Макрос чистого екселя.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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