Имя: Пароль:
1C
1С v8
Пните в нужном направлении!!!
0 mzelensky
 
08.10.12
08:13
Доброго всем!
Как обычно лезу с глупыми вопросами и не тривиальными задачами.
Итак, общая задача - написание "умного" обработчика. На входе имеем экселевский файлик (по факту заявка от клиента) с заполненной инфомацией, которая загружается в 1С-ку обработкой. В этой обработке присутствует очень много реквизитов и несколько таб. частей. Часть информации берется из экселевского файлика, часть берется из шаблона заявки (это элемент справочника, который настраивается для работы с конкретным покупателем и на основании него происходят выгрузки\загруки экселевских файлов. Этот справочник содержит информацию о структуре экселевского файла, полях, реквизитах, типах данных, а так же соджержит расчетные элементы, которые в эксель не выгружаются, но учитываются и рассчитываются при загрузке). В результате мы получаем три больших источника информации, на основании которых будет строиться работа - экселевский файлик, шаблон заявки и сама обработка загрузки.

На данный момент на основании всего этого создается пачка документов - все работет, все тип-топ. Но сейчас стоит следующая задача - создать праила опимального подбора "шаблона перевозки". Предполагается иметь некий шаблон, где пользователь может набирать правила из ПРОИЗВОЛЬНЫХ!!! элементов, например:

1) Реквизит "Заказчик" равен эл1 или Эл2 или Эл3;
2) Реквизит "Грузополучатель" = Эл1, Эл2, или Эл3;
3) Реквизит "маршрут доставки" - элемент1 или Элемент2
3) Вес груза >10000 кг и <15000 кг
и т.д.

По сути я предполагад сделать это через характеристики, т.е. "Заказчик", "Грузополучатель", "маршрут доставки" это все характеристики, "эл1", "Эл2" и т.д. это значений неких справочников или простые типы данных.

Но теперь самое сложное - как соотнести данные из источников (эксель, шаблон, обработка) С этими самыми Характеристиками? Т.е. как сделать связку, что  элемент обработки "Заказчик" это именно характеристика "Заказчик", а элемент шаблона "ВидТС" это именно характеристика "Виды Транспорта"...ну и так далее....т.е. вариантов выборки данных очень много - КАК ОРГАНИЗОВАТЬ  ПОДОБНЫЙ ПОИСК и сделать его универсальным???
1 mzelensky
 
08.10.12
08:13
(0) Сразу извиняюсь за МНОГО БУКОВОК, но старался написать более-менее понятно...а это не просто.
2 Jstunner
 
08.10.12
08:25
привести мысли в порядок и зарисовать схематично на бумажке
3 mzelensky
 
08.10.12
08:29
(2) уже рисовал и на бумажке и на доске - лично у меня все упирается в соотнесение полей. Т.е. грубо говоря есть несколько таблиц, но нет общего поля, по которому можно было бы соединить эти таблицы - организовать поиск. А усложняется это все тем, что механизм должен быть УНИВЕРСАЛЬНЫМ и настраивающимся из пользовательского режима....описать некий частный случай не составляет никакого труда, но это не то :(
4 shuhard
 
08.10.12
08:33
(0) много букв
5 Voronve
 
08.10.12
08:35
(3) Это ты без примака собрался поджоинить "каким нить способом через гланды" 2 таблички ? оО
6 Web00001
 
08.10.12
08:36
можно не писать капсом, это не добавляет читабельности твоим сообщениям, вопрос плана: "Как улететь на луну", не из каких материалов будет корабль, ни какое топливо, ни как оставить живым экипаж, а как улететь, вынь и положи. Начнем с того, что тебе непонятно как работают характеристики? Тогда нужно задавать вопрос именно по характеристикам. А по поводу (0) пиши ТЗ, определим бюджет, реализуем задумку, мыло в профиле.
7 mzelensky
 
08.10.12
08:37
(5) и даже не 2!

Хотя что ты имеешь ввиду под " Это ты без примака" ???
8 Karavanych
 
08.10.12
08:37
(3) сделай общее поле.
9 mzelensky
 
08.10.12
08:39
(6) я знаю как работают характеристики! Проблема в другом. Как сказать программе .что скажем характеристика "Экспедитор" это реквизит обработки с именем "РекЭкспЗагрузка" и не какое другое?! А характеристика "Вид транспорта" это реквизит шаблона "Вид ТС" и не какое другое?!
10 Voronve
 
08.10.12
08:40
(7) Primary key
11 mzelensky
 
08.10.12
08:40
(8) так вот я и пытаюсь придумать правило соотнесения. Но пока что-то никак...потому как (9)
12 mzelensky
 
08.10.12
08:41
(10) так а что здесь можно сделать "Primary key"? Я же говорю - этот самый ключ я и пытаюсь придумать, но так, чтобы он был универсальный и подходил для всех множеств ситуаций, а не для конкретных исключений.
13 Web00001
 
08.10.12
08:55
я наверно тормоз, вдумчиво прочитал ветку несколько раз, ничего, нет не так, НИЧЕГО не понял. Понятно одно, что на входе, есть эксель, на выходе, документы, что надо подобрать автору и что ему мешает непонятно.

>>Как сказать программе .что скажем характеристика "Экспедитор" это реквизит обработки с именем "РекЭкспЗагрузка" и не какое другое
Простите идиота, никак не пойму что ты собираешься рассказывать программе.
14 mzelensky
 
08.10.12
09:03
(13) А вы говорите много буковок...буковок много, но все-равно никто не понимает, ладно я привык :(
итак, еще раз!

1) "Понятно одно, что на входе, есть эксель, на выходе, документы, что надо подобрать автору и что ему мешает непонятно" - на данный момент мне надо подобрать "Перевозчкика". Есть заявка от покупателя с определенными параметрами, есть шаблон Перевозчиков (в этом шаблоне указаны услвоия - если все они совпадают, то мы можем сказать .что данный перевозчик нам подходит и мы оформляем договор на доставку с ним. Пример условий это "Вид ТС", "Максимально допустимый вес", "Маршрут", "Сроки выполнения", "Условия оплаты").

Так вот мне как-то надо взять всю информацию из источников, соотнести ее с параметрами этого шаблона перевозчиков и определить нужного!
15 НЕА123
 
08.10.12
09:07
>а элемент шаблона "ВидТС" это именно характеристика "Виды Транспорта"
почему так? нельзя элемент шаблона обозвать "Виды Транспорта"?
16 Patrio_
O_Muerte
 
08.10.12
09:07
Северо-восток
17 mzelensky
 
08.10.12
09:09
(15) В том и фишка, что элемент шаблона обозвать можно как угодно, хоть "ДЯДЯ ВАСЯ", но под этим "ДЯДЯ ВАСЯ" понимать именно реквизит "ВидТС" в шаблоне заявки.
18 mzelensky
 
08.10.12
09:10
(16) расширяй фантазию - это тебе не 2+2=5.
19 НЕА123
 
08.10.12
09:10
(15)+
>1) Реквизит "Заказчик" равен эл1 или Эл2 или Эл3;
>2) Реквизит "Грузополучатель" = Эл1, Эл2, или Эл3;
сложно перевести в
((Заказчик=эл1)ИЛИ(Заказчик=эл2)ИЛИ(Заказчик=эл3))
И
((Грузополучатель=элГруз1)ИЛИ(Грузополучатель=элГруз2)ИЛИ(Грузополучатель=элГруз3))
?
20 НЕА123
 
08.10.12
09:14
(17)
"элемент шаблона", "элемент обработки" - это что?
21 mzelensky
 
08.10.12
09:15
(19) это не сложно. Сложно передать параметры. Т.е. Реквизит "Заказчик" в данном случае это характеристика. нужно как-то определить, что эта характеристика соответствует реквизиту обработки "РекЗаказчикЗагрузка" и именно его (реквизит обработки "РекЗаказчикЗагрузка")
передавать в условие:

((Заказчик=эл1)ИЛИ(Заказчик=эл2)ИЛИ(Заказчик=эл3))
22 НЕА123
 
08.10.12
09:15
(20)+
>реквизит "ВидТС" в шаблоне заявки.
тоже непонятно что.
23 mzelensky
 
08.10.12
09:16
(2) прочти еще раз:

На входе имеем экселевский файлик (по факту заявка от клиента) с заполненной инфомацией, которая загружается в 1С-ку обработкой. В этой обработке присутствует очень много реквизитов и несколько таб. частей. Часть информации берется из экселевского файлика, часть берется из шаблона заявки (это элемент справочника, который настраивается для работы с конкретным покупателем и на основании него происходят выгрузки\загруки экселевских файлов. Этот справочник содержит информацию о структуре экселевского файла, полях, реквизитах, типах данных, а так же соджержит расчетные элементы, которые в эксель не выгружаются, но учитываются и рассчитываются при загрузке). В результате мы получаем три больших источника информации, на основании которых будет строиться работа - экселевский файлик, шаблон заявки и сама обработка загрузки.
24 НЕА123
 
08.10.12
09:17
(21)
динамически добавлять реквизиты обработки или
текстом в ТЧ?
25 mzelensky
 
08.10.12
09:17
(23) согласно (23):

"элемент шаблона" - реквизит справочника Шаблон заявки
"элемент обработки" - реквизит обработки, которая осуществляет загрузку данных и создание пакета документов.
26 mzelensky
 
08.10.12
09:20
(24) Зачем мне их добавялть, они там уже есть. Просто чать данных в самой обработке, часть данных уже прописана в шаблоне заявки (это справочник), а часть данных получается расчетным путем в хотя работы.....при этом имена реквизитов естественно не будут такие же, как имена характеристик ,т.к. характеристики создает пользователь. Мне нужно их как-то сопоставить.
27 mzelensky
 
08.10.12
09:33
все, народ сдулся...
28 НЕА123
 
08.10.12
09:44
(27)
"ДЯДе ВАСе" сложно возразить.
29 mzelensky
 
08.10.12
09:58
(28) ты бы помог лучше, чем фигней страдать - постебаться и я могу, но что толку...
30 Axel2009
 
08.10.12
11:11
(29) у тебя проблема соотнести код характеристики с ячейкой? чтото я не понял в чем сложность