Версия для печати темы (https://pro1c.org.ua/index.php?s=94b0c89b2200d2f2c7067ca75cf461c5&showtopic=27248)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 7.7 _ Цикл не корректно обрабатывает команды

Автор: shkoda 29.12.15, 1:26

Всем здрасте!

Собственно, беда - при проходе Цикла в переменную Параметр загоняются НомерДокумента
и передаётся на обработку во внешнюю форму

в идеале внешняя форма получает список с номерами документов и "перепроводит" их
но в реальности "перепроводит" только самое первое что получает - только один документ и только первый

как быть?
как заставить этот цикл отрабатывать каждый раз при проходе и передаче параметра?


Процедура Перенести()

    ТабЗнач.ВыбратьСтроки();
        Пока ТабЗнач.ПолучитьСтроку() = 1 Цикл
            Если
            (СокрЛП(ТабЗнач.Статус) =  "Редактирован")
            И
            (СокрЛП(ТабЗнач.Выбрать) = "Да")
            Тогда
                НомерПриказа = Сред(ТабЗнач.Документ,19,9);
                
                    Если ФС.СуществуетФайл("\\123\123\ExtForms\123\!TEST\123.ert") = 1 Тогда
                    Параметр = СоздатьОбъект("СписокЗначений");
                    Параметр.ДобавитьЗначение(НачДата,"НачДата");
                    Параметр.ДобавитьЗначение(КонДата,"КонДата");
                    Параметр.ДобавитьЗначение(НомерПриказа,"НомерДок");
                    ОткрытьФорму("Отчет",Параметр,"\\123\123\ExtForms\123\!TEST\123.ert");    
                    Иначе
                    Предупреждение("Не найден файл обработки ........!!!");
                    КонецЕсли;
            КонецЕсли;
        КонецЦикла;

КонецПроцедуры


Вес спасибо! icon_beer17.gif

Автор: sava1 29.12.15, 7:48

Цитата(shkoda @ 29.12.15, 1:26) *
внешняя форма получает список с номерами документов

НЕ получает - в списке только один документ. А так с циклом все нормально.

Автор: nysysimara 29.12.15, 8:51

shkoda @ Сегодня, 1:26 *,
на время отладки добавте просмотр вашей ТабЗнач

ТабЗнач.ВыбратьСтроку();
ТабЗнач.ВыбратьСтроки();
Пока и т.д.

либо посмотрите отладчиком, что там за данные в ТабЗнач

Автор: Vofka 29.12.15, 9:04

shkoda @ Сегодня, 1:26 *,
Вы же список значений создаете внутри цикла и там же его передаете в обработку. То есть у вас в списке будет всегда только один документ. Полагаю, что надо ПЕРЕД циклом создать объект, наверное, ТаблицаЗначений с колонками НачДата, КонДата, НомерДок. Заполнить эту таблицу ВНУТРИ цикла и передать в обработку ПОСЛЕ цикла. В обработке, естественно, обрабатывать входящий параметр уже не как СписокЗначений, а как ТаблицуЗначений.

Автор: shkoda 30.12.15, 9:56

Vofka @ Вчера, 9:04 http://pro1c.org.ua/index.php?act=findpost&pid=106718,
отладчик многое интересное показал, решилось все применением ОткрытьФормуМодально - при этом не появляется ГрупповойКонтекст в возврате

sava1 @ Вчера, 7:48 *,
да нет же, получает
просто по одному документу за один проход)

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua