Имя: Пароль:
1C
1C 7.7
v7: ЗиК 7.7. Периодический.ВыбратьПоДокументу в внешней обработке.
0 Oleg_ka
 
13.01.15
07:09
Изначально стоит задача: найти все документы которые не делают движения по журналам расчетов и не создают данных по периодическим реквизитам.

Внешняя обработка в который пытаюсь найти документы НачисленияУдержанияСотрудника без движений и без созданных периодических реквизитов.
Использую код.

Доки=СоздатьОбъект("Документ.НачисленияУдержанияСотрудника");
  Доки.ВыбратьДокументы(,'31.12.2012');
    Пока Доки.ПолучитьДокумент()=1 Цикл
      МожноУдалить = 1;
    Для Номер=1 По Метаданные.ЖурналРасчетов() Цикл
    МетаданныеЖРК = Метаданные.ЖурналРасчетов(Номер);
    ЖРК = СоздатьОбъект(МетаданныеЖРК.ПолныйИдентификатор());
    Если ЖРК.ВыбратьЗаписиПоДокументу(Доки)=1 Тогда
        МожноУдалить = 0;
        Прервать;
    КонецЕсли;
     КонецЦикла;
     Периодический = СоздатьОбъект("Периодический");
     Если Доки.Выбран()=0 Тогда
    Предупреждение("Выберите документ!");
    Возврат;
     Иначе
        Сообщить("Выбран же!");
     КонецЕсли;
     Если Периодический.ВыбратьПоДокументу(Доки)=1 Тогда
    МожноУдалить = 0;
     КонецЕсли;
     Если МожноУдалить=1 Тогда
    Доки.Удалить(0);
     КонецЕсли;
КонецЦикла;

При выполнении ошибка:
>Выбран же!
>Если Периодический.ВыбратьПоДокументу(Доки)=1 Тогда
>Перед выполнением операции нужно вызвать 'ИспользоватьОбъект'!

Чего-то не пойму. А как та же самая конструкция нормально работает в Отчете ДвиженияДокументы.
1 Oleg_ka
 
13.01.15
07:46
Чудны дела твои...!

Так не работает:
Если Периодический.ВыбратьПоДокументу(Доки)=1 Тогда

Так не работает:
Если Периодический.ВыбратьПоДокументу(Доки.ТекущийДокумент())=1 Тогда

Так работает(!!!):
МойДок=Доки.ТекущийДокумент();
Если Периодический.ВыбратьПоДокументу(МойДок)=1 Тогда

Это у меня так 8-кой мозги скособочены что-ли?
2 dk
 
13.01.15
07:51
Если Периодический.ВыбратьПоДокументу(Доки.ТекущийДокумент())=1 Тогда
----
добавь в самом начале проверку на доки.проведен() - сэкономишь массы времени на остальных проверках ))
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.