Каталог решений - Рабочее место продавца в Бухгалтерии 2.0

Рабочее место продавца в Бухгалтерии 2.0

Рабочее место продавца в Бухгалтерии 2.0

В наличии

Как настроить интерфейс и роль продавца в Бухгалтерии 2.0

Категория:

Описание

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

Надо сказать, что Бухгалтерия для торговли плохо приспособлена. Поэтому пришлось править конфигурацию во многих местах. Пошаговая инструкция:

  1. Сперва нужно включить возможность изменения для конфигурации в целом, чтобы добавить новую роль и  новый интерфейс.  После создать пользователя «Продавец» используя их. Возможность редактировать другие объекты конфигурации добавлять по мере надобности. Добавить «ИнтерфейсПродавца»: из справочников только «Номенклатура», из документов —  «Реализация товаров и услуг», «Счет на оплату», «Счёт-фактура выданный». Убрать «Операции», «Сервис», из «Справка» убрать «Панель функций».
  2. В свойствах общего интерфейса поставить галочку переключаемый.
  3. Добавить «РольПродавца:
    1. дать права на запуск толстого клиента
    2. параметры сеанса: галочки получение и установка
    3. общие формы: просмотр
    4. интерфейсы: только ИнтерфейсПродавца, с общего снять галочку
    5. константы: чтение
    6. справочники: чтение, просмотр, ввод по строке
    7. документы: в зависимости от конкретных требований: можно поставить всем чтение, добавление, изменение, проведение, просмотр, интерактивное добавление, редактирование, интерактивное проведение, ввод по строке. Документы->Последовательности: чтение и изменение, Документы->Установка цен номенклатуры — только чтение.
    8. журналы документов: чтение
    9. обработки: БухгалтерскиеИтоги, ДополнительнаяИнформация, ПодборНоменклатуры — для всех них использование и просмотр
    10. планы всех видов — чтение
    11. регистры всех видов — полный доступ
  4. ОбщийМодуль.УправлениеПользователями проц. ПроверитьВозможностьРаботыПользователя: добавить выделенное:

    Если НЕ РольДоступна(«ПолныеПрава») И НЕ РольДоступна(«Бухгалтер»)  И НЕ РольДоступна(«РольПродавца») Тогда

  5. Модуль обычного приложения: проц. ПроверитьЗапускСтартовогоПомощникаИПанелиФункций: добавить выделенное   

     

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


  6. ОбщаяФорма.ФормаЦеныИВалюта модуль проц. НовыйТипЦенНачалоВыбора: добавить выделенное

      

     Если РольДоступна("РольПродавца") Тогда
            НовыйТипЦен = Справочники["ТипыЦенНоменклатуры"].НайтиПоНаименованию("Основная цена продажи");
            СтандартнаяОбработка  = Ложь;
        КонецЕсли;
    
    КонецПроцедуры


  7. Справочник.Номенклатура.Форма.ФормаЭлемента проц.  ПриОткрытии() — запрет на просмотр цен:

     

    Если РольДоступна("РольПродавца") Тогда
           ЭлементыФормы.ЦеныНоменклатуры.Видимость = Ложь;
        КонецЕсли;
        
    КонецПроцедуры


  8. Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента модуль: добавить выделенное в проц. ПриОткрытии()

        
       

    Если ЭтоНовый() Тогда
            Если РольДоступна("РольПродавца") Тогда
            Организация =  Справочники.Организации.НайтиПоКоду("000000001");
            Склад =  Справочники.Склады.НайтиПоКоду("000000001");
            ТипЦен = Справочники["ТипыЦенНоменклатуры"].НайтиПоНаименованию("Основная цена продажи");
    
            ЭтаФорма.ЭлементыФормы.Организация.КнопкаВыбора = Ложь;
            ЭтаФорма.ЭлементыФормы.Организация.КнопкаСпискаВыбора = Ложь;
            ЭтаФорма.ЭлементыФормы.Организация.БыстрыйВыбор = Ложь;
            ЭтаФорма.ЭлементыФормы.Организация.ТолькоПросмотр  = Истина;
            КонецЕсли;
    .......
    
    Если РольДоступна("РольПродавца") Тогда
           ЭлементыФормы.Товары.Колонки.Цена.ТолькоПросмотр = Истина;
           ЭлементыФормы.Товары.Колонки.Сумма.ТолькоПросмотр = Истина;
        КонецЕсли;
    
    КонецПроцедуры // ПриОткрытии()
    
  9. Обработка.ПодборНоменклатуры.Форма.ОсновнаяФорма модуль: изменить выделенное в проц.  ДействияПриОткрытии()  — чтобы фильтр по умолчанию был активен

       

    ФильтрЗапроса         = ?(ПараметрФильтрЗапроса = Неопределено, Истина, ПараметрФильтрЗапроса);
    
        // Покажем соответствующее табличное поле и заполним таблицу номенклатуры текущего родителя.
        ПриИзмененииВидаПодбора(ЭлементыФормы.СписокВидовПодбора.Значение);
    
        ЭтаФорма.Заголовок = СтруктураИсходныхПараметров.Заголовок;
    
    КонецПроцедуры // ДействияПриОткрытии()

     

    Обработка.ПодборНоменклатуры.Форма.ВводПараметров модуль — запрет на изменение цены:

     

    Процедура ПриОткрытии()
    
        мПриОткрытии(ЭтаФорма);
        
        Если РольДоступна("РольПродавца") Тогда 
            
           ЭлементыФормы.Цена.ТолькоПросмотр = Истина;
           
        КонецЕсли;
    
    КонецПроцедуры


Буду рад, если данный алгоритм кому-нибудь будет полезен и сэкономит время, а так же замечаниям, как данную задачу можно было решить проще, более красиво и правильней.

has been added to your cart:
Оформление заказа