Рабочее место продавца в Бухгалтерии 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. Обработка.ПодборНоменклатуры.Форма.ОсновнаяФорма модуль: изменить выделенное в проц.  ДействияПриОткрытии()  — чтобы фильтр по умолчанию был активен

       

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

     

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

     

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


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

5 Comments

  1. lisav

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

    Перейти к публикации

    Reply
  2. vkovall

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

    Reply
  3. lisav

    Спасибо за замечание, заменил шрифт — должно все правильно отображаться

    Reply
  4. makas

    Спасибо. мне как бухгалтеру изучающему код в 1С было полезно прочитать!

    Reply
  5. lisav

    Согласен с Eugeneer. Но если конфигурация 1С:Бухгалтерии уже правленная, как в моем случае, то проще добавить туда несколько незначительных изменений в коде, чем писать / править внешнее HVV по продажам. Тем более заказчику ничего навороченного не надо, нужен простой примитивный интерфейс с необходимыми ограничениями.

    Если же конфигурация Бухгалтерии типовая и обновляется через интернет, то однозначно внешнее HVV по продажам — лучший выбор.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *