parameters: (self, provider, separator, **values)
return_statement: return ''
docstring: Compute the reference prefix from the transaction values.
  
          If the `values` parameter has an entry with 'invoice_ids' as key and a list of (4, id, O) or
          (6, 0, ids) X2M command as value, the prefix is computed based on the invoice name(s).
          Otherwise, an empty string is returned.
  
          Note: This method should be called in sudo mode to give access to documents (INV, SO, ...).
  
          :param str provider: The provider of the acquirer handling the transaction
          :param str separator: The custom separator used to separate data references
          :param dict values: The transaction values used to compute the reference prefix. It should
                              have the structure {'invoice_ids': [(X2M command), ...], ...}.
          :return: The computed reference prefix if invoice ids are found, an empty string otherwise
          :rtype: str
docstring_summary: Compute the reference prefix from the transaction values.
docstring_tokens: Compute the reference prefix from the transaction values .
function: def _compute_reference_prefix(self, provider, separator, **values):
          """ Compute the reference prefix from the transaction values.
  
          If the `values` parameter has an entry with 'invoice_ids' as key and a list of (4, id, O) or
          (6, 0, ids) X2M command as value, the prefix is computed based on the invoice name(s).
          Otherwise, an empty string is returned.
  
          Note: This method should be called in sudo mode to give access to documents (INV, SO, ...).
  
          :param str provider: The provider of the acquirer handling the transaction
          :param str separator: The custom separator used to separate data references
          :param dict values: The transaction values used to compute the reference prefix. It should
                              have the structure {'invoice_ids': [(X2M command), ...], ...}.
          :return: The computed reference prefix if invoice ids are found, an empty string otherwise
          :rtype: str
          """
          command_list = values.get('invoice_ids')
          if command_list:
              # Extract invoice id(s) from the X2M commands
              invoice_ids = self._fields['invoice_ids'].convert_to_cache(command_list, self)
              invoices = self.env['account.move'].browse(invoice_ids).exists()
              if len(invoices) == len(invoice_ids):  # All ids are valid
                  return separator.join(invoices.mapped('name'))
          return ''
function_tokens: def _compute_reference_prefix ( self , provider , separator , * * values ) : command_list = values . get ( 'invoice_ids' ) if command_list : # Extract invoice id(s) from the X2M commands invoice_ids = self . _fields [ 'invoice_ids' ] . convert_to_cache ( command_list , self ) invoices = self . env [ 'account.move' ] . browse ( invoice_ids ) . exists ( ) if len ( invoices ) == len ( invoice_ids ) : # All ids are valid return separator . join ( invoices . mapped ( 'name' ) ) return ''