Версия для печати темы (https://pro1c.org.ua/index.php?s=0d2e4e48ab9ae7f7cc32c09e50bc6883&showtopic=12901)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ 1С:Специалист по Управлению торговлей 8 _ Вопрос по конфигурированию № 3

Автор: TipsyKID 13.06.13, 8:47

Добрый день!

Билет не сфоткал sad.gif . По памяти.
Холдинг "Рога и копыта" решили начать систематизировать данные о дочерних компаниях, а именно "Управленческую себестоимость" .
Для этого они решили добавить колонку "Управленческая себестоимость" в поступление товаров и услуг.

Условия :

1) Необходимо что бы новая колонка табличной части была видна и доступна только пользователям с разрешенными полномочиями. При этом привязки
к роли быть не должно, т.к. к работе с данной колонкой могут иметь доступ люди с разным набором прав. ( создавать отдельную роль тоже нельзя).

2) В системе должна быть реализована возможность узнать состояние склада ( остатки на указанную дату, обороты за период) по управленческой себестоимости.

3) Управленческая себестоимость закрепляется за партией и переоценке не подлежит. Любой документ который тем или иным способом затрагивает партии товаров
должен работать и с управленческой себестоимостью , например такие документы как "Реализация товаров и услуг" , "Перемещение" и т..д..

Автор: Vofka 13.06.13, 9:14

У меня был этот билет smile.gif

Автор: TipsyKID 13.06.13, 9:34

Цитата(Vofka @ 13.06.13, 10:14) *
У меня был этот билет smile.gif

Чего ж не опубликовали ?

Автор: Vofka 13.06.13, 9:51

Цитата(TipsyKID @ 13.06.13, 10:34) http://pro1c.org.ua/index.php?act=findpost&pid=70472
1) Необходимо что бы новая колонка табличной части была видна и доступна только пользователям с разрешенными полномочиями. При этом привязкик роли быть не должно, т.к. к работе с данной колонкой могут иметь доступ люди с разным набором прав. ( создавать отдельную роль тоже нельзя).

Для этого создается в дополнительных правах новое свойство и, соответственно, видимость устанавливается по ней.

Цитата(TipsyKID @ 13.06.13, 9:47) http://pro1c.org.ua/index.php?act=findpost&pid=70465
3) Управленческая себестоимость закрепляется за партией и переоценке не подлежит. Любой документ который тем или иным способом затрагивает партии товаров должен работать и с управленческой себестоимостью , например такие документы как "Реализация товаров и услуг" , "Перемещение" и т..д..

Ну тут правил типовой механизм списания партий, чтобы он обращал внимание и рассчитывал стоимость списания по новому ресурсу.

Сдал на 4. Бал сняли за то, что я не учел комисионные операции (регистр Партии товаров переданные).

Автор: Ardi 13.06.13, 12:44

Цитата(Vofka @ 13.06.13, 10:51) *
Для этого создается в дополнительных правах новое свойство и, соответственно, видимость устанавливается по ней.

В конфигураторе или в пользовательском режиме?
Почему не в просто "правах"?

Автор: TipsyKID 13.06.13, 13:03

Ardi, по условию задачи :

Цитата(TipsyKID @ 13.06.13, 9:47) *
При этом привязки
к роли быть не должно, т.к. к работе с данной колонкой могут иметь доступ люди с разным набором прав. ( создавать отдельную роль тоже нельзя).


Автор: Fynjy 13.06.13, 14:06

Эээххх решения бы господа )))

Автор: Ardi 13.06.13, 20:06

TipsyKID,
Настройки пользователя - это не роли.

Автор: TipsyKID 17.06.13, 9:23

Ardi,
Мы разошлись в терминах, для меня

Цитата(Ardi @ 13.06.13, 13:44) *
в просто "правах"?

- это не "Настройки пользователя".

Автор: Hokum 10.10.13, 0:22

Так как показатель привязывается к партии товара, то хранить СтоимостьУПР будем в регистре накопления «ПартииТоваровНаСкладах» (добавить ресурс). В документе «ПоступлениеТоваровУслуг» этот показатель вводится вручную в отдельную колонку табличной части. Для того, чтобы управлять видимостью колонки необходимо существования отдельного права пользователя, получая которое будем устанавливать видимость и доступность колонки. При проведении документа необходимо также делать движение по регистру и этого показателя. Также нужно не забыть списывать этот показатель при списании партий. Изменение отчетов сводится к изменению макетов, по которым формируется отчет.

Решения:
1. В регистр накопления «ПартииТоваровНаСкладах» добавляем ресурс «СтоимостьУПР».
2. В табличную часть документа «ПоступлениеТоваровУслуг» добавляем реквизит «СтоимостьУПР».
3. В форме документа «ПоступлениеТоваровУслуг» в табличную часть добавляем колонку «СтоимостьУПР».
4. В модуле документа «ПоступлениеТоваровУслуг», процедура «ПодготовитьТаблицыДокумента» в структуру полей добавляем информацию о управленческой стоимости партии товара. Тем самым осуществляется движение по ресурсу «СтоимостьУПР»:

СтруктураПолей.Вставить("СтоимостьУПР", "СтоимостьУПР");

5. Добавляем механизм движения «в минус» по этому ресурсу. Для этого в общем модуле «УправлениеЗапасамиПартионныйУчет» в процедуре «ПолучитьТаблицуПартийНаСкладах» в тексте запроса выбираем и «СтоимостьУПР» из регистра:
Текст = 
    "ВЫБРАТЬ
    |    ""ПолучитьТаблицуПартийНаСкладах"" КАК QuieryId,
    |    ДокументОприходования,
    |    ДокументОприходования.Дата КАК ДокументОприходованияДата,
    |    Номенклатура,
    |    Склад,
|    ХарактеристикаНоменклатуры,
    |    СерияНоменклатуры,
    |    Качество,
    |    Заказ,
    |    КоличествоОстаток КАК Количество,
    |    СтоимостьОстаток КАК Стоимость,
    |    СтоимостьУПРОстаток КАК СтоимостьУПР";


Также, списываем СтомиостьУПР в зависимости от коэффициента списания партии:
// Ресурсы 
        Движение.Количество    = Окр(СтрокаПартии.Количество * КоэффСписания,3,1);
        Движение.Стоимость    = Окр(СтрокаПартии.Стоимость  * КоэффСписания,2,1);
        // начало добавления
        Движение.СтоимостьУПР    = Окр(СтрокаПартии.СтоимостьУПР  * КоэффСписания,2,1);
        // конец добавления

        СтрокаПартии.Количество = СтрокаПартии.Количество - Движение.Количество;
        СтрокаПартии.Стоимость  = СтрокаПартии.Стоимость  - Движение.Стоимость;
        // начало добавления
        СтрокаПартии.Стоимость  = СтрокаПартии.Стоимость  - Движение.Стоимость;
        // конец добавления

6. Для того, чтобы в документе «ПоступлениеТоваровУслуг» можно было управлять видимостью колонки «СтоимостьУПР» необходимо:
• В ПланВидовХарактеристик «ПраваПользователей» добавить предопределенное право «ПросмотрСтоимостиУПР» типа «Булево».
• В общем модуле «Пользователи» добавить функцию, которая получает это право пользователя и возвращает «ложь» или «истину» исходя из концепции 1С по правам пользователя: «Действие разрешено, если оно разрешено хотя бы в одной роли, назначенной пользователю. Действие запрещено, если оно запрещено во всех ролях».
Функция РазрешитьПросмотрСтоимостиУПР(Пользователь) Экспорт
    РазрешенПросмотр=ПолучитьЗначениеПраваПользователя(ПланыВидовХарактеристик.ПраваПользователей.ПросмотрСтоимостиУПР,ложь,Пользователь);
    
    Если РазрешенПросмотр.НайтиПоЗначению(истина)=Неопределено Тогда
        возврат ложь;
    иначе
        Возврат истина;
    КонецЕсли;
    
КонецФункции

• Вызов этой функции рекомендуется разместить в модуле формы документа «ПоступлениеТоваровУслуг» в типовой процедуре «УстановитьВидимоть» и в зависимости от возвращаемого значения управлять видимостью и доступностью колонки «СтоимостьУПР»:
Если РазрешитьПросмотрСтоимостиУПР(глТекущийПользователь) Тогда
        ЭлементыФормы.Товары.Колонки.СтоимостьУПР.Видимость=истина;
        ЭлементыФормы.Товары.Колонки.СтоимостьУПР.Доступность=истина;
    Иначе
        ЭлементыФормы.Товары.Колонки.СтоимостьУПР.Видимость=ложь;
        ЭлементыФормы.Товары.Колонки.СтоимостьУПР.Доступность=ложь;
    КонецЕсли;


7. Переделать 2-3 отчета. "ВедомостьТоварыНаСкладах", "ВедомостьПартииТоваровНаСкладах" и еще какой-то. Остальные можно не доделывать, т.к. вся доработка заключается в изменении макета отчета.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua