Имя: Пароль:
1C
1C 7.7
v7: Выбор выделенных документов из СЗ
0 Mafiozaa
 
16.03.21
04:32
Приветствую есть сз, в которую по определенному условию попадают документы, потом по выбранным документам из сз, получить их подчиненные документы, загвоздка в том, что из предположим из 10 доков я выбираю 2, и выгружаю информацию, но он мне выгружает 2 раза одну и ту же информацию, тоесть 1 док.

Процедура ВыгрузитьМарк()
    ВидДокумента = СоздатьОбъект("Документ");
    Попытка
        Для А = 1 По СЗ.РазмерСписка() Цикл
            Если СЗ.Пометка(А) = 1 Тогда
                ВидДокумента.ВыбратьПодчиненныеДокументы(, , Заявка);
                ВидДокумента.ВыбратьСтроки();
                Пока ВидДокумента.ПолучитьДокумент() = 1 Цикл
                    Сообщить(ВидДокумента);
                    Если ВидДокумента.Вид() = "Маркировка" Тогда
                        Т.ДобавитьСтроку("----------");
                        Т.ДобавитьСтроку(""+ВидДокумента.ДатаДок);
                        Т.ДобавитьСтроку(ВидДокумента.НомерДок);
                        Т.ДобавитьСтроку(ВидДокумента.КоличествоСтрок());
                        Т.ДобавитьСтроку("__________");
                    КонецЕсли;
                КонецЦикла;
            КонецЕсли;
        КонецЦикла;
        Т.Записать(СокрЛП(ВыбКаталог)+"ДокДляТТ.txt");    
    Исключение
        Сообщить("У данного документа нет основания!");
    КонецПопытки;    
КонецПроцедуры
1 Mafiozaa
 
16.03.21
04:33
В сообщить вижу это

Состояние заявки  000003611 (30.10.20)
Операция по филиалу СТЮ-009795 (02.11.20)
Маркировка 0000000017
Состояние заявки  000003611 (30.10.20)
Операция по филиалу СТЮ-009795 (02.11.20)
Маркировка 0000000017
2 Mafiozaa
 
16.03.21
05:49
Решил
3 Злопчинский
 
16.03.21
15:31
трэш какой-то

.
ВидДокумента.ВыбратьСтроки();
- это для чего?
4 Злопчинский
 
16.03.21
15:33
При чем здесь вообще исключение?! туда при таком коде ДЛЯ ОБНАРУЖЕНИЯ что у Заявка нет ПОДЧИНЕННЫХ (почему речь в исключении об Основании?!) - вообще не попадет
5 Arbuz
 
16.03.21
16:12
Процедура ВыгрузитьМарк()
    ВидДокумента = СоздатьОбъект("Документ");
    Для А = 1 По СЗ.РазмерСписка() Цикл
        Если СЗ.Пометка(А) = 1 Тогда
            Сообщить("Заявка: " + СЗ.ПолучитьЗначение(А));  // Заявка
            Если
            ВидДокумента.ВыбратьПодчиненныеДокументы(, , СЗ.ПолучитьЗначение(А))  // Заявка
            = 1 Тогда
                Пока ВидДокумента.ПолучитьДокумент() = 1 Цикл
                    Сообщить("    " + ВидДокумента);
                    Если ВидДокумента.Вид() = "Маркировка" Тогда
                        Т.ДобавитьСтроку("----------");
                        Т.ДобавитьСтроку(""+ВидДокумента.ДатаДок);
                        Т.ДобавитьСтроку(ВидДокумента.НомерДок);
                        Т.ДобавитьСтроку(ВидДокумента.КоличествоСтрок());
                        Т.ДобавитьСтроку("__________");
                    КонецЕсли;
                КонецЦикла;
            Иначе
                Сообщить("    нет основания!");
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    Попытка
        Т.Записать(СокрЛП(ВыбКаталог)+"ДокДляТТ.txt");    
    Исключение
        Сообщить("не записано!");
    КонецПопытки;    
КонецПроцедуры
6 Злопчинский
 
16.03.21
18:43
(5) есть мнение что Т.Записать не породит исключения в случае проблемы с записью
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.