Не могу написать правильно цикл. #746702


#0 by dred999
Привет Всем есть задача. Грузить в УТ 11.1 Данные из екселя. Сделал обработку но дойдя до первой строчки екселя она зацикливается и крутиться на месте. Не могу понять что такое. вот код: Циклится на 1-й строчке екселя а дальше не спускаеться хоть колонка ИД содержит значения. Помогите добрые люди
#1 by Fish
Так где у тебя цикл по строкам экселя?
#2 by dred999
Пока ЗначениеЗаполнено(ИД)=Истина Цикл
#3 by SirRoland
Во-первых, ЗначениеЗаполнено(ИД)=Истина Это - фу, достаточно ЗначениеЗаполнено(ИД) Во-вторых, ИД в цикле не меняется. "Отсюда и бесконечный цикл"
#4 by Fish
Нет. Это у тебя бесконечный цикл в случае, если в 3-й строке экселя есть ИД :))
#5 by Ненавижу 1С
у тебя условие Пока ЗначениеЗаполнено(ИД)=Истина Цикл не изменяется в цикле следовательно цикл будет бесконечным
#6 by mTema32
"Сообщить("Валер, создан клиент..." - эта пять я считаю!)))
#7 by piter3
а нельзя по ИД сразу фильтр сделать,чтобы не обрабатывать в 1С
#8 by palpetrovich
а это не пять? ) Пока ЗначениеЗаполнено(ИД)=Истина Цикл Запрос = Новый Запрос; ...
#9 by dred999
Как правильно написать чтоб он шел дальше? Проверять ечть ли в следующей троке ИД
#10 by dred999
Как правильно написать чтоб он шел дальше? Проверять есть ли в следующей строке ИД
#11 by Fish
Правильно. А где ты это делаешь?
#12 by samozvanec
вообще там область ячеек берется в комсейфэрей, а у него есть метод Выгрузить, получается обычный массив, с которым очень удобно работать. а у тебя жесть какая-то. ну и счетчик ты не ++
#13 by Ёпрст
ну так и пиши, цикл пока не конец файла или цикл от 1 до количества строк в файле..
#14 by palpetrovich
...
#15 by Ёпрст
а не ту ахинею, что у тебя в бесконечном цикле сейчас
#16 by ejikbeznojek
мб так? ... КонецЦикла
#17 by Timon1405
намечается убийца Мега-прайса
#18 by ejikbeznojek
а Сообщить ("Валер, ты чего грузишь то??" + Покупатель + " уже есть" );
#19 by dred999
))
#20 by dred999
Не работает
#21 by ejikbeznojek
Что именно? количество строк не определяется? Напиши временно 1000 и в цикле если Лист.Cells(Строка,1).Text="" тогда продолжить;конецесли;
#22 by palpetrovich
а так:
#23 by dred999
Как мне сказать чтоб он перескачил на другую сточку (проверить есть ли в ней данные и начал выполнять запрос)?
#24 by ejikbeznojek
#25 by ejikbeznojek
Тебе то нужно чтобы менялась строчка в цикле вот тут ты перебираешь строчки с 3 по 1000 и если в 1й колонке пусто, ты её пропускаешь. В идеале бы не выполнять никаких, запросов в цикле...Но для начала, чтобы хоть в каком то виде работало, вставляешь в этот цикл свой запрос и т.д. Для Строка  = 3 по 1000 цикл если Лист.Cells(Строка,1).Text="" тогда продолжить;конецесли;
#26 by palpetrovich
что-то не так делаешь, - работает, проверил:
#27 by ejikbeznojek
А ещё в твоём коде _СпрПокупатель= Справочники.Партнеры.СоздатьЭлемент;     Не хватает _СпрПокупатель.записать;
#28 by dred999
Да это вижу.
#29 by ХардHard
Еще совет : Если ищешь по наименованию, выгрузи запрос в ТЗ и пройди циклом по наименованиям всем.Удали пробелы , сделай Нрег, удали всякие незначащие символы. По этой строке и ищи.
#30 by dred999
Спасибо.
#31 by depthzer0
ну дык занести код в цикл и увеличивать Строка
#32 by ejikbeznojek
Это следующая стадия мастерства, от той что есть у ТС))) Кроме того если Партнёров периодически создают руками,  и между именем и фамилией не 1 пробел, а два, тогда результат запроса будет пустой)
#33 by dred999
Все нашел в чем проблемма ребят - сам торможу. Я не говорил коду что перед концом цикла Строка = Строка +1;  Вот он и крутился по кругу!
#34 by Fish
Так по-хорошему при записи надо двойные пробелы в ФИО убирать.
#35 by dred999
Но тут вот еще новый гим...й в екселе с покупателями есть столбец email и в справочнике куда я это вношу есть табличная часть "электронный адрес" вот как к ней обратиться....?
#36 by ХардHard
РегистрСведений.КонтактнаяИнформация скорее всего.
#37 by Fish
Сейчас по религии БСП кошерно Контактную информацию в ТЧ хранить.
#38 by dred999
Хмм щас покопаю
#39 by ХардHard
Ответил что первое на ум пришло %). УТ 11 под рукой нет.
#40 by ukolabrother
Сообщить("Валер, запросы в цикле это плохо!");
#41 by ХардHard
Сообщить("Валер, прости что так долго !");
#42 by dred999
)))
#43 by hhhh
Сообщить("Валер, прости!!!");
#44 by dred999
УТ 11 Последний релиз это нечто.... Просто волосы дыбом встают
#45 by ukolabrother
Сообщить("Валер, это из-за меня у тебя волосы дыбом?");
#46 by ДенисЧ
#47 by mTema32
В УТ 11 у справочника "Контрагенты" есть табличная часть "КонтактнаяИнформация", где есть реквизит АдресЭП. Вот туда и пиши данные экселя.
#48 by dred999
ММдддаааа
#49 by dred999
Я знаю что она там есть. но обратиться к АдресЭП не получается Отвечает Поле объекта не обнаружено (АдресЭП)
#50 by Fish
Правильно. тк. Надо писать как-то так:
#51 by dred999
Ок
#52 by dred999
Прописал, ошибки нет но почту не вставляет
#53 by Одинесю
А записываешь?
#54 by ХардHard
Обратись к специалисту.
#55 by dred999
Да конечно записываю. В справочнике Партнеры фамилия имя загоняются, создается новый партнер, но электронкка ни как не записывается
#56 by dred999
#57 by dred999
Почта        = Лист.Cells(Строка,5).Text;
#58 by mTema32
#59 by dred999
Пробую
#60 by ukolabrother
Сообщить("Валера, твой выход");
#61 by dred999
Нет. Не записывается
#62 by hhhh
чего пишет? валера, клиент уже есть?
#63 by Fish
С контактной информацией в БСП всё не так просто. Посмотри, как в типовой форме записывается КИ.
#64 by ejikbeznojek
Ты пошутил что-ли?) Ты предлагаешь ТСу, который только начал разбираться в коде, разобраться как что-то происходит в УТ?) Если доступ дашь, могу глянуть.
#65 by Fish
Ну когда-то надо начинать разбираться в работе типовых механизмов. И это имхо лучший способ.
#66 by mTema32
Короче: Вместо непонятных конструкций вставь слово "Почта".
#67 by mTema32
Кроме первых трех строчек конечно)
#68 by mTema32
Последняя строчка тебе тоже не нужна.
#69 by dred999
Ого, вот теперь вообще ни чего не понял...
#70 by dred999
ААААААААААААААААААААА... УТТТТТТТТТТТТ.... Как же в справочник Партнеры записать электронную почтууууу...
#71 by mTema32
Ппц!
#72 by dred999
ВСЕ!!! Заработало!!! Спасибо!!! Ничего себе он куда запихивает это.... Жесть просто! Все спасибо!
#73 by mTema32
Алиллуйа!!! Вообще ТС - сегодня тебе повезло. Не каждый день тут отвечают на такие вопросы. Обычно книжки курить или типовые.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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