Sale: {
  name = "Продажа"				# Надпись на кнопке (может быть длиной от 1 до 30 символов)
  launcherPossition = 100		# Расположение кнопки на экране Рабочего стола. Значения должны быть кратны 100, первая кнопка = 100. При конфликте номеров на экране отображаются в произвольном порядке.
  applicationMetadata = "app_sale" 	# Параметр не изменять!
  paths: ["."]						# Параметр не изменять!
  subsystems: [
    {
      app_sale: {
        params: {
          bl: {
            sellerParams : {	# Описание правил регистрация продавцов
                              # Продавцы "привязываются" к позициям чека, а не к чеку в целом
              sellerRegistrationType = "byCode" 		#способ регистрации продавцов:
                                                    # Возможные значения параметра:
                                                    #     None - продавцы вообще не региструются на кассе
                                                    #     byCode - продавцы регистрируются по коду
                                                    #     byCard - продавцы регистрируются по карте (магнитной или с штрихкодом)
              
              sellerRegistrationScenario = "None" 	# сценарий регистрации продавцов
                                                    # Возможные значения параметра:
                                                    #     None - регистрация происходит только по команде кассира, продавец выбирается из списка. Выбранный продавец "наследуется" в последующие позиции чека
                                                    #     firstItem - при регистрации первой позиции, касса выводит запрос на ввод продавца. Ввод не обязателен. Выбранный продавец "наследуется" в последующие позиции чека
                                                    #     eachItem - при регистрации каждой позиции, касса выводит запрос на ввод продавца. Ввод не обязателен.
                                                    #
              # Описание формата штрихкода карты регистрации продавца
              barcodeMask = [
                {num = 1, mask = "11111(.*)"} 	# num = 1 - первый способ записи номеров карт. Считанный код должен начинаться с "11111" (без кавычек). 
                                                # В круглых скобках - номер карты. 
                                                # Конструкция ".*" - номером карты могут быть любые символы без ограничения их количества.
              ]
              # Описание формата информации, полученной от считывателя магнитных карт
               msrMask = [
                {num = 1, mask = "1(999.*)\\?"}	# num = 1 - первый способ записи номеров картт. Считанный код должен начинаться с "1" (без кавычек)
                                                # в круглых скобках - номер карты. 
                                                # Номера карт начинаются с "999" (без кавычек) и далее может быть любое количество любых символов.
              ]
            }
            currencyCode = "RUB"				# Параметр не изменять!
			      fpDocumentDelimiter = "-"			# Символ, используемый для разделения секций в печатной форме чека
                                          # (например, для выделения информации системы лояльности)
            prohibitionOfSwitchingToOtherDays = true	# true - запрещение продажи, если не была закрыта смена за предыдущий день. false - продажа разрешена независимо от закрытия смены.
            selectItemsThreshold = 500			# максимальное количество товаров, которое может быть предложено кассиру для выбора, если производится поиск товара по названию.
            
			      receiptRebuilderEngine = conf/applications/sale/scripts/receiptRebuilder.js	#Процедура, формирующая печатный образ чека.
            oneSlipWithReceipt = false  # Печать одного слипа оплаты вместе с чеком
            
            maxQuantityByCashier = 9
            
            maxItemsInReceipt = 100 # Максимальное количество позиций в чеке
            
            quantityByCashierDeclinedAfter = 99 # Изменять количество на большее запрещено
            maxPaymentAmount = 100000 # Максимальная сумма одной оплаты
            
            itemImageBaseUrl = "http://localhost/items"
            itemGroupImageBaseUrl = "http://localhost/groups"
            itemClassifBaseId = 0
            
            getItemListFromPicklist = false
			
            weightBarcodeMasks = [
              {num = 1, mask = "^(22[0-9]{5})([0-9]{5})."} # num = 1 - первый формат весовой этикетки. Считанный код должен начинаться с "28" (без кавычек)
                                                          # в круглых скобках - код товара и вес.
            ]
            packageBarcodeMasks = [
              {num = 1, mask = "^20([0-9]{5})([0-9]{5})."} # num = 1 - первый формат пакетной этикетки. Считанный код должен начинаться с "20" (без кавычек)
                                                           # в круглых скобках - код товара и вес.
            ]
			
            calcDiscountsOnChange = false # автоматический расчет скидок после каждого изменения чека
            
            customerTelephonNumBarcodeMasks = [
              {num = 1, mask = "^tel:(.*)"} 	# num = 1 - первый способ записи контактного телефона покупателя.
              # В круглых скобках - контктная информация.
              # Конструкция ".*" - контактной информацией могут быть любые символы без ограничения их количества.
            ]
            customerEmailBarcodeMasks = [
              {num = 1, mask = "^mailto:(.*)"} 	# num = 1 - первый способ записи контактного адреса электронной почты покупателя.
                                                # В круглых скобках - контктная информация.
                                                # Конструкция ".*" - контактной информацией могут быть любые символы без ограничения их количества.
            ]
          
          }
          ui: {
            keyboardLayout: {include file("conf/hardware/keyboard_layout/keyboardLayout.conf")} # Параметр не изменять!
            name = "Продажа" 					# Заголовок окна Продажа. От 1 до 30 символов.
            holderCssClasses = "big-screen"		# Влияет на количество отображаемых товаров в чеке. Если есть, то 6, если параметр удалить, то 3
          }
        }
        # Дополнительные действия, выполняемые при формировании чека продажи
        plugins: [
          # проверки запретов продажи 
          {include file("conf/applications/sale/limitations.conf")}
          # ЕГАИС
          #,{include file("conf/applications/sale/egais.conf")}
          # валидатор ЕГАИС монетки
          #,{include file("conf/applications/sale/egais_monetka_validator.conf")}
          #
          # взаимодействие с системой маркетинга
          ,{include file("conf/applications/sale/marketing.conf")}
          #
          # Вывод информации на дисплей покупателя при оформлении чека продажи
          ,{ include file("conf/applications/sale/buyersdisplaywriter.conf") }
          # взаимодействие с системой табачных товаров
          #,{include file("conf/applications/sale/tobacco.conf")}
          #,{ include file("conf/applications/sale/kitchen.conf") }
          #,{ include file("conf/applications/sale/moneybox_limitation.conf") }
          #,{ include file("conf/applications/sale/coffee_machine.conf") }
          #,{ include file("conf/applications/sale/electronic_queue.conf") }
          #,{ include file("conf/applications/sale/goods_rest_control.conf") } 
		  #,{ include file("conf/applications/sale/supercheque.conf") }
        ]
      }
    }
  ]
}
