ВыбратьПоЗначению

Тема в разделе "1C и всё что с ней связано", создана пользователем Helena, 5 апр 2007.

Статус темы:
Закрыта.
  1. Helena

    Helena Гость

    У меня 3 вида документов: изменение, увольнение и прием. Мне надо выбрать все документы, содержащие заданное поле.
    Спр=СоздатьОбъект("Справочник.Штатное");

    Прием=СоздатьОбъект("Документ.Прием");
    Измен=СоздатьОбъект("Документ.Изменения");
    Увольнение=СоздатьОбъект("Документ.Увольнение");
    Измен.ВыбратьПоЗначению(,Период,"Штатное",Спр.ТекущийЭлемент);

    1 ошибка – выборка делается по конкретному документу
    2 – даже если сделать только по доку Изменение, то выдает ошибку «Объект - документ определенного вида!»
    Подскажите, пожалуйста, как тут быть?
     
  2. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Измен=СоздатьОбъект("Документ");
    Измен.ВыбратьПоЗначению(,Период,"Штатное",Спр.ТекущийЭлемент);
    Документ должен быть неопределенного вида.
     
  3. LSH

    LSH Гость

    Для: Helena

    Винмательно читаем ЖКК или помощь по встроенному языку.

    Метод ВыбратьПоЗначению применяется только для документа НЕОПРЕДЕЛЕННОГО вида и ТОЛЬКО по общим реквизитам документов либо графам отбора журналов:

    Док = СоздатьОбъект("Документ");
    Док.ВыбратьПоЗначению(НачДата,КонДата,"Какой_то_Общий_реквизит",Значение_Этого_реквизита);
    ...
     
  4. Helena

    Helena Гость

    Все равно ошибка - "Объект - документ определенного вида!"

    Сотр=СоздатьОбъект("Справочник.Сотрудники");
    Сотр.ВыбратьЭлементыПоРеквизиту("Штатное",Спр.ТекущийЭлемент(),,);

    ошибка - Неверное имя реквизита!
    хотя реквизист Штатное в спавочник Сотрудники ТОЧНо есть

    кажется пока ошибки закончились
    спасибо :ph34r:
     
  5. Helena

    Helena Гость

    Док=СоздатьОбъект("Документ");
    Док.ВыбратьПоЗначению(,Период,"Сотрудник",Сотр.ТекущийЭлемент());
    Пока Док.ПолучитьДокумент()=1 Цикл
    Если Док.ТекущийДокумент()="Увольнение" Тогда
    Прервать;
    Иначе
    Если Док.Категория="Штатники" Тогда
    тзш.новаястрока();
    тзш.фио=Док.сотрудник;
    тзш.расш=сотр.текущийэлемент();
    КонецЕсли;
    КонецЕсли;

    Все документы вида Док содержат поле Категория, но почему-то все равно выдается ошибка: "Поле агрегатного объекта не обнаружено (категория)"
    :)
     
Статус темы:
Закрыта.

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