Имя: Пароль:
JOB
Работа
Домашнее задание
0 wtlz
 
09.07.14
12:52
1. Что от меня хотят? 67% (2)
2. Я вас не звал 33% (1)
3. Я не знаю, как решить 0% (0)
4. Я решил! 0% (0)
5. Это что такое?! 0% (0)
Всего мнений: 3

Всем привет.
Недавно устраивался на работу - решал всякие тестовые задания.
Но вот одно задание до сих пор не дает мне спокойно уснуть - может я совсем дебил? (Знакомые, которым показал, похоже, что тоже))))

https://drive.google.com/a/tut.by/file/d/0B4gsZCdxHW14SEVHdU9RenpvMDlIWmd1WlVreERFR2U4WDhB/edit?usp=sharing

Предупреждаю сразу - решения от вас, господа, не требую, т.к. уже устроился на работу. Это, так сказать, обеденный веселый САБЖ )))
1 wtlz
 
09.07.14
12:53
по условиям - все в файле - больше ничего нет!
2 Asmody
 
09.07.14
12:55
скажите — а "неопознанный баклан" среди просматривающих документ, это кто? :)
3 mikecool
 
09.07.14
12:56
я судя по всему капибара ))))
4 Asmody
 
09.07.14
12:58
постановка радует: "предложите вариант оптимизации данной структуры". Цель оптимизации какая? Оптимизация ради оптимизации не имеет смысла
5 tdm
 
09.07.14
12:58
(0) на какую должность подобная задачка?)
6 Asmody
 
09.07.14
12:58
ну и хранение гуидов в строках — это прям на шестёрку с плюсом
7 wtlz
 
09.07.14
12:58
(3) а для чего эти названия читателей вообще?
(4) как есть, так есть )
8 wtlz
 
09.07.14
12:59
(5) Программист 1С, конечнаже
9 wtlz
 
09.07.14
12:59
(5) причем контора солидная D (как я раньше думал))))
10 mikecool
 
09.07.14
13:00
(2) ты судя по всему II Vit
11 H A D G E H O G s
 
09.07.14
13:00
12 Asmody
 
09.07.14
13:03
насколько вообще такая формула может быть сложной?
13 wtlz
 
09.07.14
13:03
(12) бесконечное число возможных вариантов.
14 tdm
 
09.07.14
13:05
(8) ну если все просто должно быть - то имхо строку неограниченной длины как-то преобразовать (таб.часть, подчиненный справочник, РС в пределе и пр.)...если уровень повыше то уже думать надо
15 Asmody
 
09.07.14
13:05
(13) я имел в виду сложность ветвлений, циклов, дополнительных параметров?
16 Azverin
 
09.07.14
13:05
(0) какие задания ещё были?
и какое задание была куда устроился?
17 wtlz
 
09.07.14
13:07
(16) по этой вакансии только то, что по ссылке.
Остальное выложить?
18 wtlz
 
09.07.14
13:07
(16) устроился без задания )
19 wtlz
 
09.07.14
13:08
(15) см (0) - все, что есть - в файле
20 wtlz
 
09.07.14
13:12
ну как-то совсем скучно в теме стало ( неужели такое сложное задание?
21 Самоварыч
 
09.07.14
13:13
(20)
>> Задача
>>
>> Предложить вариант оптимизации данной структуры

ну ты хоть что-то предложил?
22 Starhan
 
09.07.14
13:14
(20) я честно нхя не понял :)
23 wtlz
 
09.07.14
13:14
(21) да. Поменять задание, на связанное с 1С )))
24 Azverin
 
09.07.14
13:15
ТС, до вечера не выкладывай своё решение.
если оно конечно есть, судя по (18)
25 wtlz
 
09.07.14
13:16
(24) ахаха, лол.
26 wtlz
 
09.07.14
13:18
если слов нет, то ставим выбор в голосовании в шапке DDD
27 Azverin
 
09.07.14
13:18
(17) вкратце, да
28 wtlz
 
09.07.14
13:23
(27) пиши мыло
29 Azverin
 
09.07.14
13:24
(28) в личке должна быть
30 wtlz
 
09.07.14
13:25
(29) отправил
31 wtlz
 
09.07.14
13:26
чет веселья совсем нет - видимо, так задача действует (
тема заглохла... или все решают )))
32 Fragster
 
гуру
09.07.14
13:28
у нас подобная фигня в отдельном справочнике "комплекты" запилена. правда без дополнительного "добавления", но похоже.

пришлось выделение этих комплектов из т.ч. документа запросом в цикле делать :(
33 Starhan
 
09.07.14
13:31
(31) навскидку напрашивается использование любого объекта коллекции значений. Но раз использован вариант со неограниченными строками вида ГУИД, то не факт что будет быстрее.

Ну или я нхя не понял все таки :)
34 13_Mult
 
09.07.14
13:35
ИМХО Судя по заданию решать ни чего не требуется, а только предложить варианты оптимизации. А предложить без готового решения, да ещё без тестов производительности и не создавая нового решения не предоставляется возможным.
Задание хрень, пусть сами такое решают ))
35 Starhan
 
09.07.14
13:36
(34) задание скорей всего как раз и направлено на выявление людей с нужным опытом :).
36 13_Mult
 
09.07.14
13:37
(34) + ещё всё это наводит на бесплатное решение какой либо существующей проблемы
37 MrStomak
 
09.07.14
13:41
Ну вообще есть типовой ЗУП, где используются пользовательские формулы для расчетов, есть типовая БГУ, где используются пользовательские формулы для составления схемы СКД.

Если пользователь должен произвольно задавать правила вычислений с неограниченным количеством этапов, то в виде строки нормальное решение.
38 mikecool
 
09.07.14
13:41
тема фуфло, гугл красавчик )
39 MrStomak
 
09.07.14
13:42
Можно работать над интерфейсом, делать красивый и удобный выбор действий, перетаскивания мышкой, проверку, но оптимизировать хранение формулы сомнительно - строка и есть строка.
40 mikecool
 
09.07.14
13:43
хранить можно ссылки на справочникик в регистре сведений
41 wtlz
 
09.07.14
13:46
(38) поясни, а то не понятно
42 Trotter
 
09.07.14
13:47
я думаю самый оптимальный вариант в (40)
43 mikecool
 
09.07.14
13:47
(41) посмотри кого он добавляет в список просматривающих док
44 MrStomak
 
09.07.14
13:47
(40) Формула - это ссылка на справочник по-твоему?
45 MrStomak
 
09.07.14
13:48
(42) Что ты будешь хранить в регистре сведений?
46 wtlz
 
09.07.14
13:50
(43) а чего у меня там все неопознанные?
47 mikecool
 
09.07.14
13:50
Формула может строиться по настройкам комплектации, которые хранятся в РС
48 MrStomak
 
09.07.14
13:54
(47) что за сущность - "Настройка комплектации"? Как выглядит? Какие ресурсы регистра сведения, какого типа?
Чем обусловлена скорость?
49 tdm
 
09.07.14
13:56
(31) см (14), просто еще в 7-ке в самописках когда требовалось несколько табличных частей (или таб.часть у справочника) загоняли это дело в строку неограниченной длины - которую при открытии формы разбирали
атавизм хранить данные в строках неограниченной длины если появились более подходящие объекты

...ну а если глобальнее то в 1с есть механизмы - аналогов, комплектов и пр.  - это уже глобальнее задачка)
50 tdm
 
09.07.14
13:59
(48) объектные связи - где одна ссылка ссылается на другую,
а не как у этой номенклатуры аналоги с такими то кодами ;)
51 MrStomak
 
09.07.14
14:00
Тут на ум приходит такие "Настройки комплектации" -
"Добавление ДО" - "Значение ДО"
"Удаление ДО" - "Значение ДО"
"Установка цены" - "Значение цены","Условие выполнения"

Добавление, удаление, установка - это какой-нибудь спр "Вид операции"...
Но не вижу почему это будет быстрее, вижу что потеряется гибкость формулы.

(49) см. Формулы в ЗУП, формулы для обмена данными с казначействами в БГУ. Формула - это не коллекция, это набор операций и операндов.
52 Kamas
 
09.07.14
14:08
Для чего гуид люди добрые там нужен??

Что от меня хотят?
53 Лефмихалыч
 
09.07.14
14:11
а сюда текст можно для тех, у кого корпорация добрых дел заблокирована политотой безопасности?
54 mikecool
 
09.07.14
14:19
(51) отчего должна теряться гибкость?
сделать таб часть типа
операция | реквизит |
операция - сложение, вычитание и пр
реквизит - значение элемента комплектации
это на вскидку
55 MrStomak
 
09.07.14
14:36
(54) там еще условные операторы есть, это всё конструировать как отборы в скд с "Группа и", "Группа или" и собственно выражения с "равно", "не равно", "Больше", "в списке". Ну и гибкость теряется в описании этих условий, что и с чем мы будем сравнивать. И сами то их хранить если не как строку, то как?
56 wtlz
 
09.07.14
14:36
(53) там с картинками ) щас на маил ру скину
57 tdm
 
09.07.14
14:37
(51)>>см. Формулы в ЗУП
там одна формула) на один вид расчета а тут набор произвольно накиданых "формул" в произвольном порядке

>>Но не вижу почему это будет быстрее, вижу что потеряется гибкость формулы.
отборы, поиск, замена - вам придется работать со строками неограниченной длины, что в случае запросов определенный геммор (как пример)
58 tdm
 
09.07.14
14:38
(55) так и храните список строк - а не одной строкой)) которую разбирать нужно
59 wtlz
 
09.07.14
14:38
60 mikecool
 
09.07.14
14:41
(55) почему теряется гибкость? что страшного в описании операндов по аналогии с отборами скд?
можно даже извратиться и попробовать насунуть какой нить активикс типа equation от микрософта для визуалазации
61 thezos
 
09.07.14
14:46
Задание - херь

Что от меня хотят?
62 MrStomak
 
09.07.14
14:46
(58) Список строк чем быстрее строки? =\
(60) Отборами СКД не всякое условие получается наложить, только с заданными полями заданные способы сравнения. И, кстати, схема СКД то хранится в хранилище значений, что как-то помедленнее строки. А используется, например. в динамических ценах в УТ11.
63 MrStomak
 
09.07.14
14:48
(57) Если запросы в виде "Отобрать все ДО, в формулах которых используется вот это ДО", то да. В Зупе показатели для этого в табличной части отдельно хранятся как ссылки, формула ссылается не на гуиды, а на номера показателей в табличной части.
64 mikecool
 
09.07.14
14:53
(62) какой то ты категоричный, может есть что-то лучше, нежели решения в типовых?
65 MrStomak
 
09.07.14
15:00
(64) Безусловно.
Но я не вижу причин повышения производительности в твоём решении.

Разложили мы ДО в табличную часть, да.
А как хранить условия их применения? Ты так и не ответил.
Просто предложение наплодить сущностей "Вид сравнения", "Группа И" и прочее, запихнуть это в регистр сведений "Условия применения строки формулы", то это быстрее то явно не будет.

Мне видится оптимизация структуры тут именно аналогично ЗУПу - ссылки хранить в ТЧ по порядку, формулу хранить в строке. В скорости ничего не измениться, но будет работать ссылочная целостность, будет возможность использовать поиск и т.д.
66 wtlz
 
10.07.14
12:09
итого - решение есть у кого-нибудь еще?

Я вас не звал
67 mikecool
 
10.07.14
12:17
(66) а оно нам надо?
68 Господин ПЖ
 
10.07.14
12:30
единственная "оптимизация" - перейти от guid к ссылкам по сути

если все операции однотипные - можно налепить вокруг всего этого какие-то структуры заменяющие собой текстовые формулы...

типа вместо "когда А тогда Б иначе В" элемент справочника, case описывается в ТЧ...
69 Kamas
 
10.07.14
12:37
а я кажись понял, мы все однобоко смотрим Пытаемся оптимизировать работу программы, а давайте оптимизируем работу пользователя. Вместо того, чтоб человек писал- пусть выбирает из справочника операции необходимые операции, а в параметры чтоб выбирал значения из справочника прайслист. И это уже оптимизация так-как мы снизили вероятность ошибки при наборе операций, и вводе значений справочника, плюс ускорили данную операцию так как пользователю не придется периодически лазить и смотреть коды.А саму структуру данных мы оставляем как есть что тоже удовлетворяет условиям задачи формулы мы не теряем в скорости тоже не теряем, а оптимизация прошла)))
70 Господин ПЖ
 
10.07.14
12:53
>Пытаемся оптимизировать работу программы

она и будет оптимизирована

- не надо бегать по базе превращая guid в ссылку
- контроль ссылочной целостности - не надо спотыкаться о "битые ссылки"
71 Kamas
 
10.07.14
12:59
(70) я не критикую ваш метод просто я страничку не обновил ))
72 mikecool
 
10.07.14
13:09
(71) а я критикую! просто я - баба яга )))
73 tdm
 
10.07.14
13:21
(66) "устроился без задания )" а сейчас его решить повесили ?)))
74 Господин ПЖ
 
10.07.14
13:38
(72) ловите наркомана!
75 wtlz
 
10.07.14
17:44
(73) нет, все не так - условие задания запеклось в моем мозгу, и я решил поделиться такой головоломкой и узнать, одинок ли я во вселенной?
76 wtlz
 
10.07.14
17:45
(69) что-то уже похоже на правду..
77 Господин ПЖ
 
10.07.14
17:46
(75) устроился то к другим?
78 wtlz
 
10.07.14
18:36
(77) к другим