Нужно чтобы внутренний отчет "РеестрДокументов" запускался при старте 1С, но если только пользователь как ОператорККМ. В отчет должно включить документы по текущему складу (ОтчетККМ, Переоценка(Розница), ПеремещениеТМЦ, ВозвратОтПокупателя(Розница)) который указан в настройках данного Пользователя.
Вот в глобально модуле дописка:
Процедура глПечатьРеестраНаСтарте() Экспорт
Перем ВсеДокументы, ВыбранныеДокументы, ТекЖурнал;
Перем ИмяОтбора, ЗначениеОтбора, Представление;
глПолучитьСписокВидов(, ВсеДокументы, ВыбранныеДокументы);
Расшифровка = СоздатьОбъект("СписокЗначений");
Расшифровка.Установить("Отчет", "РеестрДокументов");
// все настройки помещаем в список
Расшифровка.Установить("ДатаНачала", РабочаяДата()-2);
Расшифровка.Установить("ДатаКонца" , РабочаяДата());
ТекФирма = 0;
ТекЮрЛицо = 0;
ТекКонтрагент = 0;
ТекДоговор = 0;
ТекАвтор = 0;
ТекПроект = 0;
ТекСклад = 0;
ТекСклад = глПользователь.ОсновнойСклад;
Расшифровка.Установить("ВыбФирма" , ТекФирма);
Расшифровка.Установить("ВыбЮрЛицо" , ТекЮрЛицо);
Расшифровка.Установить("ВыбКонтрагент", ТекКонтрагент);
Расшифровка.Установить("ВыбДоговор" , ТекДоговор);
Расшифровка.Установить("ВыбАвтор" , ТекАвтор);
Расшифровка.Установить("ВыбПроект" , ТекПроект);
Расшифровка.Установить("ВыбСклад" , ТекСклад);
Расшифровка.Установить("ВклПроведенные", 1);
Расшифровка.Установить("ВклТекущие" , 1);
Расшифровка.Установить("ВклУдаленные" , 0); // помеченные на удаление не включаем
Расшифровка.Установить("ВыбранныеДокументы", ВыбранныеДокументы);
Расшифровка.Установить("ВсеДокументы" , ВсеДокументы);
глОбработкаРасшифровки(Расшифровка,"","");
КонецПроцедуры //глПечатьРеестраНаСтарте
В процедуру ПриНачалеРаботыСистемы добавлен вызов:
глПечатьРеестраНаСтарте();
В таком виде срабатывает со всеми правами и у любого пользователя. Подскажите пожалуйста, что подправить.
Вот в глобально модуле дописка:
Процедура глПечатьРеестраНаСтарте() Экспорт
Перем ВсеДокументы, ВыбранныеДокументы, ТекЖурнал;
Перем ИмяОтбора, ЗначениеОтбора, Представление;
глПолучитьСписокВидов(, ВсеДокументы, ВыбранныеДокументы);
Расшифровка = СоздатьОбъект("СписокЗначений");
Расшифровка.Установить("Отчет", "РеестрДокументов");
// все настройки помещаем в список
Расшифровка.Установить("ДатаНачала", РабочаяДата()-2);
Расшифровка.Установить("ДатаКонца" , РабочаяДата());
ТекФирма = 0;
ТекЮрЛицо = 0;
ТекКонтрагент = 0;
ТекДоговор = 0;
ТекАвтор = 0;
ТекПроект = 0;
ТекСклад = 0;
ТекСклад = глПользователь.ОсновнойСклад;
Расшифровка.Установить("ВыбФирма" , ТекФирма);
Расшифровка.Установить("ВыбЮрЛицо" , ТекЮрЛицо);
Расшифровка.Установить("ВыбКонтрагент", ТекКонтрагент);
Расшифровка.Установить("ВыбДоговор" , ТекДоговор);
Расшифровка.Установить("ВыбАвтор" , ТекАвтор);
Расшифровка.Установить("ВыбПроект" , ТекПроект);
Расшифровка.Установить("ВыбСклад" , ТекСклад);
Расшифровка.Установить("ВклПроведенные", 1);
Расшифровка.Установить("ВклТекущие" , 1);
Расшифровка.Установить("ВклУдаленные" , 0); // помеченные на удаление не включаем
Расшифровка.Установить("ВыбранныеДокументы", ВыбранныеДокументы);
Расшифровка.Установить("ВсеДокументы" , ВсеДокументы);
глОбработкаРасшифровки(Расшифровка,"","");
КонецПроцедуры //глПечатьРеестраНаСтарте
В процедуру ПриНачалеРаботыСистемы добавлен вызов:
глПечатьРеестраНаСтарте();
В таком виде срабатывает со всеми правами и у любого пользователя. Подскажите пожалуйста, что подправить.
По теме из базы знаний
Найденные решения
(10)
правильно сделать пользователя (даже не существующего (какого-нить виртуального), например пользователь с именем "ШаблонОсновной". прописать в нем ВРУЧНУЮ нужные настройки.
у всех кто работает по основному шаблону настроек - как раз поставить галку "наследуется из настроек пользователя" и указаит что наследуется от пользователя "ШаблонОсновной".
конструкция
ТекСклад = глЗначениеПоУмолчанию("ОсновнойСклад");
- самостоятельно смотрит в настроки текущего глПользователь (под которым выполняется этот код) и тянет склад из самого пользователя или из настроек от наследуемого пользователя. Точно так же получать "ОсновнаяФирма" и прочие настройки пользователя - "имя" получаемой настройки пользовтаеля соответсвует идентификатору настроечных реквизитов в Справочник.Пользователи
Соответсвенно, у тебя когда стояла галка "наследовать..." и ты прописал код какя написал - то в в настройках наследуемого пользователя склад был не задан, поэтому и получалась бяка.
Работать с наследованием в настройках = проще, не надо править реквизиты у всех пользователей, а только у "ШаблонОсновной"
у меня стояла галка "наследуются из настроек пользователя".
правильно сделать пользователя (даже не существующего (какого-нить виртуального), например пользователь с именем "ШаблонОсновной". прописать в нем ВРУЧНУЮ нужные настройки.
у всех кто работает по основному шаблону настроек - как раз поставить галку "наследуется из настроек пользователя" и указаит что наследуется от пользователя "ШаблонОсновной".
конструкция
ТекСклад = глЗначениеПоУмолчанию("ОсновнойСклад");
- самостоятельно смотрит в настроки текущего глПользователь (под которым выполняется этот код) и тянет склад из самого пользователя или из настроек от наследуемого пользователя. Точно так же получать "ОсновнаяФирма" и прочие настройки пользователя - "имя" получаемой настройки пользовтаеля соответсвует идентификатору настроечных реквизитов в Справочник.Пользователи
Соответсвенно, у тебя когда стояла галка "наследовать..." и ты прописал код какя написал - то в в настройках наследуемого пользователя склад был не задан, поэтому и получалась бяка.
Работать с наследованием в настройках = проще, не надо править реквизиты у всех пользователей, а только у "ШаблонОсновной"
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
С пользователями разобрался. Добавил строку после описания переменных:
Если НазваниеНабораПрав() = "ОператорККМ" Тогда
..............
..............
КонецЕсли;
КонецПроцедуры
Остается пока запинка с отбором документов в отчет
Если НазваниеНабораПрав() = "ОператорККМ" Тогда
..............
..............
КонецЕсли;
КонецПроцедуры
Остается пока запинка с отбором документов в отчет
(6) Расшифровка.Установить("ВыбранныеДокументы", ВыбранныеДокументы);
Расшифровка.Установить("ВсеДокументы" , ВсеДокументы);
- это и есть передча параметров, через глобальную переменную Расшифровка.
Следует определить значение переменных ВыбранныеДокументы и ВсеДокументы
Расшифровка.Установить("ВсеДокументы" , ВсеДокументы);
- это и есть передча параметров, через глобальную переменную Расшифровка.
Следует определить значение переменных ВыбранныеДокументы и ВсеДокументы
(10)
правильно сделать пользователя (даже не существующего (какого-нить виртуального), например пользователь с именем "ШаблонОсновной". прописать в нем ВРУЧНУЮ нужные настройки.
у всех кто работает по основному шаблону настроек - как раз поставить галку "наследуется из настроек пользователя" и указаит что наследуется от пользователя "ШаблонОсновной".
конструкция
ТекСклад = глЗначениеПоУмолчанию("ОсновнойСклад");
- самостоятельно смотрит в настроки текущего глПользователь (под которым выполняется этот код) и тянет склад из самого пользователя или из настроек от наследуемого пользователя. Точно так же получать "ОсновнаяФирма" и прочие настройки пользователя - "имя" получаемой настройки пользовтаеля соответсвует идентификатору настроечных реквизитов в Справочник.Пользователи
Соответсвенно, у тебя когда стояла галка "наследовать..." и ты прописал код какя написал - то в в настройках наследуемого пользователя склад был не задан, поэтому и получалась бяка.
Работать с наследованием в настройках = проще, не надо править реквизиты у всех пользователей, а только у "ШаблонОсновной"
у меня стояла галка "наследуются из настроек пользователя".
правильно сделать пользователя (даже не существующего (какого-нить виртуального), например пользователь с именем "ШаблонОсновной". прописать в нем ВРУЧНУЮ нужные настройки.
у всех кто работает по основному шаблону настроек - как раз поставить галку "наследуется из настроек пользователя" и указаит что наследуется от пользователя "ШаблонОсновной".
конструкция
ТекСклад = глЗначениеПоУмолчанию("ОсновнойСклад");
- самостоятельно смотрит в настроки текущего глПользователь (под которым выполняется этот код) и тянет склад из самого пользователя или из настроек от наследуемого пользователя. Точно так же получать "ОсновнаяФирма" и прочие настройки пользователя - "имя" получаемой настройки пользовтаеля соответсвует идентификатору настроечных реквизитов в Справочник.Пользователи
Соответсвенно, у тебя когда стояла галка "наследовать..." и ты прописал код какя написал - то в в настройках наследуемого пользователя склад был не задан, поэтому и получалась бяка.
Работать с наследованием в настройках = проще, не надо править реквизиты у всех пользователей, а только у "ШаблонОсновной"
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот