Имя: Пароль:
1C
 
Как сделать одну универсальную обработку под разные виды документов?
,
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) ну, тогда вообще легко...