|
Как сделать одну универсальную обработку под разные виды документов? | ☑ | ||
---|---|---|---|---|
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) ну, тогда вообще легко...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |