Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как найти документ?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
Vava
Известен сотрудник. Как найти ПриказОприеме на данного сотрудника? Нужно проверить реквизиты документа.
Пробовал так:

ПрикОПриеме = СоздатьОбъект("Документ.ПриказОПриеме"); 
ПрикОПриеме.ВыбратьПоЗначению(,,Сотрудник,Сотрик);

%-|
Спасибо!
Vofka
Мнея кажется как-то так (я так понимаю Сотрик - это фамилия):



ПрикОПриеме = СоздатьОбъект("Документ.ПриказОПриеме");
ПрикОПриеме.ВыбратьДокументы();
Пока ПрикОПриеме.ПолучитьДокумент() = 1 Цикл
Если Док.Сотрудник = СокрЛП("Сотрик") Тогда
// выполняем нужные действия
КонецЕсли;
КонецЦикла;
Vava
Спасибо! Так работает:
    ПрикОПриеме = СоздатьОбъект("Документ.ПриказОПриеме");
    ПрикОПриеме.ВыбратьДокументы();
    Пока ПрикОПриеме.ПолучитьДокумент() = 1 Цикл
        Если СокрЛП(ПрикОПриеме.Сотрудник) = СокрЛП(Сотрик) Тогда
            // выполняем нужные действия
        КонецЕсли;
    КонецЦикла;

Но долго. Быстрее никак нельзя?
Batchir
Попробуй через запрос. Что-то типа этого:


Запрос = СоздатьОбъект("Запрос");
ТекСотрудник = <твой сотрудник>;
ТекстЗапроса = "
|Док = Документы.ПриказОПриемке.ТекущийДокумент;
|Сотрудник = Документы.ПриказОПриемке.Сотрудник;
|Группировка Док;
|Условие (Сотрудник = ТекСотрудник);
|";
Запрос.Выполнить(ТекстЗапроса);
Пока Запрос.Группировка(1) =1 Цикл
// выполняем нужные действия
КонецЦикла;
Fynjy
ВыбратьПоЗначению(<?>,,,)
Синтаксис:
ВыбратьПоЗначению(<Дата1>,<Дата2>,<ИмяОтбора>,<Знач>)
Учим мат часть что ли ...
sarius
А еще быстрее прямым:

SELECT ПриказОПриемке.IDDOC [Ссылка $Документ.ПриказОПриемке]
FROM $Документ.ПриказОПриемке AS ПриказОПриемке
INNER JOIN _1SJOURN AS Журнал ON ПриказОПриемке.IDDOC = Журнал.IDDOC
WHERE ($ПриказОПриемке.Сотрудник= :Сотр)
AND ((Журнал.CLOSED & 1) = 1)

Сотрудника передать параметром
virusaka
Цитата(Vava @ 15.04.09, 20:23) необходимо зарегистрироваться для просмотра ссылки
Спасибо! Так работает:
    ПрикОПриеме = СоздатьОбъект("Документ.ПриказОПриеме");
    ПрикОПриеме.ВыбратьДокументы();
    Пока ПрикОПриеме.ПолучитьДокумент() = 1 Цикл
        Если СокрЛП(ПрикОПриеме.Сотрудник) = СокрЛП(Сотрик) Тогда
            // выполняем нужные действия
        КонецЕсли;
    КонецЦикла;

Но долго. Быстрее никак нельзя?


Ограничь период ПрикОПриеме.ВыбратьДокументы(ДатаН,ДатаК)
Vava
Понял в чем дело.
ВыбратьПоЗначению(<Дата1>,<Дата2>,<ИмяОтбора>,<Знач>)

не срабатывало, потому, что <Знач> имело тип строка...
mastervut
Обынковенным запросом к докам.

ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с Дата1 по Дата2;
|ПриказОПриемеНаРаботу = Документ.ПриказОПриемеНаРаботу.ТекущийДокумент;
|Сотрудник = Документ.ПриказОПриемеНаРаботу.Сотрудник;
|Группировка ПриказОПриемеНаРаботу;
|Условие(Сотрудник = ВыбСотрудник);
|"//}}ЗАПРОС
;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.