0
Отвечен

Карточка-справка 417 от 2015 года. Указывать одного из нескольких возможных исполнителей

Анатолий Русин 6 лет назад в Справки, квитки и прочие формы печати обновлен Гашков Николай (Эксперт) 5 лет назад 14

Добрый день!

При формировании карточки справки 417 от 2015 года в подножие проставляется ответственный исполнитель, указанный в настройках таблиц и форм печати.

Image 2429


Однако у клиента несколько расчётчиков, каждый из которых отвечает за свои подразделения. Поэтому указать одного исполнителя, как на скриншоте выше - недостаточно.

Условно говоря, если сотрудник по основной должности работает в подразделении №1, то необходимо подставлять в подножие справки Расчётчика 1 - Иванова И.И. А если сотрудник по основной должности работает в подразделении 2, то подставлять в подножие карточки-справки Расчётчика 2 - Петрова П.П.

И так далее.

Подскажите, пожалуйста, как лучше это сделать?

Возможно, как-то выкрутить эту настройку через клиентские/сетевые рабочие места? Сейчас настройка таблиц и форм печати в ADMIN.BAT установлена общая для всех расчётчиков. Возможно, есть способ конкретно для этого поля записать в каждую локально установленную КЗ своего исполнителя? Проблема в том, что остальные настройки карточки-справки должны остаться общими.

Или, может, как-то через скриптовую функцию подставлять нужные должность и ФИО ответственного исполнителя?

Клиент при постановке и обсуждении задачи предложил при формировании ПФ выводить справочник расчётчиков с должностями и давать возможность выбрать нужного.

Подскажите, пожалуйста, как лучше подойти к решению данной проблемы.

Script
ХОРОШО, МНЕ ПОНРАВИЛОСЬ
Оценка удовлетворенности от Анатолий Русин 5 лет назад
+1
На рассмотрении

Добрый день!

  1. Заменяете скрипт в ..\script\forms\ f417_2015.S  (в обновление войдет)
  2. В настройке пишете скриптовую функцию, в которой самостоятельно определяете исполнителя.

например, пишем в настройке 

return GetUserName();

С ФИО исполнителя получилось, спасибо!

А как быть с должностью?

Аналогично... пишете функцию, которая вернет должность исполнителя.

что то вроде этого:

return GetUserDolgnost();

Здравствуйте.

Возможно, как-то выкрутить эту настройку через клиентские/сетевые рабочие места?

Возможно. Ресурс T_CNFPRN должен быть локальным.

Возможно, есть способ конкретно для этого поля записать в каждую локально установленную КЗ своего исполнителя? 

Если ресурс T_CNFPRN будет локальным, то блок "Прочее" можно заполнить для каждого рабочего места своими данными.

Проблема в том, что остальные настройки карточки-справки должны остаться общими.

В чём именно проблема? Все остальные поля настройки у всех расчётчиков должны совпадать.

Или, может, как-то через скриптовую функцию подставлять нужные должность и ФИО ответственного исполнителя?

"Чтобы продать что-то ненужное, надо сначала купить что-то ненужное" © Кот Матроскин.

ФИО ответственного исполнителя (расчётчика) можно взять из user.tab. 

Должность расчётчика не хранится ни где, поэтому чтобы где-то её взять, надо её туда сначала положить, потом написать скриптовую функцию для извлечения должности из этого "откудата" и вставить вызов этой функции в поле должность. 

Гараздо больший геморрой (ИМХО) чем разделение  ресурса T_CNFPRN...

Клиент при постановке и обсуждении задачи предложил при формировании ПФ выводить справочник расчётчиков с должностями и давать возможность выбрать нужного.

Можно ещё проще  - скриптом сделать запрос ФИО и должности и "повесить" вызов этого скрипта на какое-либо событие (например - "Начало печати"). 

Но "локализация" T_CNFPRN всё же проще ;))

Добрый день.

Ещё один клиент очень хочет иметь возможность мультивыбора подписанта. Ну т.е., как выше говорил Анатолий: "Выводить справочник расчётчиков с должностями и давать возможность выбрать нужного".

GetValueClassifIfExist и GetValueClassif вытаскивают значение из сетки/справочника, то только если в параметрах явно указать ключевое значение. Может всё-же есть скриптовая функция, позволяющая выбирать нужную строку в "визуальном" режиме?

Добрый день.

Ещё один клиент очень хочет иметь возможность мультивыбора подписанта

Мультивыбор - это когда в диалоге можно отметить несколько вариантов...

Может всё-же есть скриптовая функция, позволяющая выбирать нужную строку в "визуальном" режиме?

Можно воспользоваться PanelValueFromMap() пример использования есть в sbr_xml.S

Я этот вариант рассматривал. Есть один большой минус: пользователь не сможет самостоятельно вносить изменения в список подписантов, т.к. он (список) будет "зашит" в скрипте.

+1

Наполнять PanelValueFromMap() можете из сетки, которая доступна пользователям

1)Добавляем в "Прочие справочники для организации"  сетку с подписантами

2)в USFUNCRW.S добавляем ф-цию:

UserGetSingerF417()
{
ReLoadScriptModule("user\\SignerHelper");
var fio=UserGetSingerF417Impl();
UnLoadScriptModule("user\\SignerHelper");
return fio;
}

3)Копируем SignerHelper.s в ..\SCRIPT\user\

4)Использовать так:

return UserGetSingerF417();

_singer.zip

Выяснился неприятный момент: если справки печатать сразу на нескольких сотрудников, то запрос появляется для каждой. Как можно этого избежать?

запросите подписанта в функции "Начало приема из ЛС"

в качестве примера смотрим  запрос вида карты  в таблице Открытие счетов в Сбербанке (XML)

Сервис поддержки клиентов работает на платформе UserEcho