| 
    
            
         
         | 
    
    
  | 
Как сделать одну универсальную обработку под разные виды документов? | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Stim    
     16.12.15 
            ✎
    14:15 
 | 
         
        Нужно сделать обработку, которая работала бы с определенным видом документа.
 
        У разных клиентов этот документ может называться по-разному, названия реквизитов могут тоже отличаться. Но не беда, главное чтобы там был состав реквизитов со всем необходимым типом данных. У кого-то документ называется "СВО", у кого-то "СправкаВО", у других "СправкаОВалютныхОперациях" и реквизиты соответственно "Банк"/"БанкПолучатель"/"БанкПолуч" и пр. Нужно, чтобы обработка была одна. От клиентов мы получаем конфигурацию(или описание документа) и на её основании отправляем им некий конфигурационно-настроечный файлик, по которому их документ и поля приводятся в соответствие с форматом и в форме обработки отображается список документов со всеми важными реквизитами и обработка с ними работает. Подчеркиваю - обработка должна быть единой, не кастомизированной под каждого. разные - только файлики, которые отправляем клиентам. Вопрос - как организовать такую работу, как хранить такой файлик у клиента и в каком формате? Спасибо.  | 
|||
| 
    1
    
        Lama12    
     16.12.15 
            ✎
    14:20 
 | 
         
        (0) У Stim@ увели акаунт?     
         | 
|||
| 
    2
    
        itlikbez    
     16.12.15 
            ✎
    14:23 
 | 
         
        (0) Написать обработку, где вместо имен документов и реквизитов будут переменные. Формат файла - какой угодно. Хоть текст, хоть 1С-овский mxl.     
         | 
|||
| 
    3
    
        Lama12    
     16.12.15 
            ✎
    14:25 
 | 
         
        (2) +1. Если заказчики могут загрузить макет, то файл можно загружать в макет обработки, что б он не валялся отдельно и не терялся.     
         | 
|||
| 
    4
    
        Stim    
     16.12.15 
            ✎
    14:26 
 | 
         
        (2) А где хранить файл? Он не должен храниться отдельно
 
        (3) исходим из того, что заказчики - бухи. они не будут заходить в конфигуратор.  | 
|||
| 
    5
    
        Соло    
     16.12.15 
            ✎
    14:27 
 | 
         
        см "УниверсальныеПодборИОбработкаОбъектов" 
 
        Всё уже изобретено до Вас  | 
|||
| 
    6
    
        Garykom    
     гуру 
    16.12.15 
            ✎
    14:28 
 | 
         
        (5) вопрос (0) немного не в этом     
         | 
|||
| 
    7
    
        Stim    
     16.12.15 
            ✎
    14:28 
 | 
         
        (5) это не то.     
         | 
|||
| 
    8
    
        sash-ml    
     16.12.15 
            ✎
    14:28 
 | 
         
        хранить файл рядом с обработкой
 
        получать путь по ИспользуемоеИмяФайла из внешней обработки  | 
|||
| 
    9
    
        cw014    
     16.12.15 
            ✎
    14:29 
 | 
         
        Храни в тексте в виде JSON     
         | 
|||
| 
    10
    
        Lama12    
     16.12.15 
            ✎
    14:29 
 | 
         
        (4) В обработке можно сделать настройку в которую будут загружаться данные из файла. После этого настройки можно хранить в базе (стандартный механизм).     
         | 
|||
| 
    11
    
        cw014    
     16.12.15 
            ✎
    14:29 
 | 
         
        Выслал файлик. Выслал описание - "надо нажать на "загрузить настройки" и выбрать высланный вам файлик"     
         | 
|||
| 
    12
    
        Garykom    
     гуру 
    16.12.15 
            ✎
    14:30 
 | 
         
        (0) настройки в текстовое поле, которое в сохраненные значения
 
        (10) опередил  | 
|||
| 
    13
    
        Jonny_Khomich    
     16.12.15 
            ✎
    14:30 
 | 
         
        Универсально эту задачу нельзя решить.
 
        Сегодня у одних СВО, завтра у других СВ, потом ВО. Как определить что это он?  | 
|||
| 
    14
    
        Stim    
     16.12.15 
            ✎
    14:30 
 | 
         
        + допустим, своей обработкой я хочу получить от клиента список
 
        Номер Дата Контрагент Банк Сумма Обработка должна быть одна, файл соответствий мы отправяем клиенту, который нам прислал список своих реквизитов Номер Дата КонтрагентОтправитель БанкПолучатель СуммаДок  | 
|||
| 
    15
    
        Lama12    
     16.12.15 
            ✎
    14:30 
 | 
         
        Ах, да. 
 
        Глобальный контекст (Global context) СохранитьЗначение (SaveValue) Синтаксис: СохранитьЗначение(<Имя>, <Значение>) Параметры: <Имя> (обязательный) Тип: Строка. Имя, с которым сохраняется значение, используется для идентификации сохраняемых значений. <Значение> (обязательный) Тип: Произвольный. Сохраняемое значение. Описание: Сохраняет значение для использования не только в текущем, но и в последующих сеансах работы с программой. Значение хранится индивидуально для каждой пары информационная база - пользователь. Например, можно сохранять значения по умолчанию, используемые данным пользователем. Доступность: Толстый клиент. Пример: СохранитьЗначение("СрокИсполненияЗаказа", СрокИсполнения); СохранитьЗначение("СкладПоУмолчанию", МестоХранения);  | 
|||
| 
    16
    
        Stim    
     16.12.15 
            ✎
    14:31 
 | 
         
        (8) на диске не вариант. Обработка должна храниться в спр внешние обработки     
         | 
|||
| 
    17
    
        Garykom    
     гуру 
    16.12.15 
            ✎
    14:31 
 | 
         
        (13) нужен некий уникальный id конфигурации или даже базы     
         | 
|||
| 
    18
    
        Nuobu    
     16.12.15 
            ✎
    14:31 
 | 
         
        (0) Можно написать обработку с двумя кнопочками.
 
        Одну будут бухи нажимать, чтобы базу в нужном формате выгрузить. Она будет бежать по метаданных и Сохранять их в файл. А вторая кнопка будет из определённого места подтягивать "правилаОбмена".  | 
|||
| 
    19
    
        Garykom    
     гуру 
    16.12.15 
            ✎
    14:31 
 | 
         
        (17)+ технически можно хеш по структуре метаданных     
         | 
|||
| 
    20
    
        Stim    
     16.12.15 
            ✎
    14:32 
 | 
         
        (18) из инета брать соответствие? хмм.. возможно..     
         | 
|||
| 
    21
    
        Garykom    
     гуру 
    16.12.15 
            ✎
    14:34 
 | 
         
        (20) из инета будет идеально, заодно отчет "анонимный" отправляется
 
        и хеш/id конфы для простоты  | 
|||
| 
    22
    
        Garykom    
     гуру 
    16.12.15 
            ✎
    14:35 
 | 
         
        (21)+ т.е. получили обработку открыли, получает идентификатор конфы, лезет в инет за настройками
 
        если нашла то все ок если не нашла то отчет выводит, на сервер структура метаданных отправить?  | 
|||
| 
    23
    
        Stim    
     16.12.15 
            ✎
    14:35 
 | 
         
        (21) а если конфу переносят в другое место, не меняя её структуру - хеш останется прежним?     
         | 
|||
| 
    24
    
        Garykom    
     гуру 
    16.12.15 
            ✎
    14:36 
 | 
         
        (23) а это уже детали и за $     
         | 
|||
| 
    25
    
        Stim    
     16.12.15 
            ✎
    14:38 
 | 
         
        (24) нет, это нужно тоже предусмотреть.
 
        Клиент платит абонентскую плату за обслуживание и обработка должна работать для всех баз клиента, независимо от их расположения и без лишних телодвижений клиента  | 
|||
| 
    26
    
        Stim    
     16.12.15 
            ✎
    14:44 
 | 
         
        + перед отправкой проверять реквизиты на соответствие хранимых у нас. Если различаются - предупреждать как минимум или вообще блокировать отправку.     
         | 
|||
| 
    27
    
        Garykom    
     гуру 
    16.12.15 
            ✎
    14:44 
 | 
         
        (25) не в этом смысле :) дальнейшие консультации/советы     
         | 
|||
| 
    28
    
        Garykom    
     гуру 
    16.12.15 
            ✎
    14:49 
 | 
         
        (0) Подожди... это случаем не 115-ФЗ или аналог?     
         | 
|||
| 
    29
    
        Stim    
     16.12.15 
            ✎
    15:05 
 | 
         
        (28) нет, это валютные операции в электронном обмене с банками     
         | 
|||
| 
    30
    
        Garykom    
     гуру 
    16.12.15 
            ✎
    15:06 
 | 
         
        (29) ну суть одна, некие данные из разных конф/баз 1С выгружать и куда то загружать     
         | 
|||
| 
    31
    
        Stim    
     16.12.15 
            ✎
    15:08 
 | 
         
        (30) да     
         | 
|||
| 
    32
    
        Stim    
     16.12.15 
            ✎
    15:10 
 | 
         
        Какой можно использовать идентификатор базы данных?
 
        он должен сохраняться, если базу перенесли в другое место с другим именем, обновили на новый релиз или вообще удалили все метаданные  | 
|||
| 
    33
    
        Garykom    
     гуру 
    16.12.15 
            ✎
    15:12 
 | 
         
        (32) ключ по используемым (прописанные в настройках) метаданных + нечто вроде ИНН     
         | 
|||
| 
    34
    
        Strogg    
     16.12.15 
            ✎
    15:12 
 | 
         
        Универсальность будет условной.
 
        Например: создать ТЧ у обработки со сл. колонками: организация, список реквизитов шапки, список ТЧ, список реквизитов тч. при запуске обращаться к поиску по наименовканию организаций.  | 
|||
| 
    35
    
        Stim    
     16.12.15 
            ✎
    15:13 
 | 
         
        (33) у организации может быть несколько баз, использующих нетиповые документы, и в каждой реквизиты могут отличаться     
         | 
|||
| 
    36
    
        Stim    
     16.12.15 
            ✎
    15:14 
 | 
         
        (34) нельзя хранить у клиента данные других организаций.
 
        Кроме того, хранение данных в ТЧ обработки вообще плохая идея  | 
|||
| 
    37
    
        Lama12    
     16.12.15 
            ✎
    15:14 
 | 
         
        (32) Боюсь что выгрузка и загрузка через dt убьет все идентификаторы базы.     
         | 
|||
| 
    38
    
        Strogg    
     16.12.15 
            ✎
    15:15 
 | 
         
        (36) тогда организуй хранение данных на фтп в удобном тебе формате.     
         | 
|||
| 
    39
    
        Stim    
     16.12.15 
            ✎
    15:15 
 | 
         
        у метаданных есть внутренний идентификатор?     
         | 
|||
| 
    40
    
        Stim    
     16.12.15 
            ✎
    15:17 
 | 
         
        (38) ну вот у клиента 2 разные БП 3.0, с разными набором реквизитов документов. как ему лезть на фтп за настройками?     
         | 
|||
| 
    41
    
        Strogg    
     16.12.15 
            ✎
    15:18 
 | 
         
        (40) ну по НаименованиюОрганизации же. Или у клиента могут быть на одну организацию 2 разных БП?     
         | 
|||
| 
    42
    
        Garykom    
     гуру 
    16.12.15 
            ✎
    15:19 
 | 
         
        (40) не надо никуда лезть, 2 разнае настройки будут у этого клиента
 
        и автоматом нужную "перебором" подбираем по хешу  | 
|||
| 
    43
    
        EugeniaK    
     16.12.15 
            ✎
    15:19 
 | 
         
        (0) Делай обработку универсальной, но имена реквизитов для конкретной конфигурации сохраняй в макете. При первом запуске макет загружается из файла и сохраняется в базе. При каждом следующем запуске считывается из настроек пользователя.     
         | 
|||
| 
    44
    
        Lexey_    
     16.12.15 
            ✎
    15:21 
 | 
         
        (39) может ЗначениеВСтрокуВнутр(Метаданные) чем-то поможет?     
         | 
|||
| 
    45
    
        Garykom    
     гуру 
    16.12.15 
            ✎
    15:21 
 | 
         
        (42)+ вот если используемый "ключевой" реквизит переименуют то слетит, но и так слетить ибо терь не знаем откуда брать данные
 
        а что один ИНН в разных базах так вот не пофиг? клиент хоть 10 может баз наплодить одинаковых и все будут выгружать если нужно разделять еще базу (идентичную по метаданным) то да проблема  | 
|||
| 
    46
    
        Garykom    
     гуру 
    16.12.15 
            ✎
    15:22 
 | 
         
        (45)+ вообщем в настройках еще должно быть указано откуда брать из базы "идентификатор клиента" в сочетании с "идентификатором конфы" этого должно хватить     
         | 
|||
| 
    47
    
        Stim    
     16.12.15 
            ✎
    15:23 
 | 
         
        (43) разве можно программно менять макет внешней обработки?
 
        Обработка должна быть единой для всех клиентов. Она будет лежать на открытом ресурсе, откуда все её будут скачивать  | 
|||
| 
    48
    
        Strogg    
     16.12.15 
            ✎
    15:24 
 | 
         
        (46) кстати да. Это и будет ключ уникальности.     
         | 
|||
| 
    49
    
        Garykom    
     гуру 
    16.12.15 
            ✎
    15:25 
 | 
         
        (47) можно все, вопрос насколько сложно     
         | 
|||
| 
    50
    
        Stim    
     16.12.15 
            ✎
    15:25 
 | 
         
        (44) ну как вариант можно получать настройки по ИД обработки в спр ВнешниеОтчеты. но если обработку удалят и снова добавят, то ид изменится     
         | 
|||
| 
    51
    
        zak555    
     16.12.15 
            ✎
    15:25 
 | 
         
        (0) почему бы всё не переименовать к единому стандарту *?     
         | 
|||
| 
    52
    
        Stim    
     16.12.15 
            ✎
    15:25 
 | 
         
        (51) я не могу клиентам диктовать свою волю. моя цель - подстроиться под их структуру реквизитов     
         | 
|||
| 
    53
    
        Это_mike    
     16.12.15 
            ✎
    15:25 
 | 
         
        и все-таки, количество комбинаций - конечно?     
         | 
|||
| 
    54
    
        Stim    
     16.12.15 
            ✎
    15:30 
 | 
         
        + и наверн нужно дать пользователю самому указать соответствие. Чтобы он указал, что выгружаемый Контрагент - в его базе это КонтрагентОтправитель, не КонтрагентПолучатель, не Франч_КонтрагентОтправитель и не Контрагент1 и тд
 
        непонятно, как это сделать, если пользователь - бух и доступа к конфигуратору не имеет..  | 
|||
| 
    55
    
        Stim    
     16.12.15 
            ✎
    15:31 
 | 
         
        тогда нужен какой-то конструктор настроек.. типа выберите документ, выберите в нем контрагента отправителя, выберите банк отправителя и тд..     
         | 
|||
| 
    56
    
        Garykom    
     гуру 
    16.12.15 
            ✎
    15:32 
 | 
         
        (54) представляем первый вирус/троян на 1С...  виде внешней обработки... после запуска ломает пароли пользователей в 1С, получает доступ к конфигуратору, сливает базу и вносит в нее изменения...     
         | 
|||
| 
    57
    
        Stim    
     16.12.15 
            ✎
    15:35 
 | 
         
        (56) да без проблем)
 
        http://catalog.mista.ru/public/182849/  | 
|||
| 
    58
    
        Это_mike    
     16.12.15 
            ✎
    15:44 
 | 
         
        (55) ну, тогда вообще легко...     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |