Имя: Пароль:
1C
1С v8
Автоподбор мастера при формировании Заказ-наряда,в конфигурации 1с Альфа Авто
0 user933
 
02.09.15
23:48
Здравствуйте уважаемые форумчане.Прошу помочь советом.В нашей компании имеют право формировать Заказ-наряд несколько сотрудников(мастеров приёмщиков),соответственно имя сотрудника формирующего Заказ-наряд  со своего пк,должно автоматически попадать в поле "Мастер",но этого не происходит,а даже наоборот туда попадает сотрудник вообще не занимающийся формированием заказ нарядов.И так вопрос:Как настроить Заказ-наряд(где поковырять),чтобы имя сотрудника формирующего З/Н попадало в это поле автоматом,ну или оставалось пустым хотя бы,с возможностью ручного выбора.Прошу помогите.Заранее спасибо!
1 GreatOne
 
03.09.15
00:09
посмотри настройки пользователя. Операции-справочники-пользователи-настройки и т.д. Что там по умолчанию стоит в подстановку заказов
2 user933
 
03.09.15
00:17
Спасибо,буду смотреть.Теперь главное понять что там выбьрать чтобы н-р если З/н формирует Иванов со своего ПК,то чтобы он автоматом и подставлялся в поле Мастер,а если формирует З/Н Петров,со своего ПК,соответственно чтобы его имя атоматом в это поле попадало.Сейчас повторюсь каким-то образом стал попадать сотрудник вообще который раньше не имел отношения к формированию З/Н,при чём независимо от того с какого  пользователя(пк) этот з/н формируется...
3 GreatOne
 
03.09.15
00:46
звоните в рарус
4 Mikhail Volkov
 
03.09.15
05:56
(0) По задумке разработчиков Альфа-Авто в заказ-наряд мастер попадает из основания - заявки на ремонт. А заявку на ремонт может оформить только диспетчер. В крупных компаниях может так и есть, но обычно заявки на ремонт принимают менеджеры СТО (выполняют роль диспетчера - мастера-приемщика).
Во-первых у себя я ввел предопределенного сотрудника "Основной мастер" - мала помогло. Еще добавил параметр "Основной мастер" в ПВХ "Права и настойки" - пользователь сам назначал себе "Основной мастер". Стало лучше, но все же при скользящем графике 2-2-3 менеджеру приходится иногда принимать заявки на ремонт для не своей смены с другим сменным мастером, и настройка "Основной мастер" не годится.
По последнему варианту прописал графики работ для четных/нечетных смен (см. http://rarus.ru/forum/forum7/topic9339/?PAGEN_2=2), и использую свою функцию:

// Возвращает Мастера по графику работ, или указанного в настройках пользователя
// Планирую убрать в ПВХ ПраваИНастройки, а справочник НастройкаМастераЦеха - удалить
Функция МастерПоУмолчанию(Пользователь = Неопределено, НаДату = Неопределено, Цех = Неопределено) Экспорт
    Пользователь = ?(Пользователь = Неопределено, ПараметрыСеанса.Пользователь, Пользователь);
    
    ГрафикРаботы = РабочийГрафикРаботыНаДату(НаДату);
    Если ГрафикРаботы <> Неопределено Тогда
        Запрос=Новый Запрос("
        |ВЫБРАТЬ ПЕРВЫЕ 1
        |    Сотрудники.Ссылка
        |ИЗ
        |    Справочник.Сотрудники КАК Сотрудники
        |ГДЕ
        |    Сотрудники.ГрафикРаботы = &ГрафикРаботы
        |    И Сотрудники.Должность  = &Должность
        |    И Сотрудники.Цех        = &Цех
        |    И НЕ Сотрудники.ПометкаУдаления
        |    И НЕ Сотрудники.ФлагУволен
        |
        |УПОРЯДОЧИТЬ ПО
        |    Сотрудники.ДатаПриема УБЫВ");
        Запрос.УстановитьПараметр("ГрафикРаботы", ГрафикРаботы);
        Запрос.УстановитьПараметр("Должность",      Справочники.Должности.Мастер);
        Запрос.УстановитьПараметр("Цех", ?(Цех = Неопределено, Справочники.Цеха.ПустаяСсылка(), РодительСправочника(Цех)));
        Выборка = Запрос.Выполнить().Выбрать();
        Если Выборка.Следующий() Тогда
            Возврат Выборка.Ссылка;
        КонецЕсли;
    КонецЕсли;
    
    
    Мастер = обПраво("ОсновнойМастер",глПрава);
    Если ЗначениеЗаполнено(Мастер) Тогда
        Возврат Мастер;
    КонецЕсли;
    Сообщить("Внимание! Не определен мастер цеха по пользователю: "+ПараметрыСеанса.Пользователь, СтатусСообщения.Внимание);
    
    Запрос=Новый Запрос("
    |ВЫБРАТЬ ПЕРВЫЕ 1
    |    Сотрудники.Ссылка
    |ИЗ
    |    Справочник.Сотрудники КАК Сотрудники
    |ГДЕ
    |    Сотрудники.Должность = &Должность
    |    И НЕ Сотрудники.ПометкаУдаления
    |    И НЕ Сотрудники.ФлагУволен
    |
    |УПОРЯДОЧИТЬ ПО
    |    Сотрудники.ДатаПриема УБЫВ");
    Запрос.УстановитьПараметр("Должность", Справочники.Должности.Мастер);
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
        Возврат Выборка.Ссылка;
    КонецЕсли;
    Сообщить("Внимание! В справочнике сотрудников отсутствует 'Мастер'", СтатусСообщения.Внимание);
    Возврат Справочники.Сотрудники.ОсновнойМастер;  
КонецФункции // МастерПоУмолчанию()

// Возвращает нефиксированный график работы, если на заданную дату приходится рабочий день
// или Неопределено, если такой график не найден
Функция РабочийГрафикРаботыНаДату(НаДату) Экспорт
    Если обЗначениеНеЗаполнено(НаДату) Тогда
        Возврат Неопределено;
    КонецЕсли;

    Запрос = Новый Запрос;
    Запрос.Текст = "
    |ВЫБРАТЬ
    |    ГрафикРаботКалендарный.График
    |ИЗ
    |    РегистрСведений.ГрафикРаботКалендарный КАК ГрафикРаботКалендарный
    |ГДЕ
    |    ГрафикРаботКалендарный.ВидДня = &ВидДня
    |    И ГрафикРаботКалендарный.Дата = &Дата
    |    И НЕ ГрафикРаботКалендарный.График.Фиксированный";
                    
    Запрос.УстановитьПараметр("ВидДня", Перечисления.ВидДня.Рабочий);
    Запрос.УстановитьПараметр("Дата",    НачалоДня(НаДату));
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
        Возврат Выборка.График;
    КонецЕсли;
    Возврат Неопределено;    
КонецФункции

Вроде жалоб нет.
5 Mikhail Volkov
 
03.09.15
06:21
+ Конечно, сменный мастер цеха может уйти в отпуск, или на больничный. Тогда его "четный/нечетный график" ставят другому мастеру - перестановки графиков делается в справочнике Сотрудники.