7.7 Цикл

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем Cooper-Mixal, 7 авг 2008.

  1. TopicStarter Overlay
    Cooper-Mixal
    Offline

    Cooper-Mixal Опытный в 1С

    Регистрация:
    29 июн 2008
    Сообщения:
    193
    Симпатии:
    0
    Баллы:
    26
    Добрый день!
    Подскажите какую альтернативу можно придумать.
    загружаем разные файлы в разные таблицы значений для дальнейшего сравнения.
    Код:
    ФормИмяСклада = ""; 
    ФормИмяСклада = ФС.НайтиСледующийФайл();
    s=1;
    Пока  ФормИмяСклада <> "" Цикл
    ТабЗнач+s = ЗагрузитьСклад(ИмяПути1+ФормИмяСклада);//Не присваиваются уникальные имена
    //для таблиц значений
    s=s+1;
    КонецЦикла;
    Сообщить("Файлов больше нет!");
    
    
  2. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Какой смысл этого колдовства? Если хотите отобразить несколько таблиц, тогда где-то так:
    Код:
    ФормИмяСклада = "";
    ФормИмяСклада = ФС.НайтиСледующийФайл();
    Пока  ФормИмяСклада <> "" Цикл
    ТабЗнач = СоздатьОбъект("Таблица");
    ТабЗнач.Открыть(ФормИмяСклада);
    ТабЗнач.Показать();
    КонецЦикла;
    Сообщить("Файлов больше нет!");
    
    
    Только, полагаю, еще необходимо использовать метод ФС.НайтиПервыйФайл()
  3. TopicStarter Overlay
    Cooper-Mixal
    Offline

    Cooper-Mixal Опытный в 1С

    Регистрация:
    29 июн 2008
    Сообщения:
    193
    Симпатии:
    0
    Баллы:
    26
    Функция найтиПервыйФайл() есть.
    Есть несколько таблиц xls разных складов.
    В функции ЗагрузитьСклад() вот в этой функции и создаются Таблицы значений и записываются в них данные из файлов xls, поэтому каждому новому файлу должна присваиваться своя таблица значений. Что скажешь?
  4. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    А что потом с этитми ТЗ будет? Или обрабатывай сразу в цикле или собирай в СписокЗначений.
  5. TopicStarter Overlay
    Cooper-Mixal
    Offline

    Cooper-Mixal Опытный в 1С

    Регистрация:
    29 июн 2008
    Сообщения:
    193
    Симпатии:
    0
    Баллы:
    26
    Я сделал проще, ввел еще одну колонку "№ Склада" и загружаю все файлы в одну таблицу. Все работает, но теперь другая загвоздка:

    Код:
    Для i = 1 По ТабЗнач.КоличествоСтрок()  Цикл      
    номенк1 = ТабЗнач.ПолучитьЗначение(i,"no_nom");
    con="";	
    Если ТабЗнач1.НайтиЗначение(Номенк1,con,"no_nom") =1 тогда   
    ГтабЗнач.НоваяСтрока();   
    ГТабЗнач.No_sklada = ТабЗнач.ПолучитьЗначение(i,"No_sklada");
    ГТабЗнач.no_nom = ТабЗнач.ПолучитьЗначение(i,"no_nom");
    ГТабЗнач.name   = ТабЗнач.ПолучитьЗначение(i,"name");
    КонецЕсли;
    КонецЦикла;
    

    Находит только одно значение в таблице
    Код:
    ТабЗнач1.НайтиЗначение(Номенк1,con,"no_nom") 
    
    , а у меня их несколько, как их все вытянуть?
  6. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    в цикле перед поиском напиши ВыбратьСтроки()
  7. TopicStarter Overlay
    Cooper-Mixal
    Offline

    Cooper-Mixal Опытный в 1С

    Регистрация:
    29 июн 2008
    Сообщения:
    193
    Симпатии:
    0
    Баллы:
    26
    Выбрать строки у меня есть, но перед циклом. А разницы никакой нет, что в цикле, что перед - результат одинаковый!!!

    А перебором делать - ужас как долго!!! десятки тыс.строк!!!!
  8. TopicStarter Overlay
    Cooper-Mixal
    Offline

    Cooper-Mixal Опытный в 1С

    Регистрация:
    29 июн 2008
    Сообщения:
    193
    Симпатии:
    0
    Баллы:
    26
    Хрен с ним, сделал перебором!!!! Вроде работает!
    Спасибо всем кто откликнулся!!!

    ЗЫ: Кста Stado_adama, только сейчас заметил, что ты с Сергиев-Посада, недалеко от него моя воинская часть стоит.

    Лавра очень понравилась, очень красиво, особенно летом! Хорошие все-таки у нас Developer'ы архитектуры на Руси были, есть и будут есть!!!
  9. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    упс... перечитал твой пост, и только сейчас понял что ты хочешь :)
    Код:
    Если ТабЗнач1.НайтиЗначение(Номенк1,con,"no_nom") = 1 тогда
    
    замени на
    Код:
    Пока ТабЗнач1.НайтиЗначение(Номенк1,con,"no_nom") = 1 Цикл
    
    а у тебя собственная военная часть или ты там в этой военной части 1ску программишь?
  10. TopicStarter Overlay
    Cooper-Mixal
    Offline

    Cooper-Mixal Опытный в 1С

    Регистрация:
    29 июн 2008
    Сообщения:
    193
    Симпатии:
    0
    Баллы:
    26
    Аха, точно, спасибо!!!

    Я там службу проходил! В "самоход" уходили из части чтобы в Посаде погулять! Этой весной демобилизовался! А сейчас в Череповце живу, работаю на СеверСтали! С "1С" только начал работать.

    Еще вопросик: Как очистить окно сообщений программно во время работы Обработки?
  11. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    ОчиститьОкноСообщений();
    Синтаксис:
    ОчиститьОкноСообщений()
    Назначение:
    Очистить окно сообщений.
  12. TopicStarter Overlay
    Cooper-Mixal
    Offline

    Cooper-Mixal Опытный в 1С

    Регистрация:
    29 июн 2008
    Сообщения:
    193
    Симпатии:
    0
    Баллы:
    26
    А я думал почему не идет, а оказывается окончание неправильно написал ОчиститьОкноСообщени"Я"();

    Спасибо!

Поделиться этой страницей