Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Как найти документ?          
Vava Подменю пользователя
сообщение 14.04.09, 21:45
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

Известен сотрудник. Как найти ПриказОприеме на данного сотрудника? Нужно проверить реквизиты документа.
Пробовал так:

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

%-|
Спасибо!

Vofka Подменю пользователя
сообщение 15.04.09, 6:50
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

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



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

Спасибо сказали: Vava,

Vava Подменю пользователя
сообщение 15.04.09, 20:23
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

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

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

Batchir Подменю пользователя
сообщение 15.04.09, 21:45
Сообщение #4

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Попробуй через запрос. Что-то типа этого:


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

Спасибо сказали: Vava,

Fynjy Подменю пользователя
сообщение 16.04.09, 7:41
Сообщение #5

Сенсей Чака Норриса
**********
За вредность
Группа: Пользователи
Сообщений: 1994
Из: Ахметов сити
Спасибо сказали: 333 раз
Рейтинг: 0

ВыбратьПоЗначению(<?>,,,)
Синтаксис:
ВыбратьПоЗначению(<Дата1>,<Дата2>,<ИмяОтбора>,<Знач>)
Учим мат часть что ли ...


Signature

sarius Подменю пользователя
сообщение 16.04.09, 8:40
Сообщение #6

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 219
Из: Киев
Спасибо сказали: 36 раз
Рейтинг: 0

А еще быстрее прямым:

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

Сотрудника передать параметром


Signature
Возьму интерна (Киев)

Спасибо сказали: Vava,

virusaka Подменю пользователя
сообщение 16.04.09, 16:15
Сообщение #7

Молчаливый
*
Группа: Пользователи
Сообщений: 2
Спасибо сказали: 0 раз
Рейтинг: 0

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

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


Ограничь период ПрикОПриеме.ВыбратьДокументы(ДатаН,ДатаК)

Vava Подменю пользователя
сообщение 18.04.09, 18:16
Сообщение #8

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

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

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

mastervut Подменю пользователя
сообщение 03.07.09, 9:08
Сообщение #9

Общительный
**
Группа: Пользователи
Сообщений: 21
Спасибо сказали: 11 раз
Рейтинг: 0

Обынковенным запросом к докам.

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

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 18.04.24, 13:13
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!