Имя: Пароль:
JOB
Работа
Задачи на собеседовании
0 Мебиус
 
25.02.14
14:05
Самое смешное, из десяти один первую делает не говоря про второю.
А правильно первую сделал только один за все время.



Задача 1

Разработать алгоритм проведения документа "Переоценка взаиморасчетов"
Документ должен откорректировать остаток ресурса "Сумма упр", регистра учета взаиморасчетов с контрагентами.  
Измерения регистра
Контрагент
Валюта  
Ресурсы
Сумма взаиморасчетов
Сумм упр.

Валюта управленческого учета - руб.
Курсы валют хранятся в периодическом регистре сведений.


Задача 2

Создать отчет в котором будут отражаться периоды стабильности курсов валют.

Поля отчета
Валюта
Курс
Дата начала действия курса
Дата окончания действия курса

Учесть тот факт, что курс может не меняться, но запись в РС будет.
Дата окончания действия последнего курса - пустая дата.
1 Ёпрст
 
25.02.14
14:07
Хвастаешься или осуждаешь ?
2 butterbean
 
25.02.14
14:07
я тоже вторую не сделаю ибо нифига не понял ее условие
3 butterbean
 
25.02.14
14:07
(0) получается что у вас всего 10 кандидатов было за все время
4 Мебиус
 
25.02.14
14:08
(2)
Есть периодический РС
Измерения
Валюта
Ресурс
Курс

Нужно получить таблицу  

Валюта Курс Дата начала действия курса Дата окончания действия курса
5 zak555
 
25.02.14
14:09
типа сделал сейчас и получил 150 000 ?
6 Bigbro
 
25.02.14
14:09
(3) глаголы "делает" и "сделал" очень разные, хотя немного похожи.
7 butterbean
 
25.02.14
14:10
(6) подумай еще
8 Karavanych
 
25.02.14
14:11
(5) Я подозреваю, что там сделал и получишь от 80000 :)
9 toypaul
 
гуру
25.02.14
14:11
(0) дальше будет хуже (в плане образования)
10 Мебиус
 
25.02.14
14:11
Пример

Курсы
01012001 USD 30

02012001 USD 30

03012001 USD 31

04012001 USD 32
  
Отчет
USD 30 01012001 03012001
USD 31 03012001 04012001
USD 32 04012001
11 zak555
 
25.02.14
14:13
странная структура регистра
вместо измерения договоры присутствует измерение валюты
12 AlexSSSS
 
25.02.14
14:13
(0) сколько будешь платить тем кто сделает?
13 Мебиус
 
25.02.14
14:14
(11)
Для простоты в каркасной нет договоров.
14 Kalambur
 
25.02.14
14:14
(9) ты все-таки понял вторую задачу? делись, переведи задачу на русский.

(0) а зачем в задаче 1 что-то придумывать? велосипедист? все есть в глобальнике
15 Мебиус
 
25.02.14
14:16
(12)
Если человек сделает правильно и красиво
то разговор на 150 вполне себе предметный.
16 elCust
 
25.02.14
14:17
(15) Неее! 150 только за решение, а потом поговорим от 150 )))
17 Мебиус
 
25.02.14
14:17
(14)
В (10) на пальцах вроде как нарисовано
нет?
18 AlexSSSS
 
25.02.14
14:17
(15) может срока мало даешь?
19 ilpar
 
25.02.14
14:18
Из первых уст:
Когда на собеседовании предлагают решить что-то хитрое, сразу думаешь о вменяемости работодателя и стоит ли с ним работать.
Даже если задание решено.

Задачки уровня спеца по платформе решать готов при этом.
20 Мебиус
 
25.02.14
14:18
(18)
2 часа мало?
У меня чел из связного за 40 мин все сделал.
21 ilpar
 
25.02.14
14:18
(19) от программиста при этом код надо увидеть, но возможно задачку на дом.
22 AlexSSSS
 
25.02.14
14:21
(15) не очень понятно, что ты хочешь именно

например вторая задача
простой выборкой значений регистра и последующей программной обработкой делается за 10 мин

но ты небось хочешь отчет одним красивым запросом?
23 netsurfer
 
25.02.14
14:22
(19) +100500
для меня психологические тесты и нетривиальные задачи со сроком исполнения "до сегодняшнего вечера" как красная тряпка для быка. Анкету может ещё и заполню, потом попрощаюсь и уйду
24 Goggy
 
25.02.14
14:23
(22) А почему бы и нет? Даже быстрее выйдет.
25 Мебиус
 
25.02.14
14:23
(22)
Это и делается одним простым запросом.
Проверка на знание возможностей языка запросов.
26 vhl
 
25.02.14
14:24
(0) Первая простая, вторую надо покрутить в консольке запросов. Консольку то дают или на листке все надо делать?
27 Goggy
 
25.02.14
14:25
(25) Дай мне 150р/мес и я тебе такие задачки буду хоть каждый день щёлкать)
28 Vyachelsv
 
25.02.14
14:25
Это наверное от того что во франь идут безграмотные тупые и жадные.
29 wanderer_ица
 
25.02.14
14:25
(25) Тебе запрос нужен или решение?
30 zulu_mix
 
25.02.14
14:25
2 задача фигня. выбираем курсы за период потом джойним туда даты по =
31 Мебиус
 
25.02.14
14:25
(26)
Дают и консольку и каркасную конфигурацию
и комп с core i7

секретаршу не дают - печаль ))
32 AlexSSSS
 
25.02.14
14:26
(25) это не знание возможностей
это типа как олимпиадные задачи, где проверяется не знания, а способность найти решение хитрой задачи
33 Мебиус
 
25.02.14
14:26
(30)
Ну ну
34 zulu_mix
 
25.02.14
14:27
(33) че ну-ну?
35 Адинэснег
 
25.02.14
14:27
вот и будут тебе на работе олимпиадные задачки по форумам решать  :-D
36 Мебиус
 
25.02.14
14:27
(32)
Ну да
проверяется наличие серого вещества
без этого в нашей работе никуда
37 Мебиус
 
25.02.14
14:28
(34)
Выложи текст запроса - стань героем дня)
38 Мебиус
 
25.02.14
14:28
(27)
приходи на собеседование
поговорим
39 zulu_mix
 
25.02.14
14:29
а, не углядел что надо дату следующего изменения в конец загнать
40 elCust
 
25.02.14
14:30
ВЫБРАТЬ
    КурсыВалют.Период,
    КурсыВалют.Курс КАК Курс
ИЗ
    РегистрСведений.КурсыВалют КАК КурсыВалют

УПОРЯДОЧИТЬ ПО
    Курс
ИТОГИ ПО
    Курс

.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам)

Вывод дерева в отчет.
41 AlexSSSS
 
25.02.14
14:31
основная таблица, к ней два соединения по разность дат = 1 в обе стороны и разным курсам
а потом из нее выбрать различные
42 Мебиус
 
25.02.14
14:33
(40)(41)
фейл
43 AlexSSSS
 
25.02.14
14:33
(42) чой та?
44 Господин ПЖ
 
25.02.14
14:33
(40) хрень какая-то... а если курс скакнул и обратно?
45 Мебиус
 
25.02.14
14:35
Еще раз

На пальцах

Пример

Курсы
01012001 USD 30

02012001 USD 30

03012001 USD 31

04012001 USD 32
  
Отчет
USD 30 01012001 03012001
USD 31 03012001 04012001
USD 32 04012001    17
46 elCust
 
25.02.14
14:35
(44) Это ж не решение. А вариация на тему. Дальше доработать напильником.
47 Flyd-s
 
25.02.14
14:36
>>Документ должен откорректировать остаток ресурса "Сумма упр", регистра учета взаиморасчетов с контрагентами.  

Как именно откорректировать?
48 Vyachelsv
 
25.02.14
14:36
Что то типа

ВЫБРАТЬ РАЗЛИЧНЫЕ
    ПрямойКурс.Период КАК ПериодОт,
    МИНИМУМ(ПрямойКурс2.Период) КАК ПериодДо,
    ПрямойКурс.Валюта,
    ПрямойКурс.Курс
ИЗ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
        КурсыВалют.Период КАК Период,
        КурсыВалют.Валюта КАК Валюта,
        КурсыВалют.Курс КАК Курс
    ИЗ
        РегистрСведений.КурсыВалют КАК КурсыВалют
    ГДЕ
        КурсыВалют.Валюта = &усд) КАК ПрямойКурс
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
            КурсыВалют.Период КАК Период,
            КурсыВалют.Валюта КАК Валюта,
            КурсыВалют.Курс КАК Курс
        ИЗ
            РегистрСведений.КурсыВалют КАК КурсыВалют
        ГДЕ
            КурсыВалют.Валюта = &усд) КАК ПрямойКурс2
        ПО ПрямойКурс.Валюта = ПрямойКурс2.Валюта
            И ПрямойКурс.Курс <> ПрямойКурс2.Курс
            И ПрямойКурс.Период < ПрямойКурс2.Период

СГРУППИРОВАТЬ ПО
    ПрямойКурс.Период,
    ПрямойКурс.Валюта,
    ПрямойКурс.Курс
49 Мебиус
 
25.02.14
14:37
(47)
Как сочтешь нужным
50 mzelensky
 
25.02.14
14:38
(0) Нах***а такие задания давать на собеседовании понять не могу???  

Я всегда такое:

Берем документ Реализация товаров и услуг (допустим из УТ 10.3). В нем есть табличная часть Товары и Табличная часть Услуги. Прошу в консольке написать запрос, который выдаст мне колонки:

1) Номер Документа
2) Контрагент
3) Номенклатура
4) Количество
5) Сумма

При условии что под "Номенклатура" понимается как товар (из ТЧ товары) так и услуги (из ТЧ услуги). Ну т.е. грубо говоря сформировать "СЧЕТ". И добавляю - сделайте максимально правильно,как считаете.

Угадайте какова процентовка написавших?
51 zak555
 
25.02.14
14:38
(13) > Для простоты в каркасной нет договоров.

смотрим разницу Сумма взаиморасчетов * КурсВалютыНаДатуПереоценки - Сумм упр.
если разница +, то делаем приход, если - , то расход на модуль разницы

не ?
52 zulu_mix
 
25.02.14
14:38
ВЫБРАТЬ
                КурсыВалют.Валюта,
                КурсыВалют.Курс,
                МИНИМУМ(КурсыВалют1.Период) КАК НачалоКурса,
                МАКСИМУМ(КурсыВалют2.Период) КАК КонецКурса
ИЗ
                РегистрСведений.КурсыВалют КАК КурсыВалют
                               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют1
                               ПО КурсыВалют.Курс = КурсыВалют1.Курс
                               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют2
                               ПО КурсыВалют.Курс = КурсыВалют2.Курс
ГДЕ
                КурсыВалют.Валюта = &Валюта
                И КурсыВалют.Период МЕЖДУ &ДатаНачала И &ДатаОкончания

СГРУППИРОВАТЬ ПО
                КурсыВалют.Валюта,
                КурсыВалют.Курс

УПОРЯДОЧИТЬ ПО
                НачалоКурса,
                КонецКурса
53 Мебиус
 
25.02.14
14:38
(51)
гениально)
54 Vyachelsv
 
25.02.14
14:39
(0)Первый вообще не ясно
Сделать документ который впрямую пишет движения в регистр.
Даж запрос не нужен.
55 zak555
 
25.02.14
14:39
(53) не так что ли ?
56 Мебиус
 
25.02.14
14:40
(54)
Красиво получится как раз таки с запросом
57 Мебиус
 
25.02.14
14:40
Запрос и пару строк под ним - вот и все
58 H A D G E H O G s
 
25.02.14
14:41
(52) Жесть, как она есть.
59 Flyd-s
 
25.02.14
14:41
(49), хочу удвоить долги контрагентов. Норм будет?
60 AlexSSSS
 
25.02.14
14:41
(52) одинаковый курс в разные периоды типа не бывает?
61 AlexSSSS
 
25.02.14
14:41
(57) таки пара строк кода предусматривается? )))
62 zulu_mix
 
25.02.14
14:42
в (52) забыл в условие джойна добавить дату
63 Господин ПЖ
 
25.02.14
14:45
(46) таким манером и запрос не нужен... .Выбрать() и вперед с песней по выборке - а там реж на периоды как хочешь
64 Starhan
 
25.02.14
14:47
(52)достаточно 1 раз соединиться
например вот так
ВЫБРАТЬ
    МИНИМУМ(КурсыВалют.Период) КАК Период,
    КурсыВалют.Валюта,
    КурсыВалют.Курс,
    МАКСИМУМ(КурсыВалютКон.Период) КАК Период1,
    КурсыВалютКон.Валюта КАК Валюта1
ИЗ
    РегистрСведений.КурсыВалют КАК КурсыВалют
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалютКон
        ПО (РАЗНОСТЬДАТ(КурсыВалют.Период, КурсыВалютКон.Период, ДЕНЬ) = 1)
            И КурсыВалют.Курс = КурсыВалютКон.Курс
            И КурсыВалют.Валюта = КурсыВалютКон.Валюта
ГДЕ
    КурсыВалют.Валюта = &Валюта

СГРУППИРОВАТЬ ПО
    КурсыВалют.Валюта,
    КурсыВалют.Курс,
    КурсыВалютКон.Валюта

УПОРЯДОЧИТЬ ПО
    Период
65 zulu_mix
 
25.02.14
14:47
ВЫБРАТЬ
                КурсыВалют.Валюта,
                КурсыВалют.Курс,
                МИНИМУМ(КурсыВалют1.Период) КАК НачалоКурса,
                МАКСИМУМ(КурсыВалют1.Период) КАК КонецКурса
ИЗ
                РегистрСведений.КурсыВалют КАК КурсыВалют
                               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют1
                               ПО КурсыВалют.Курс = КурсыВалют1.Курс
                                               И КурсыВалют.Период = КурсыВалют1.Период
ГДЕ
                КурсыВалют.Валюта = &Валюта
                И КурсыВалют.Период МЕЖДУ &ДатаНачала И &ДатаОкончания

СГРУППИРОВАТЬ ПО
                КурсыВалют.Валюта,
                КурсыВалют.Курс

УПОРЯДОЧИТЬ ПО
                НачалоКурса,
                КонецКурса
66 Мебиус
 
25.02.14
14:49
(61)
Можно и в одну строку
Движения то нужно записать
67 SoulPower
 
25.02.14
14:50
(65) тебе уже в (60) написали.
68 zulu_mix
 
25.02.14
14:51
(67) запрос внимательно изучи
69 SoulPower
 
25.02.14
14:52
(68) чего изучать. Если курс одинаковый с 1го по 10 и с 20 по 25, то у тебя покажет одинаковый курс с 1го по 25е.
70 AeDen
 
25.02.14
14:52
А мне по первой любопытно...
Там таки нарисовать алгоритм (блок-схему) надо, или реализовать его в 1С?
71 SoulPower
 
25.02.14
14:53
+ (69) я смотрел (64)
)))
72 SoulPower
 
25.02.14
14:53
(68) но у тебя тоже неправильно))
73 Prog-AL
 
25.02.14
14:57
Автор не шутит про 150 http://nn.hh.ru/vacancy/10021533 .
74 SoulPower
 
25.02.14
14:58
(68) если в (64) хотя бы зачаток правильной мысли, то у тебя вообще результат типа
Курсы
01012001 USD 30

02012001 USD 30

03012001 USD 31

04012001 USD 32
  
Отчет
USD 30 01012001 01012001
USD 30 02012001 02012001
USD 31 03012001 03012001
USD 32 04012001 04012001
75 zak555
 
25.02.14
15:03
(57)

никто не написал что-то типа того ?

ВЫБРАТЬ
    ВзаиморасчетыСКонтрагентамиОстатки.Контрагент,
    ВзаиморасчетыСКонтрагентамиОстатки.Валюта,
    ВзаиморасчетыСКонтрагентамиОстатки.СуммаРубОстаток - ВзаиморасчетыСКонтрагентамиОстатки.СуммаВалОстаток * ЕСТЬNULL(КурсВалютСрезПоследних.Курс, 0) КАК СуммаРуб
ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаПереоценки, ) КАК ВзаиморасчетыСКонтрагентамиОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсВалют.СрезПоследних(&ДатаПереоценки, ) КАК КурсВалютСрезПоследних
        ПО ВзаиморасчетыСКонтрагентамиОстатки.Валюта = КурсВалютСрезПоследних.Валюта
76 tenikov
 
25.02.14
15:04
(65) я конечно не программер, но вот это не спасет отца русской демократии?


ВЫБРАТЬ
КурсыВалют.Валюта,
КурсыВалют.Курс,
МИНИМУМ(КурсыВалют.Период) КАК НачДата,
МАКСИМУМ(КурсыВалют.Период) КАК КонДата    
ИЗ
РегистрСведений.КурсыВалют КАК КурсыВалют
ГДЕ
КурсыВалют.Валюта = &Валюта
И КурсыВалют.Период МЕЖДУ &НачалоПериода И &КонецПериода

СГРУППИРОВАТЬ ПО
КурсыВалют.Валюта,
КурсыВалют.Курс

УПОРЯДОЧИТЬ ПО
НачДата
77 Drac0
 
25.02.14
15:08
ВЫБРАТЬ
КурсыВалют.Валюта,
КурсыВалют.Курс,
КурсыВалют.Период,
МИНИМУМ(КурсыВалют1.Период) КАК ПериодНовой
ПОМЕСТИТЬ ВТ
ИЗ
РегистрСведений.КурсыВалют КАК КурсыВалют
  ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют1
  ПО КурсыВалют1.Валюта = КурсыВалют.Валюта
   И КурсыВалют1.Период > КурсыВалют.Период
   И НЕ КурсыВалют1.Курс = КурсыВалют.Курс

СГРУППИРОВАТЬ ПО
КурсыВалют.Валюта,
КурсыВалют.Курс,
КурсыВалют.Период

;

ВЫБРАТЬ
ВТ.Валюта,
ВТ.Курс,
МИНИМУМ(ВТ.Период) КАК ПериодНачала,
ВТ.ПериодНовой

ИЗ
ВТ КАК ВТ

СГРУППИРОВАТЬ ПО
ВТ.Валюта,
ВТ.Курс,
ВТ.ПериодНовой
78 Мебиус
 
25.02.14
15:09
(75)
округление где?
да и выбор когда тогда бы не помешал
79 PR
 
25.02.14
15:09
Первая легкая.

Вторая задача

ВЫБРАТЬ
    КурсыНачало.Валюта КАК Валюта,
    КурсыНачало.Курс КАК Курс,
    МИНИМУМ(КурсыНачало.Период) КАК ДатаНачала,
    МИНИМУМ(КурсыОкончание.Период) КАК ДатаОкончания
ИЗ
    РегистрСведений.Курсы КАК КурсыНачало
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Курсы КАК КурсыОкончание
        ПО КурсыНачало.Валюта = КурсыОкончание.Валюта
            И КурсыНачало.Период < КурсыОкончание.Период
            И КурсыНачало.Курс <> КурсыОкончание.Курс

СГРУППИРОВАТЬ ПО
    КурсыНачало.Валюта,
    КурсыНачало.Курс

Кому интересно, база здесь http://odinesnik.ru/euro.rar :))
80 Drac0
 
25.02.14
15:10
(79) Неправильно :) Надо в два шага
81 SoulPower
 
25.02.14
15:11
(79) Эх, Рома-Рома)))
82 PR
 
25.02.14
15:12
(81) Я типа ошибся? :))
83 SoulPower
 
25.02.14
15:13
(82) ага)
84 PR
 
25.02.14
15:13
(83) Где? :))
85 Drac0
 
25.02.14
15:14
(84)
01012001 USD 30

02012001 USD 30

03012001 USD 31

04012001 USD 32

05012001 USD 30

06012001 USD 30

07012001 USD 31

Для USD 30 твой запрос вернет только период 01012001 - 02012001
86 PR
 
25.02.14
15:16
(85) А, ну да, не учел возможность курсов типа 10 15 10 :))
87 Господин ПЖ
 
25.02.14
15:17
надо брать Рому взад... в хорошем смысле слова...
88 dervishsy
 
25.02.14
15:21
Да. как раньше просто все было. Берешь да обрабатываешь всю эту фигню в цикле и суешь в таблицу значений. А щаз не. Щаз нужно прое..ся денек чтоб запрос правильный составить для отчета который один раз понадобится.
89 Господин ПЖ
 
25.02.14
15:24
>Да. как раньше просто все было. Берешь да обрабатываешь всю эту фигню в цикле и суешь в таблицу значений

ну нафиг... а потом еще пару метров кода чтобы убедится что выбрали то что хотели и отсекли из выборки то что не надо...

единственно запросы в зуп - это утомительно
90 Drac0
 
25.02.14
15:25
(89) Они всего на всего пришли на замену алгоритмам из ЗиК. Вот там утомительно...
91 zak555
 
25.02.14
15:26
(78) ну да, поторопился
так никто не смог этого написать ?
92 Мебиус
 
25.02.14
15:27
(91)
один смог
93 Мебиус
 
25.02.14
15:28
Он и вторую решил
94 zak555
 
25.02.14
15:29
(92) ого, значит я могу рассчитывать на более 40 000 р в месяц
95 zak555
 
25.02.14
15:29
(93) взял ?
96 PR
 
25.02.14
15:29
Ну да, чуть сложнее :))


ВЫБРАТЬ
    ВложенныйЗапрос.Валюта,
    ВложенныйЗапрос.Курс,
    МИНИМУМ(ВложенныйЗапрос.ДатаНачала) КАК ДатаНачала,
    ВложенныйЗапрос.ДатаОкончания
ИЗ
    (ВЫБРАТЬ
        КурсыНачало.Валюта КАК Валюта,
        КурсыНачало.Курс КАК Курс,
        КурсыНачало.Период КАК ДатаНачала,
        МИНИМУМ(КурсыОкончание.Период) КАК ДатаОкончания
    ИЗ
        РегистрСведений.Курсы КАК КурсыНачало
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Курсы КАК КурсыОкончание
            ПО КурсыНачало.Валюта = КурсыОкончание.Валюта
                И КурсыНачало.Период < КурсыОкончание.Период
                И КурсыНачало.Курс <> КурсыОкончание.Курс
    
    СГРУППИРОВАТЬ ПО
        КурсыНачало.Валюта,
        КурсыНачало.Период,
        КурсыНачало.Курс) КАК ВложенныйЗапрос

СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.ДатаОкончания,
    ВложенныйЗапрос.Валюта,
    ВложенныйЗапрос.Курс


http://odinesnik.ru/euro.rar перевыложил :))
97 Drac0
 
25.02.14
15:30
(92) Ну первая же совсем элементарная. Неужели все настолько плохо?
98 Мебиус
 
25.02.14
15:31
(97)
Ну не весело
99 Зойч
 
25.02.14
15:31
(0) Элементарные задачи. На час максисум
100 Guk
 
25.02.14
15:33
(96) Мебиус тебе бы не зачел это решение. Он тут писал, что вложенные запросы - моветон...
101 zak555
 
25.02.14
15:34
(100) может за вложенные запросы они расстались ?
102 Drac0
 
25.02.14
15:34
(101) +1. Первая мысль была :)
103 PR
 
25.02.14
15:36
(100) Да пофиг :))
Было бы красивее в пакетный запрос все вынести, но мне пофиг, это техническмй нюанс :))
104 PR
 
25.02.14
15:37
(101) Смешно :))
105 zak555
 
25.02.14
15:37
(103) такие пофигизмы влияют на принятие решение о приёме на работу
106 PR
 
25.02.14
15:39
(105) Да я как бы никуда не устраиваюсь :))
Более того, устраивался бы, сделал бы как надо. Еще и в тестовый пример все вариации сразу бы забил :))
107 SoulPower
 
25.02.14
15:40
(96) Неправильно))
108 zak555
 
25.02.14
15:40
(106) гуру пишут сходу коды без отладок
109 SoulPower
 
25.02.14
15:40
(107) или правильно
110 CountR
 
25.02.14
15:41
Не, неправильно. Если одинаковые курсы в разные периоды, то получаем только первый период
111 Drac0
 
25.02.14
15:43
(107) Там уже все ок. Только у меня через Вт сделано. Православнее :)
112 Flyd-s
 
25.02.14
15:43
(96), не работает
113 SoulPower
 
25.02.14
15:43
(109) ну в общем, почти правильно
114 Starhan
 
25.02.14
15:43
(110) нет тут все норм
группировка по дате окончания же
115 Flyd-s
 
25.02.14
15:45
Хотя работает, но в разнобой, сортировку по периоду поставил вроде норм
116 Господин ПЖ
 
25.02.14
15:47
ну все теперь Марк обязан половину Мисты взять

150!
каждому!
117 SoulPower
 
25.02.14
15:48
Поздравляем Рому, как первого решившего!)
118 Drac0
 
25.02.14
15:49
(117) Эм... а как же (77)  ? :)
119 CountR
 
25.02.14
15:53
При курсах:
Дата1 10
Дата2 10
Дата3 15
Дата4 10

последняя дата в результат не попадает
120 Drac0
 
25.02.14
15:55
(119) Неужели?
121 SoulPower
 
25.02.14
15:55
(118) сорри) поздравляем тебя, Рома занял 2е место, у него серебро.)))
122 Мебиус
 
25.02.14
15:57
Подытожив
на вторую задачу 1 час норм
123 PR
 
25.02.14
15:57
(113) Почти? :))
Забьешь пример, при котором не работает? :)

База http://77.37.142.90/courses
124 Drac0
 
25.02.14
15:58
(122) Час на обе. А брать того, кто решит за полчаса.
125 zak555
 
25.02.14
16:00
я не понимаю, как народ не мог решить задачу 1
что там трудного ?
126 SoulPower
 
25.02.14
16:00
(123) Нет сортировки по дате. В дополнении к условию (10) это явно указано. Поэтому почти правильно.
127 Karavanych
 
25.02.14
16:01
(124) Это если ищут человека который может быстро писать код в стрессовых ситуациях :)
Я вот из таких...зато потом на работе в спокойной обстановке медленно и размеренно пишу ерунду :) пока не наступит какая-то новая стрессовая ситуация :)
128 Мебиус
 
25.02.14
16:03
(127)
Медленно, размеренно... но недолго и вновь собеседование ))))))))
129 PR
 
25.02.14
16:03
(126) Так она в настройке СКД есть :))
130 SoulPower
 
25.02.14
16:05
(129) тогда правильно, давай зачётку)
131 Karavanych
 
25.02.14
16:05
(128) о нет :) там уже главное писать не хуже чем остальные в отделе :)... а умение незаметно подрывать мотивацию и мораль отдела - это мой супернавык :)
132 Vyachelsv
 
25.02.14
16:05
Такое чувство что Мебиус садист, за 100 тыр выжмет полностью.
Хотя в норм конторах за 100 тыр можно не только нечего не делать, так ещё и вредить
133 Drac0
 
25.02.14
16:07
(132) А разве не 150?
134 Vyachelsv
 
25.02.14
16:09
(133) Ну от января вакансия от 100 до 100
135 Karavanych
 
25.02.14
16:09
(128) Так что лучше берите того кто спокойненько за 2 часа решил вам задачки. Если он в день будет так же размеренно решать 8 подобных задачек - то это на самом деле идеальный 1Сник, так как лучше равномерный стабильный результат...
136 Мебиус
 
25.02.14
16:09
(133)
Есть и на 100 и на 150
на 150 разговор если обе решит красиво в срок,

(134) Кэш почисти, уже месяц ка два варианта есть
137 КРТЩ
 
25.02.14
16:15
(82) да, ты налажал
138 CaptanG
 
25.02.14
16:25
(0) что то подобное задаче 1 недавно делал. 2я не совсем понятно.
139 ilpar
 
25.02.14
16:36
(128) правильная картинка сложилась
140 PR
 
25.02.14
16:44
(137) Олени доскакали наконец? :))
141 Karavanych
 
25.02.14
16:46
(139) А че правильная-то ? Правильная картинка - это не ждать что в условиях собеседования при поиске работы кандидат за пол часика наваяет что-то сложнее чем Предупреждение("ааа") в модуле проведения документа.
Программировать надо в спокойной размеренной обстановке, отключившись от всего мира и без таких жестких временных рамок.
Я понимаю если вы ищите кризисного управляющего - то да... есть смысл заставлять его находить решения за пол часа в условиях стресса.
142 ilpar
 
25.02.14
16:48
(141) согласен. Я про это же.
Я про рабоискателя.
143 ilpar
 
25.02.14
16:50
Загнать программиста легко, заставить его разрабатывать всякую херню в постоянной нехватке времени.
Почитайте про проекты - сам уволится из-за чувства ЖПО.
144 КРТЩ
 
25.02.14
16:51
(140) нет. просто занят был
145 Karavanych
 
25.02.14
16:51
Можете посмотреть классические тесты в социальной психологии на решение задач.
В условиях ограничения по времени и стрессе - люди перестаются справляться с творческими задачами - это нормальная реакция человеческого мозга. Если человека подгонять при решении нетревиальных задач - это приведет только к тому, что он будет просто быстрее тупить :)
При этом реальное ускорении в таких ситуациях только при решении тривиальных задач, которые он уже раньше делал.

(143) Ну и он в условиях постоянной нехватки времени будут писать в большинстве своем лажу, лишь бы кое как работало и дальше. Так бывает целые отделы работают, потому что тупо некогда посмотреть и подумать как делать нормально.
146 КРТЩ
 
25.02.14
16:52
(145)вот почему плохо работать у франча
147 Karavanych
 
25.02.14
16:54
(146) Это да... Хотя там свои варианты, я в свое время так на контрасте по качеству работ у своего франча забрал клиентов и всех переключил на себя лично.
148 КРТЩ
 
25.02.14
16:55
(147) в общем доставил ты франю, а он те зарплату платил )))
149 PR
 
25.02.14
16:58
(144) Так дочитал бы ветку до конца для начала :))
150 КРТЩ
 
25.02.14
16:59
(149) напуркуа?
151 Karavanych
 
25.02.14
17:02
(148) Эти крохи разве зарплата :) тогда они брали 550 в час с клиента, мне из них 150 должно было идти... все справедливо, сначала они меня кидали, потом я их...
152 КРТЩ
 
25.02.14
17:05
(151) блин, ты же согласен был, чтобы тебе платили 150 - так? в чем кидалово? напуркуа работал, если не нравилась сумма?
к работодателю нужно быть лояльным, или не работать на него
153 Avalone2010
 
25.02.14
17:37
(0) А что в этом тесте проверяется? То насколько человек в экстремальных условиях может решать неадекватные задачи? Такое очучение что основная задача снизить самооценку у кондидата(ууууу....лошара не смог решить) и прогнуть его по зп.
154 Karavanych
 
25.02.14
17:43
(152) Ничто не вечно, даже Рим пал. И я лоялен к работодателю -  я его не засираю, к работе отношусь добросовестно в основном, распоряжения выполняю, стараюсь поддерживать хорошие отношения. Но блин я прекрасно понимаю, что если вдруг окажется что я буду не нужен работодателю - то он меня уволит. Поэтому отношусь к этому зеркально - если вдруг оказалось что мне не нужен работодатель - то я не буду лить слез - он остается за бортом и исключается из процесса. Это задача работодателя делать так чтобы мне было выгодно на него работать - если он об этом не озаботиться - то начнет нести так сказать убытки. В конце концов цель работодателя получать максимум прибыли, почему моя цель должна отличаться - моя такая же... максимизация моей прибыли и минимизация моих трудозатрат.
155 France
 
25.02.14
17:51
Не нравятся мне условия первой задачи. Там же сто тысяч почему напрашиваются
156 Prog2014
 
25.02.14
17:54
(0)смейся дальше )))
только ответь на один вопрос
что же в таком случае является определяющим при устройстве к тебе? не спрашивать когда зарплата?
157 Prog2014
 
25.02.14
17:57
(0)первая задача зачем корректировка если УУ в рублях?
158 zak555
 
25.02.14
17:58
(157) учи матчасть
159 Prog2014
 
25.02.14
18:00
(0)по второй нет проблем в консоли несколько минут накидать если без извращений то запрос и к нему пара вложенных ещё раз вопрос (156)
160 France
 
25.02.14
18:00
(157) есть вероятность, что это специальные грабли.
161 ilpar
 
25.02.14
18:20
Напоследок:
Вообще если ожидаете что кандидат будет решать такое, надо правильно продавать себя.

Плюс, возможно до вашей компании адекватные специалисты просто не доходят. Франчи многих распугали. Чур-чур.
162 ilpar
 
25.02.14
18:21
Как вариант решение задачи отдается на дом на пару дней.
Минусы: сделает не сам.
Но собеседование то на что? Чтоб уровень понять.
163 Мебиус
 
25.02.14
18:23
(156)
Определяющим фактором является умение программировать на 8 ке, наличие мозгов и смекалки.
164 Мебиус
 
25.02.14
18:25
(162)
Человек уровня PR, приходил к аналогичный нам паренек из связного решает эти задачи за час полтора без всяких напрягов в любой обстановке.

Это плевые задачки то на самом деле.
В работе намного сложнее, но там как раз есть время подумать в спокойной обстановке, посоветоваться и тд.
165 France
 
25.02.14
18:46
(163) мозги и смекалка не помогут в решении задачи 1. Там знания предметной области нужны.
166 Karavanych
 
25.02.14
18:48
(164) И че, где этот паренек из связного ? :)
167 France
 
25.02.14
18:49
(166) там же, где PR?))
168 elCust
 
25.02.14
18:50
(166) Предположительно. Ушел в нормальное предприятие. Без загонов.
169 Мебиус
 
25.02.14
18:51
(166)
1С сделала предложение от которого он не смог отказаться
170 Мебиус
 
25.02.14
18:52
(165)
В первой задаче вообще смекалка не нужна.
И предметная область.
Только умение программировать.
171 France
 
25.02.14
18:54
(170) и что сказать на 157 и 158?
172 France
 
25.02.14
18:58
(171)+ если решать задачу с теми данными, что есть - запросто до почти любого решения можно докопаться. Например, докопаться, если валюту Упр учета прошить в код, если дату переоценки взять датой документа..
173 Prog2014
 
25.02.14
19:04
(172)и в обратную  если поля не значит колонки то можно сказать см. ниже и будет совсем просто )))
174 Prog2014
 
25.02.14
19:06
к (173) и прифигеть когда окажется что нужно было временную таблицу использовать и/или какую-нибудь фичу компановки явленную в предпоследнем релизе платформы
175 Мебиус
 
25.02.14
19:14
(171)
на (157) я обычно говорю - Спасибо, мы с вами свяжемся.
176 France
 
25.02.14
19:48
(175) )) программист должен не только программировать. он  должен знать что программирует. это уже уровень консультант- программиста
177 PR
 
25.02.14
19:58
Черт побери, стоило уйти из фирмы, как тут же на собеседование пошли косяками люди уровня PR :))

Интересно, кстати, уровень PR — это сколько :))
178 PR
 
25.02.14
20:00
(169) А вот у меня человек от предложения Газпрома отказался, кстати :))
Приятно, черт возьми :))
179 France
 
25.02.14
20:04
Народ жаждет вашу беседу на форуме - так пусть они не дождутся))
180 acanta
 
25.02.14
20:06
программировать не умею. знание предметной области устарело. Газпрому мне предложить нечего.
181 Мебиус
 
25.02.14
20:11
(177)
Не косяками, всего один со светлой головой.  
Хотел 150, мы согласились.
Но он предпочел 1С.    

Смешно кстати - у него даже вышки нет.
182 ilpar
 
25.02.14
20:12
(181) времена такие. Люди с вышкой уже на постах сидят и ничера не делают.
183 Мебиус
 
25.02.14
20:18
(182)
Нет, приходила масса людей с профильным ВО которые лыка не вяжут.
184 Ranger_83
 
25.02.14
20:25
В ГП социалочку режут говорят сильно
185 PR
 
25.02.14
20:30
Говорят, в Москве кур доят
186 Мебиус
 
25.02.14
20:33
(185)
По телеку который месяц говорят о сокращении расходов на персонал в госмонополях.
Причем именно на административно управленческий персонал.
187 PR
 
25.02.14
20:35
(186) Это не тот случай, поверь :))
Предлагали 150 :))
188 Prog2014
 
25.02.14
21:08
(181)был один сферический конь в вакууме да и тот ушел туда не знаю куда

если у вас там по конфе нужно понять что в этом регистре ещё есть некая инфа о взаиморасчетах скажем во франках то вы должны сообщить об этом иначе ваш гений это просто человек чья шизофреническая флуктуация чисто случайно совпала с вашими выдумками

на самом деле понятно кого вы ищите, того кто готов подписаться на время делать не просто слабо формализованные задачи а даже задачи не понятые вами. а нафига оно вам, бюджет распилили теперь программист пусть ипется если клиент доволен будет что-нибудь получит
189 Prog2014
 
25.02.14
21:13
(178)мне предлагает Газпром от 120 это баян уже просто в ответ на дибильный вопрос есть ли у вас уже предложения о работе

мало того куча шарашек которые с трудом удерживают конкурс на поставку в Газпром некой производимой только в раше в трех местах например аппаратуры заявляют на собеседовании что они дочки Газпрома и дают 75-90 на условиях 50% оклад 20%премия которую может снять руководство 20%премия которую может снять наяальник 10% премия которую могут снять кадры за нарушение режиме без предварительного согласования, и если нет предварительно подписанной служебки на сверхурочку то за неё не заплатят. но главное выполнить задачу. так что не удивительно
190 Prog2014
 
25.02.14
21:14
(186)да. теперь они из зама гендиректора станут руководителями проектов 1С )))
191 Ranger_83
 
25.02.14
21:18
(187)отказался почему?
192 Diamond905
 
25.02.14
21:19
Час сидел думал, топик не читал если что. Надумал сию конструкцию:

ВЫБРАТЬ
    КурсыВалют.Валюта КАК Валюта,
    КурсыВалют.Курс КАК Курс,
    КурсыВалют.Период КАК Период,
    КурсыВалют1.Период КАК Период1,
    МИНИМУМ(КурсыВалют2.Период) КАК Период2
ПОМЕСТИТЬ Курсы
ИЗ
    РегистрСведений.КурсыВалют КАК КурсыВалют
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют1
        ПО КурсыВалют.Валюта = КурсыВалют1.Валюта
            И КурсыВалют.Курс = КурсыВалют1.Курс
            И КурсыВалют.Период <= КурсыВалют1.Период
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют2
        ПО КурсыВалют.Валюта = КурсыВалют2.Валюта
            И КурсыВалют.Курс <> КурсыВалют2.Курс
            И КурсыВалют.Период <= КурсыВалют2.Период
ГДЕ
    КурсыВалют.Валюта = &Валюта

СГРУППИРОВАТЬ ПО
    КурсыВалют.Валюта,
    КурсыВалют.Курс,
    КурсыВалют.Период,
    КурсыВалют1.Период
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Курсы.Валюта КАК Валюта,
    Курсы.Курс КАК Курс,
    МИНИМУМ(Курсы.Период) КАК ДатаНачала,
    Курсы.Период2 КАК ДатаОкончания
ИЗ
    Курсы КАК Курсы

СГРУППИРОВАТЬ ПО
    Курсы.Валюта,
    Курсы.Курс,
    Курсы.Период2

УПОРЯДОЧИТЬ ПО
    Валюта,
    ДатаНачала,
    Курс,
    ДатаОкончания
АВТОУПОРЯДОЧИВАНИЕ

Вроде затестил на вариантах со сменой курса вверх вниз работает, на варианте со многоразовой установкой одного курса работает..
193 Diamond905
 
25.02.14
21:20
В идеале отбор по валюте можно было бы тоже во временную таблицу вынести чтоб соединялось быстрее
194 kumena
 
25.02.14
21:52
"Нет, приходила масса людей с профильным ВО которые лыка не вяжут."

а профильное в 1с это какое?
195 ice777
 
25.02.14
22:11
(194) экономист.)
196 Kvant1C
 
25.02.14
22:14
(194) Может такое: Специальность 080801 "Прикладная информатика в экономике"
http://ieumo.mstu.edu.ru/spec/080801.shtml
197 ice777
 
25.02.14
22:18
А может вырасти и из из админа-аникея со среднеспециальным. Эти с особо горящим взором бывают.
198 acanta
 
25.02.14
22:22
(196) откройте голосовалку, че гадать..
199 acanta
 
25.02.14
22:22
(197) возможно, но для этого ему нужен руководитель-наставник..
200 Flyd-s
 
25.02.14
22:24
201 PR
 
26.02.14
00:14
(189) См. (187)
202 PR
 
26.02.14
00:17
(191) Пара моментов с графиком напрягли + эффект Печенкина :))
Вот за последнее и приятно :))
203 EugeniaK
 
26.02.14
02:30
(0) Первая совсем простая. Или я просто что-то недопоняла.
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |   &ДатаДокумента КАК Период,
        |   ВзаиморасчетыОстатки.Контрагент,
        |   ВзаиморасчетыОстатки.Валюта,
        |   (ВЫРАЗИТЬ(ВзаиморасчетыОстатки.СуммаВзаиморасчетовОстаток * КурсыВалютСрезПоследних.Курс КАК ЧИСЛО(15, 2))) - ВзаиморасчетыОстатки.СуммаУпрОстаток КАК СуммаУпр
        |ИЗ
        |   РегистрНакопления.Взаиморасчеты.Остатки(&ДатаДокумента, ) КАК ВзаиморасчетыОстатки
        |       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаДокумента, ) КАК КурсыВалютСрезПоследних
        |       ПО ВзаиморасчетыОстатки.Валюта = КурсыВалютСрезПоследних.Валюта
        |ГДЕ
        |   (ВЫРАЗИТЬ(ВзаиморасчетыОстатки.СуммаВзаиморасчетовОстаток * КурсыВалютСрезПоследних.Курс КАК ЧИСЛО(15, 2))) <> ВзаиморасчетыОстатки.СуммаУпрОстаток";

    Запрос.УстановитьПараметр("ДатаДокумента", Дата);
    Движения.Взаиморасчеты.Загрузить(Запрос.Выполнить().Выгрузить());
204 EugeniaK
 
26.02.14
02:31
Вторая даже интересная.
Никаких временных таблиц или вложенных запросов в ней не нужно
ВЫБРАТЬ РАЗЛИЧНЫЕ
    КурсыВалют.Курс,
    МАКСИМУМ(КурсыВалютОт.Период) КАК ПериодОт,
    МИНИМУМ(КурсыВалютПо.Период) КАК ПериодПо,
    КурсыВалют.Валюта КАК Валюта
ИЗ
    РегистрСведений.КурсыВалют КАК КурсыВалют
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалютПо
        ПО КурсыВалют.Валюта = КурсыВалютПо.Валюта
            И КурсыВалют.Период <= КурсыВалютПо.Период
            И КурсыВалют.Курс <> КурсыВалютПо.Курс
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалютОт
        ПО КурсыВалют.Валюта = КурсыВалютОт.Валюта
            И КурсыВалют.Период >= КурсыВалютОт.Период
            И КурсыВалют.Курс <> КурсыВалютОт.Курс

СГРУППИРОВАТЬ ПО
    КурсыВалют.Курс,
    КурсыВалют.Период,
    КурсыВалют.Валюта

УПОРЯДОЧИТЬ ПО
    Валюта,
    ПериодОт
205 sda553
 
26.02.14
06:02
(204)
если курс был по датам
01.01 30
02.01 31
03.01 31
04.01 30
05.01 31
06.01 30

то у тебя выйдет, что курс 31 был с 02.01 по 05.01 не учтется разрыв в 04.01
206 sda553
 
26.02.14
06:04
все не читал, первую задачу решили уже?
207 sda553
 
26.02.14
06:06
(205) Ошибся, не заметил, что там группировка по периоду еще
208 sda553
 
26.02.14
06:12
(204) У мея такое подозрение, что курс надо брать на дату взаиморасчета
209 Drac0
 
26.02.14
06:45
(204) Вы первое значение теряете
210 Feunoir
 
26.02.14
07:11
Подозреваю, что странице к пятой выяснится, что решения у второй задачи нет, а Мебиус просто таким образом отсеивает неугодных кандидатов. Ну и чешет своё эго :))
211 Drac0
 
26.02.14
07:22
(210) решение уже в (77)
212 Starhan
 
26.02.14
07:37
(164)
Тот человек со Связного мог просто уже знать задачу про курсы валют да и первую тоже.

(154) Цениться как раз умение решать задачи в стрессовой ситуации. Потому что в реале так и будет. Чем больше стрессовая ситуация тем короче срок ее решения :)
213 Feunoir
 
26.02.14
07:41
(211) Прикольно. Вроде правильно работает. Утащу в кладовочку.
214 Prog2014
 
26.02.14
07:46
(73)прикольно. человек который покажет что его манера кодить совпадает с заблуждениями (0) получит 150 тыров )))
215 Prog2014
 
26.02.14
07:46
к (214) каждому кодеру по 150. окладом )))
216 КРТЩ
 
26.02.14
09:14
(214) оно и верно, на фига диру чтобы прог был умнее?
217 КРТЩ
 
26.02.14
09:19
(204) ну конечно не нужно временных таблиц - мляяяяяяяя
лучше три раза лезть в регистр
218 ilpar
 
26.02.14
09:24
У Джобса было:
Нет смысла нанимать толковых людей, а затем указывать, что им делать. Мы нанимаем людей, чтобы они говорили, что делать нам.
219 el7cartel
 
26.02.14
09:26
(217) а то)))
220 EugeniaK
 
26.02.14
09:27
(209) Действительно, недосмотрела.
Как ни крутила, без временной таблицы не получается
ВЫБРАТЬ РАЗЛИЧНЫЕ
    КурсыВалют.Курс,
    МИНИМУМ(КурсыВалютПо.Период) КАК ПериодПо,
    КурсыВалют.Валюта КАК Валюта,
    КурсыВалют.Период
ПОМЕСТИТЬ ВТ_ПериодыПО
ИЗ
    РегистрСведений.КурсыВалют КАК КурсыВалют
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалютПо
        ПО КурсыВалют.Валюта = КурсыВалютПо.Валюта
            И КурсыВалют.Период < КурсыВалютПо.Период
            И КурсыВалют.Курс <> КурсыВалютПо.Курс

СГРУППИРОВАТЬ ПО
    КурсыВалют.Курс,
    КурсыВалют.Валюта,
    КурсыВалют.Период
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ПериодыПО.Валюта КАК Валюта,
    ВТ_ПериодыПО.Курс,
    МИНИМУМ(ВТ_ПериодыПО.Период) КАК ПериодОт,
    ВТ_ПериодыПО.ПериодПо
ИЗ
    ВТ_ПериодыПО КАК ВТ_ПериодыПО

СГРУППИРОВАТЬ ПО
    ВТ_ПериодыПО.ПериодПо,
    ВТ_ПериодыПО.Валюта,
    ВТ_ПериодыПО.Курс

УПОРЯДОЧИТЬ ПО
    Валюта,
    ПериодОт
221 Starhan
 
26.02.14
09:27
(218) или вот еще цитата

Я бы сказал, что Дэвид Огилви, основатель гигантского рекламного агентства «Ogilvy and Mather», понимал закон убывания компетенции. Деннис Уотли в книге «Новая динамика победы» утверждает, что Оджилви имел обыкновение давать каждому новому менеджеру своей организации русскую матрешку. В этой матрешке находилось еще пять матрешек, одна меньше другой. На самой маленькой было написано следующее выражение: «Если каждый из нас будет нанимать людей, которые меньше нас, то мы станем компанией карликов. Но если каждый из нас будет нанимать людей, которые больше нас, то "Ogilvy and Mather" станет компанией великанов».
222 КРТЩ
 
26.02.14
10:05
(218) франчи всегда так поступают, берут норм прогера и делают из него писателя костылей в цейтноте
(220)у тебя те же яица тока сбоку - лезешь в регистр дважды
223 EugeniaK
 
26.02.14
10:21
(222) Да, в итоге в (220) получилось то же самое, что в (77)
Похоже, наиболее оптимальный вариант.
В регистр в любом случае 2 раза лезть.
224 Prog2014
 
26.02.14
10:26
(218)только в нашей раше барские замашки блатняков
"Я ХОЧУ!" и всё.
- что делать нужно?
- заменить ут 10 на ERP!
- зачем?
- мы старой базе не доверяем мы там остатки переепли поэтому всё в новую базу
- на ERP?...
- нам сказали что к ней можно подключаться по интернету удаленно. это уже решено.
- ну раз решено так решено. значит вы понимаете что исправить остатки менее трудозатратно но приоритет отдаете развитию.
- вы правильно поняли!
только один раз посчастливилось работать с финдиршей которая и обсуждала перед этим и отвечала за свои требования.
225 Karavanych
 
26.02.14
10:32
(224) А мне один раз посчастливилось работать с финдиром, который раньше был 1С-программистом :) Нормально было, наверно в первый раз в жизни я видел нормальный вменяемый учет на предприятии.
226 КРТЩ
 
26.02.14
10:37
(223) в регистр надо лезть один раз, пробуй и будет тебе щастье
(224) это когда "у Коли ERP, а мы че лохи?" )))
227 Aleks73
 
26.02.14
10:42
Посмотрел посты....
Есть старый анекдот о программистах, теперь будет новый --
можем решить проблему:
- быстро
- правильно
- как нравится Мебиусу
ВЫБЕРИТЕ ЛЮБЫЕ ДВА ПУНКТА
228 EugeniaK
 
26.02.14
10:42
(226) Оптимальный вариант из тех, что я вижу, это соединение регистра с самим собой. Т.е. два обращения. Предложить вариант проще, с одним обращением к регистру, можешь?
229 Karavanych
 
26.02.14
10:48
(228) Что за кододроч... работает и ладно :)
230 sda553
 
26.02.14
10:50
(228) sql сервер сам соптимизирует запрос.
231 Karavanych
 
26.02.14
10:53
Вот серьезно, я лично не вижу смысла в оптимизации данного запроса вообще. Таким отчетом пользуются 1 раз в пол года... так что правильно - написать его как попало лишь бы корректным был результат, и заняться другими делами :)
232 КРТЩ
 
26.02.14
10:54
(228)вытащи данные в вт и с ней соединяйся
(229) жж0ш
(230) sql оптимизирует так как захочет, а не так как надо
233 PR
 
26.02.14
10:54
(228) А в чем проблема-то? Элементарнейшая ситуация.

ВЫБРАТЬ
    Курсы.Период,
    Курсы.Валюта,
    Курсы.Курс
ПОМЕСТИТЬ Курсы
ИЗ
    РегистрСведений.Курсы КАК Курсы
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВложенныйЗапрос.Валюта,
    ВложенныйЗапрос.Курс,
    МИНИМУМ(ВложенныйЗапрос.ДатаНачала) КАК ДатаНачала,
    ВложенныйЗапрос.ДатаОкончания
ИЗ
    (ВЫБРАТЬ
        КурсыНачало.Валюта КАК Валюта,
        КурсыНачало.Курс КАК Курс,
        КурсыНачало.Период КАК ДатаНачала,
        МИНИМУМ(КурсыОкончание.Период) КАК ДатаОкончания
    ИЗ
        Курсы КАК КурсыНачало
            ЛЕВОЕ СОЕДИНЕНИЕ Курсы КАК КурсыОкончание
            ПО КурсыНачало.Валюта = КурсыОкончание.Валюта
                И КурсыНачало.Период < КурсыОкончание.Период
                И КурсыНачало.Курс <> КурсыОкончание.Курс
    
    СГРУППИРОВАТЬ ПО
        КурсыНачало.Валюта,
        КурсыНачало.Период,
        КурсыНачало.Курс) КАК ВложенныйЗапрос

СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.ДатаОкончания,
    ВложенныйЗапрос.Валюта,
    ВложенныйЗапрос.Курс
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ Курсы
234 PR
 
26.02.14
10:55
+(233) Плюс проиндексировать ВТ ессно
235 Drac0
 
26.02.14
11:12
(232) Не, я знаю, что объединение таблицы с самой собой может вызвать интересные эффекты в производительности и для стабильности лучше ВТ. Но вот в данном случае в плане быстродействия еще спорно, что лучше: дважды залезть в РС или сначала выгрузить его ЦЕЛИКОМ в ВТ, потом ее проиндекировать и работать уже с ней.
236 КРТЩ
 
26.02.14
11:23
(235) ясень пень лучше забрать данные в вт
237 Drac0
 
26.02.14
11:33
(236) Даже с затратой на индексацию ВСЕГО регистра заново?
238 PR
 
26.02.14
11:35
(237) Что мешает проверить? Например на количестве записей 1 000 000 штук? :))
239 КРТЩ
 
26.02.14
11:36
(237) тут много факторов например субд черти где
240 EugeniaK
 
26.02.14
11:36
(233) Фигня получилось. То же самое, только из ВТ, а не регистра. Дольше будет. (234) Индексировать то зачем? В данном случае лишнее.
(236) Лучше из регистра напрямую.
241 КРТЩ
 
26.02.14
11:36
(238) в рабочее время?
242 КРТЩ
 
26.02.14
11:37
(240) у меня не лучше
243 Prog2014
 
26.02.14
11:39
(238)проверить глупость?

короче: ищут туда в (0) кодеров. обученных но тупых.
тупые кодеры нужны почти везде. чтобы ЧСВ блатнячков не раздавить.
244 PR
 
26.02.14
11:39
(241) Что сложного-то?
Тебе нагенерить миллион записей в http://77.37.142.90/courses? :))
245 КРТЩ
 
26.02.14
11:57
(244) у тя вагон времени? генери записи, а я потом запрос крутану
246 Starhan
 
26.02.14
12:02
(245) вагон времени тут не нужен. 5 минут на обработку. И подождать пока выполниться :)
247 zak555
 
26.02.14
12:04
(246) 5 минут очень много
248 Flyd-s
 
26.02.14
12:13
В общем я правильно понимаю, что для зарплаты в 150 главное уметь создавать красивые вырвиглазные запросы к базе за ограниченное время или это личная прихоть Мебиуса?
249 elCust
 
26.02.14
12:17
(248) Главное уметь мыслить так, чтобы никто ничего не понял, но сочли тебя гением.
250 Ksandr
 
26.02.14
12:36
Над второй было интересно повозиться, первая - если разбирался с переоценкой в бух учете типовых - решается, ну за час максимум.

Вторая:

ВЫБРАТЬ
    КурсыВалют.Период,
    КурсыВалют.Валюта,
    КурсыВалют.Курс,
    МИНИМУМ(ДОБАВИТЬКДАТЕ(КурсыВалютКонецИнтервала.Период, ДЕНЬ, -1)) КАК КонецИнтервала
ПОМЕСТИТЬ ВТ_ИсходныеДанные
ИЗ
    РегистрСведений.КурсыВалют КАК КурсыВалют
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалютКонецИнтервала
        ПО КурсыВалют.Валюта = КурсыВалютКонецИнтервала.Валюта
            И КурсыВалют.Период < КурсыВалютКонецИнтервала.Период
            И КурсыВалют.Курс <> КурсыВалютКонецИнтервала.Курс

СГРУППИРОВАТЬ ПО
    КурсыВалют.Период,
    КурсыВалют.Валюта,
    КурсыВалют.Курс
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ИсходныеДанные.Валюта КАК Валюта,
    ВТ_ИсходныеДанные.Курс,
    МИНИМУМ(ВТ_ИсходныеДанные.Период) КАК НачалоИнтервала,
    ВТ_ИсходныеДанные.КонецИнтервала
ИЗ
    ВТ_ИсходныеДанные КАК ВТ_ИсходныеДанные

СГРУППИРОВАТЬ ПО
    ВТ_ИсходныеДанные.Валюта,
    ВТ_ИсходныеДанные.Курс,
    ВТ_ИсходныеДанные.КонецИнтервала

УПОРЯДОЧИТЬ ПО
    Валюта,
    НачалоИнтервала
251 PR
 
26.02.14
12:37
(245) Сгенерил. Сделал три отчета :)) Воюй :))
252 Karavanych
 
26.02.14
12:38
(249) Вы не правы, надо говорить что вы из Связного.
253 Мебиус
 
26.02.14
12:51
(248)
Главное иметь подкоркой определённое количество серого вещества.

Если есть мозг, человек решит любую задачу.
Если нет то селяви, сиди ровно и не мечтай.
254 КРТЩ
 
26.02.14
12:52
(251) я свой запрос хочу крутить
255 PR
 
26.02.14
12:57
(254) Сделай свой внешний отчет и крути, кто мешает? :))
256 КРТЩ
 
26.02.14
14:08
кручу
257 PR
 
26.02.14
14:15
(256) С 1 000 000 записей я переборщил, сервачок подвис, переделал на 10 000 записей :))

Сделал по три теста.

Без ВТ: 220, 216, 212 сек.
С ВТ с индексированием: 36, 40, 31 сек.
С ВТ без индексирования: 32, 49, 27 сек.

Так что как-то вот так :))
258 Drac0
 
26.02.14
14:19
(257) Фигасе разница 0_о Неожиданно... Стоп. Там отбор по валюте идет при заборе в ВТ или весь регистр забираешь?
259 Flyd-s
 
26.02.14
14:21
(257), интересно сколько бы думал, если обрабатывать в цикле вместо одного запроса
260 КРТЩ
 
26.02.14
14:22
(259) лучше сразу застрелись
261 КРТЩ
 
26.02.14
14:23
(255) отвалился твой сервак
262 КРТЩ
 
26.02.14
14:25
(250) фигня какая то
263 КРТЩ
 
26.02.14
14:28
(258) безо всяких отборов у меня на серваке (субд и кластер) в копии нормально забираешь весь регистр в ВТ и потом соединяй ее как хочешь саму с собой 2281

хотя в жизни надо с отбором периода и валюты
264 PR
 
26.02.14
14:29
(258) Весь. В регистре одна валюта.
265 PR
 
26.02.14
14:29
(261) Я в курррсе :)) Понять и простить :)) Вроде запахал снова :))
266 PR
 
26.02.14
14:32
(263) Так таблицы идентичные до тех пор, пока не получишь треугольник, так что можно отбор по одной таблице и по валюте делать и по периоду, как хочешь. А потом уже ее соединять саму с собой.
267 КРТЩ
 
26.02.14
14:33
(265) чорд, поработать дашь )))
268 PR
 
26.02.14
14:34
(267) Я там тестовый стенд сделал, можно свой текст запроса вставлять, пробуй :))
Он время выполнения запроса выдает в секундах :))
269 КРТЩ
 
26.02.14
14:37
(268)да я внешнюю консоль взял )))) генератор мля, нагенерил курсы посекундно ))))
время выполнения 16,712
270 PR
 
26.02.14
14:39
(269) Ну, если один курс на день, то что-то дохрена дней получается :))
271 КРТЩ
 
26.02.14
14:46
(270) 19,955
короче, больше 20 сек не получается
272 PR
 
26.02.14
14:48
(271) Сейчас еще раз запустил.
Видимо, сервер прокашлялся, теперь с ВТ делает 4 секунды :))
273 Flyd-s
 
26.02.14
14:50
Отчет с 10к записей за какое время выводит?
274 КРТЩ
 
26.02.14
14:51
(272) я те сказал максимальное время 20 сек - больше не буду крутить - работать надо
275 PR
 
26.02.14
15:01
(273) Я отчет не вывожу, зачем?
Там не будет разницы, думаю.
276 Drac0
 
26.02.14
15:17
(272) А без ВТ сейчас?
277 PR
 
26.02.14
15:20
(276) 4 секунды :)))))
278 Drac0
 
26.02.14
15:46
(277) :)))
279 PR
 
26.02.14
15:47
Генерить лимон записей не буду и не упрашивайте, опять сервак упадет :))
280 Flyd-s
 
26.02.14
15:52
Тупым перебором 10к записей обрабатывает за время порядка 1сек
281 КРТЩ
 
26.02.14
16:17
(280) ТС хотит запрос
282 Flyd-s
 
26.02.14
16:23
30к записей за 3сек.
100к записей стабильно за 11 секунд.

Растет линейно. Результатов выполнения запроса на 100к записей я так и не дождался, вырубил его.
283 Flyd-s
 
26.02.14
16:24
(281), я знаю. Но критерий отбора выбран странный
284 PR
 
26.02.14
16:26
(282) Это ты в своей базе?
285 Flyd-s
 
26.02.14
16:29
(284), да, на локалке
286 Flyd-s
 
26.02.14
16:30
Процедура КнопкаВыполнитьНажатие(Кнопка)
ТабДок = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");
    
    ОбластьШапка = Макет.ПолучитьОбласть("Заголовок");
    ОбластьСтрока = Макет.ПолучитьОбласть("Строка");    
    
    ТабДок.Вывести(ОбластьШапка);
    
        //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    КурсыВалют.Период КАК Период,
        |    КурсыВалют.Курс,
        |    КурсыВалют.Валюта.Представление КАК ВалютаПредставление
        |ИЗ
        |    РегистрСведений.КурсыВалют КАК КурсыВалют
        |
        |УПОРЯДОЧИТЬ ПО
        |    Период
        |АВТОУПОРЯДОЧИВАНИЕ";

    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    ЭтоПервый = Истина;
    ТекущийКурс = 0;
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ОбластьСтрока.Параметры.ВалютаПредставление = ВыборкаДетальныеЗаписи.ВалютаПредставление;
        
        Если ТекущийКурс <> ВыборкаДетальныеЗаписи.Курс Тогда
            ТекущийКурс = ВыборкаДетальныеЗаписи.Курс;
            ОбластьСтрока.Параметры.ДатаКонечная = ВыборкаДетальныеЗаписи.Период;
            
            Если ЭтоПервый Тогда
                ЭтоПервый = ложь;
            Иначе
                ТабДок.Вывести(ОбластьСтрока);
            КонецЕсли;
            
            ОбластьСтрока.Параметры.Курс = ВыборкаДетальныеЗаписи.Курс;
            ОбластьСтрока.Параметры.ДатаНачальная = ВыборкаДетальныеЗаписи.Период;
        КонецЕсли;    
    КонецЦикла;

    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    ОбластьСтрока.Параметры.ДатаКонечная = "";
    ТабДок.Вывести(ОбластьСтрока);
    ТабДок.Показать();
КонецПроцедуры
287 DeeK
 
26.02.14
17:05
а я условие первой не понял(
288 Prog2014
 
27.02.14
07:47
(287)что ты не понял?
ты специалист и не задаешь лишних вопросов
получил задание и быстро сделал
потом начальник объяснил тебе что ты лох
ты адекватный и понимаешь что начальник всегда прав
289 Мебиус
 
27.02.14
12:06
(288)
"ты специалист и не задаешь лишних вопросов "

ржу нимагу ))))))))))
лошара без опыта именно так и сделает
а специалист выяснит все досконально перед тем как пальцем двинет.
290 Мебиус
 
27.02.14
12:43
(287)
Не понял - спрашивай.
Умение задавать вопросы - немаловажная часть нашей работы.
291 Kalambur
 
27.02.14
12:57
(290) ага, по Вам заметно v8: Можно ли интегрировать отчет на СКД в управляемую форму?
:) ничего личного
292 Kalambur
 
27.02.14
12:58
Видать каждый понимает по-своему слово "задача"
293 PR
 
27.02.14
13:21
(291) А он-то здесь причем? :))
294 Мебиус
 
27.02.14
14:00
Как показывает практика
Грамотных и умных маловато,

Печаль.....
295 КРТЩ
 
27.02.14
14:08
(294) как показывает практика, грамотные и умные любят уважуху и деньги, а не "у нас с тобой разный уровень, вот тебе пока что 100К" ))))
а печать бывает, когда человеку ЧСВ одно место прищемило
296 КРТЩ
 
27.02.14
14:18
(283) ничего странного. время выполнения сильный критерий, но он не единственный при оптимизации
297 Мебиус
 
27.02.14
14:22
(294)
Разный уровень развития головного мозга)
ну да - мир жесток, привыкай
298 Flyd-s
 
27.02.14
14:23
(296), да. Еще есть расход памяти, загрузка диска, загрузка ЦП, время разработки, стоимость поддержки и т.д. Запрос возможно выиграет по затраченному времени на разработку, при условии что у руля будет специалист по SQL, но по остальным параметрам адское решение
299 КРТЩ
 
27.02.14
14:33
(298) сама по себе задача кривая
300 КРТЩ
 
27.02.14
14:36
я тебе уже в (295) отписался
301 _Alexander_V_
 
27.02.14
18:22
И мои 5 копеек
ВЫБРАТЬ
    КурсыВалют.Период,
    КурсыВалют.Валюта,
    КурсыВалют.Курс
ПОМЕСТИТЬ ВТ
ИЗ
    РегистрСведений.КурсыВалют КАК КурсыВалют
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Конец.Курс КАК Курс,
    Конец.Валюта КАК Валюта,
    МИНИМУМ(Начало.Период) КАК НачалоПериода,
    МАКСИМУМ(Конец.Период) КАК КонецПериода
ИЗ
    ВТ КАК Конец
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ КАК Начало
        ПО Конец.Курс = Начало.Курс
            И Конец.Валюта = Начало.Валюта
            И Конец.Период <= Начало.Период

СГРУППИРОВАТЬ ПО
    Конец.Валюта,
    Конец.Курс

УПОРЯДОЧИТЬ ПО
    Валюта,
    НачалоПериода
302 Drac0
 
27.02.14
19:09
(301) уже был такой неправильный вариант с контрпримером.
303 Ksandr
 
27.02.14
21:56
(262) Обоснование?

У меня есть не менее интересная задача:

Есть спр.Организации, есть спр.РолиИсполнителей, есть спр.Пользователи
Пользователь может быть исполнителем в нескольких организациях.

Необходимо одним запросом получить роли пользователя для списка организаций.

Пример данных:
ООО Ромашка
ООО Рога и копыта
ООО Тритатат
ООО Дринидат

Роли
ФинДир
Казначей

РС:
Ромашка - Финдир - Пупкин
Рога И Копыта - Финдир - Пупкин
Тритатат - Финдир - Пупкин
ООО Дринидат - Финдир - Пупкин
Ромашка - Казначей - Петров
Рога и Копыта - Казначей - Петров

Параметры запроса:
Пользователь: Пупкин
Орг-ии Ромашка, Рога И Копыта, Дринидат

Результат:
Финдир
304 PR
 
27.02.14
22:04
(303) Какая сложная задача. Аж прослезился :))
305 Мебиус
 
27.02.14
22:12
(303)
Жесть
306 Мебиус
 
27.02.14
22:12
слов нет
задача тысячелетия
307 Prog2014
 
28.02.14
08:10
(289)ты ж мне писал что все непонятки должны быть поняты по названию регистра а за вопрос сразу досвидос.
308 Prog2014
 
28.02.14
08:11
и ещё раз: не забывай указывать что это в упп. не рви людям мозг существованием валютных взаиморасчетов и рублевой управленки ещё и в одной базе
309 Prog2014
 
28.02.14
09:10
(0)ещё раз почитал сейчас эти ветки
твоя проблема в том что ты ищешь не того с кем вы будете понимать друг друга а того чье мнение совпадет с твоим
сам догадайся как это называется
310 КРТЩ
 
28.02.14
09:59
(301) фигня
311 Господин ПЖ
 
28.02.14
10:05
>не забывай указывать что это в упп. не рви людям мозг существованием валютных взаиморасчетов и рублевой управленки ещё и в одной базе

с человеком для которого это будет камнем преткновения - вообще говорить не о чем
312 Господин ПЖ
 
28.02.14
10:08
>твоя проблема в том что ты ищешь не того с кем вы будете понимать друг друга а того чье мнение совпадет с твоим

причем тут "совпадение мнений"... ищется человек совершивший минимальное кол-во ошибок на квадратный метр кода...

но увы они иногда бывают... за "граница" меня на одном собеседовании самого мордой возили по столу - забыл совсем, стресс все таки
313 КРТЩ
 
28.02.14
10:46
(312) то самое чувство когда облажался

именно, что мелочь какую нибудь не заметишь на собесе и все, ты уже ниже плинтуса
314 Господин ПЖ
 
28.02.14
10:47
>именно, что мелочь какую нибудь не заметишь на собесе и все, ты уже ниже плинтуса

но и винить не кого - сам виноват... что не убило - сделало сильнее
315 PR
 
28.02.14
11:37
(308) LOL
То есть ты хочешь сказать, что первая задача из http://odinesnik.ru/task.txt нигде, кроме как в УПП не имеет смысла? :))
316 КРТЩ
 
28.02.14
12:07
(315) я хочу сказать что эта задача нигде не имеет смысла
317 PR
 
28.02.14
12:11
(316) Ага. По твоему скромному мнению :))
318 SoulPower
 
28.02.14
12:13
(316) Она имеет смысл, как минимум на собеседовании, для определения уровня кандидата.)
319 Господин ПЖ
 
28.02.14
12:14
задача как задача... без решет и перестановки значений...

абсолютно 1с-ная "тупая" и прозрачная шняга

2 регистра и запрос по ним
320 Ksandr
 
28.02.14
13:56
(304) (306) Пару лет назад по подобной задаче была тема, решивших правильно было по пальцам посчитать.
Может я при решении слишком сложный подход использовал. Опишите в двух словах ваш подход к решению
321 Ksandr
 
28.02.14
14:50
Дополню (303)

Параметры запроса:
Пользователь: Петров
Орг-ии Ромашка, Рога И Копыта, Дринидат

Результат:
Пусто
322 Feunoir
 
28.02.14
14:54
(321) Подозреваю, что нужно уточнить условие. Роль есть если она есть во всех организациях или роль есть, если она есть хотя бы в одной организации.

Разные задачи - разные решения.
323 Господин ПЖ
 
28.02.14
14:55
(322) это видно из примера...
324 Feunoir
 
28.02.14
14:58
(323) Из первого не видно, из второго уже видно
325 PR
 
28.02.14
15:13
(321) Я так и подозревал, что ты просто неверно сформулировал условие.
326 PR
 
28.02.14
15:17
(321) Надеюсь возможно динамически формировать текст запроса?
327 Feunoir
 
28.02.14
16:13
(326) Да вроде получается и без динамического формирования. Единственное, в запрос приходится дополнительно передавать размер списка организаций
328 Feunoir
 
28.02.14
16:15
Вроде как-то так

ВЫБРАТЬ
    вт_Роли.Роль,
    КОЛИЧЕСТВО(вт_Роли.Роль) КАК Количество
ИЗ
    вт_Роли КАК вт_Роли
ГДЕ
    вт_Роли.Организация В
            (ВЫБРАТЬ
                вт_Организации.Организация
            ИЗ
                вт_Организации)
    И вт_Роли.Физлицо = &Сотрудник

СГРУППИРОВАТЬ ПО
    вт_Роли.Роль

ИМЕЮЩИЕ
    КОЛИЧЕСТВО(вт_Роли.Роль) = &РазмерСписка
329 PR
 
28.02.14
16:32
(328) Я бы как-то так сделал.

ВЫБРАТЬ
    &Организация1 КАК Организация
ПОМЕСТИТЬ Организации

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    &Организация2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    &Организация3

ИНДЕКСИРОВАТЬ ПО
    Организация
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    РолиПользователей.Роль КАК Роль
ПОМЕСТИТЬ Роли
ИЗ
    РегистрСведений.РолиПользователей КАК РолиПользователей
ГДЕ
    (РолиПользователей.Организация = &Организация1
            ИЛИ РолиПользователей.Организация = &Организация2
            ИЛИ РолиПользователей.Организация = &Организация3)
    И РолиПользователей.Пользователь = &Пользователь

ИНДЕКСИРОВАТЬ ПО
    Роль
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Организации.Организация КАК Организация,
    Роли.Роль КАК Роль
ПОМЕСТИТЬ РолиОрганизаций
ИЗ
    Организации КАК Организации
        ПОЛНОЕ СОЕДИНЕНИЕ Роли КАК Роли
        ПО (ИСТИНА)

ИНДЕКСИРОВАТЬ ПО
    Организация,
    Роль
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РолиОрганизаций.Роль,
    МИНИМУМ(ВЫБОР
            КОГДА РолиПользователей.Организация ЕСТЬ NULL
                ТОГДА ЛОЖЬ
            ИНАЧЕ ИСТИНА
        КОНЕЦ) КАК ЕстьВсеОрганизации
ИЗ
    РолиОрганизаций КАК РолиОрганизаций
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РолиПользователей КАК РолиПользователей
        ПО РолиОрганизаций.Организация = РолиПользователей.Организация
            И РолиОрганизаций.Роль = РолиПользователей.Роль

СГРУППИРОВАТЬ ПО
    РолиОрганизаций.Роль

ИМЕЮЩИЕ
    МИНИМУМ(ВЫБОР
            КОГДА РолиПользователей.Организация ЕСТЬ NULL
                ТОГДА ЛОЖЬ
            ИНАЧЕ ИСТИНА
        КОНЕЦ) = ИСТИНА
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ Организации
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ Роли
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ РолиОрганизаций
330 Господин ПЖ
 
28.02.14
16:55
не эстетично как-то...
331 Flyd-s
 
28.02.14
16:56
(329), а если завтра вместо трех организаций будут 4 или 2?
332 PR
 
28.02.14
17:09
(331) Читай (326).
333 PR
 
28.02.14
17:09
(330) Как раз эстетично.
Вот (328) я не понял например.
334 PR
 
28.02.14
17:10
(333) Точнее понял конечно, но как-то не проникся. Что-то не то, не цепляет :))
335 Prog2014
 
28.02.14
18:13
(0)150 тыров?
336 Feunoir
 
28.02.14
18:21
(334) Ну да, а кучу условий по ИЛИ это, конечно, цепляет :)
337 PR
 
28.02.14
18:38
(336) Это фигня, это можно на ОБЪЕДИНИТЬ заменить.
338 PR
 
28.02.14
18:38
+(337) Просто уж лень было
339 Ksandr
 
28.02.14
18:48
(326) Я эту задачу решал без динамического формирования.

Мой подход к решению:


ВЫБРАТЬ
  Организации.Ссылка
ПОМЕСТИТЬ ВТ_Организации
ИЗ
  Справочник.Организации КАК Организации
ГДЕ
  Организации.Ссылка В (&Организации)
;
ВЫБРАТЬ
  КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ_Организации) КАК КоличествоОрганизаций
ПОМЕСТИТЬ ВТ_Количество
ИЗ
  ВТ_Организации
;
ВЫБРАТЬ
  РолиИсполнителей.Роль,
  КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РолиИсполнителей.Организация) КАК КоличествоОрганизаций
ИЗ
  РегистрСведений.РолиИсполнителей КАК РолиИсполнителей
  ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Организации
  ПО РолиИсполнителей.Организация = ВТ_Организации.Организация
  И РолиИсполнителей.Исполнитель = &Исполнитель,
  ВТ_Количество
СГРУППИРОВАТЬ ПО
  РолиИсполнителей.Роль
ИМЕЮЩИЕ
  КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РолиИсполнителей.Организация) =
ВТ_Количество.КоличествоОрганизаций

340 PR
 
28.02.14
18:52
(339) Чет я перемудрил, надо было организации конечно же просто из справочника с отбором выбрать.
341 Ksandr
 
28.02.14
18:57
(340) Как мне кажется твое решение получилось более наглядным в случае если по этой задаче доработку будет делать другой сотрудник.
Скажем так ему меньше потребуется "умения разбираться в чужом коде"
342 PR
 
28.02.14
18:58
(341) Я эту цель и преследовал, если честно.
343 Feunoir
 
28.02.14
20:01
(339) Ага. Аналогично моему варианту, но без передачи в запрос количества организаций. Идейку про количество утащу в кладовочку.
344 Мебиус
 
02.03.14
14:44
(340)
Рома, поспешишь людей несмещишь)))  

в (341) тебе просто не хотят правду говорить
345 Мебиус
 
02.03.14
14:45
Динамическое формирование запроса - зло
иногда оправданное, но тем не менее
346 Prilepsky
 
02.03.14
15:33
Немного оффтопика:

Процедура ПодпискаНаСобытиеПриЗаписиРКО(Источник, Отказ, Параметр1 = ложь , Параметр2 = неопределено) Экспорт

    Параметр1 = Истина;

КонецПроцедуры

Чем будет равен "Параметр2" ? :)
347 zak555
 
02.03.14
16:03
(346) что передашь, то и будет
348 Prilepsky
 
02.03.14
16:07
(347) Все условия написаны.
Параметр2 будет равен Истина.
И я хз почему.
349 Drac0
 
02.03.14
16:48
(348) Ну, значит, передали в процедуру Истина. В чем вопрос-то?
350 PR
 
02.03.14
18:07
(344) Я промолчу :))
И по поводу (345) тоже :))
351 Prilepsky
 
02.03.14
18:28
(349) Нет.
Это подписка на событие "при записи" и ничего не передается в неё :)

Параметр1 и Параметр2 почему-то связаны, т.е. если Параметр1 присвоить какое-нибудь значение, то и у параметр2 будет тоже самое значение.
352 Мебиус
 
03.03.14
09:41
(350)
Зря
353 Мебиус
 
06.03.14
13:53
Последние вести с полей.

Как показала практика.
Публикация задач на мисте никак сами задчи не скомпрометировала.  

Если человек дерево, то он даже с листингом запрос на напишет.
354 Karavanych
 
06.03.14
13:55
(353) Я боюсь что вы не верно трактуете вести с полей :)
Как показывает практика к вам даже за хорошую Зп люди нормальные не идут :)
355 Мебиус
 
06.03.14
13:58
(354)
хи хи ))
356 Мебиус
 
06.03.14
13:58
(354)
А ну да
пенсионеры нам точно не нужны )
357 Karavanych
 
06.03.14
14:00
(356) Причем тут пенсионеры ? :)
вы на собеседовании такие же нелепо с людьми разговариваете ? :)
358 Мебиус
 
06.03.14
14:14
(357)
пенсионеры - это про тебя лично.
359 Karavanych
 
06.03.14
14:19
(358) Ничего себе ? и типа я щас что должен заплакать что меня в 31 назвали пенсионером ?
бред какой-то...
360 Prog-AL
 
06.03.14
14:21
(359) У него в компутере 2039 год.
361 Karavanych
 
06.03.14
14:30
(360) Ну это все объясняет :)
362 Мебиус
 
06.03.14
14:37
(359)
а судя по постам 81 не меньше )
363 Karavanych
 
06.03.14
14:48
(362) Даже спрашивать не буду как вы выводы делали и по каким постам :) хотя че 81 то... сразу уж 121, вековая мудрость сквозит в каждом моем слове :)
364 ilpar
 
06.03.14
16:36
(359)опытные программисты франчам не нужны.
Им нужны управляемые кодеры в ваакуме(пусть таких почти и не бывает), в реале же умные проги легко осваивают и другие предметные области через 204 года.
365 ilpar
 
06.03.14
16:37
(364) 2-4
366 ilpar
 
06.03.14
16:38
Блин...заело. Ладно тайм-аут возьму :)
367 КРТЩ
 
06.03.14
17:04
(329) (339) напуркуа лезть в справочник Организации, если в параметрах запроса список организаций?

почему не сделать запрос сразу к регистру?

ВЫБРАТЬ РАЗЛИЧНЫЕ
    РолиИсполнителей.Организация,
    РолиИсполнителей.Роль
ИЗ
    РегистрСведений.РолиИсполнителей КАК РолиИсполнителей
ГДЕ
    РолиИсполнителей.Организация В ИЕРАРХИИ(&СписокОрганизаций)
    И РолиИсполнителей.Пользователь = &Пользователь
368 КРТЩ
 
06.03.14
17:11
(355)смотри, лопнешь от ЧСВ
369 Господин ПЖ
 
06.03.14
17:14
(367) это не то что нужно в (303+321)
370 Мебиус
 
06.03.14
17:15
(369)
не успел )
371 Господин ПЖ
 
06.03.14
17:15
но динамический запрос без крайней нужды - это плохо
372 Господин ПЖ
 
06.03.14
17:18
(369) + ибо задача бы не имела смысла - слишком простая

хотя после невозможности части кандидатов нарисовать "оборотку" за выбранный период по номенклатуре (НО/Приход/Расход/КО) из плоской таблицы движений - уже ничего не удивляет...
373 КРТЩ
 
06.03.14
17:23
(329) с какого не то?

(303) Необходимо одним запросом получить роли пользователя для списка организаций
(321) Параметры запроса:
Пользователь: Петров
Орг-ии Ромашка, Рога И Копыта, Дринидат
374 Господин ПЖ
 
06.03.14
17:24
(373) >с какого не то?

с такого... по твоим параметрам результат запроса должен быть ПУСТ
375 КРТЩ
 
06.03.14
17:25
(372)напуркуа ее рисовать, она есть в любой типовой
376 Господин ПЖ
 
06.03.14
17:25
(375) бугага...
377 КРТЩ
 
06.03.14
17:25
(374) крутани сам, ниразу не пуст
378 Господин ПЖ
 
06.03.14
17:26
нам так же говорили что у нас "неверная задача" и данные надо уложить в РН и натравить на это СКД
379 Господин ПЖ
 
06.03.14
17:27
(377) а он должен быть П.У.С.Т.

иначе бы Рома не сидел и лоб не морщил с динамическим запросом
380 КРТЩ
 
06.03.14
17:29
не должен быть пуст

задача не должна быть оторванной от жизни - иначе вопрос "а на фига?" не даст ее решить
381 Господин ПЖ
 
06.03.14
17:31
>задача не должна быть оторванной от жизни

она как раз жизненная - "Реляционное деление"
382 Господин ПЖ
 
06.03.14
17:36
>иначе вопрос "а на фига?" не даст ее решить

не дает решить задачу либо низкий уровень кандидата либо ограничения платформы... если ограничение - то на что? тут же pivot или fetch не просят сделать
383 КРТЩ
 
07.03.14
10:27
(382) в (303) вполне жизненная задача, получить роли пользователя, в любой типовой есть РС по ролям с тремя измерениями Организация - Пользователь - Роль
если в параметр передается список организаций и пользователь и в РС есть записи ролей для этого пользователя с какого результат запроса будет пуст?
не вижу смысла мудрить с обращениями к справочникам Организаций/Пользователей/Ролей, если кому то нравится морщить лоб - это его личное горе
384 Господин ПЖ
 
07.03.14
10:35
>с какого результат запроса будет пуст?

это было бы удобно иногда в типовых... ибо тут логическое "И", а в типовых "ИЛИ" - типовая грабля:

включаем юзера в группу с RLS "склады" + без RLS по организациям и во вторую группу - наоборот RLS организации + нет ограничений по складам. В итоге человек видит все, хотя в идее должен быть урезан "по самое не балуйся" RLS организации + RLS склады...

в все "Группы пользователей" в итоге при "сложных" правах вырождаются в "Группа для юзера Вася"
385 unregistered
 
07.03.14
10:52
(19) >> Когда на собеседовании предлагают решить что-то хитрое...
>> Задачки уровня спеца по платформе решать готов при этом.

Вообщето в (0) как раз задачи уровня спеца по платформе.

Первое задание - типовое для бухгалтерской подсистемы (там есть билеты с задачей о создании документа, производящего регламентную переоценку валютных остатков с отнесением курсовых разниц в доходы или расходы).

Второе задание - тоже вполне себе задача уровня спеца.
386 PR
 
07.03.14
11:05
(367) Написал же, что эволюционно вывел этот текст запроса, свежим взглядом не посмотрел. Если бы посмотрел, то убрал бы динамический текст запроса в выборка из справочника ессно.
387 PR
 
07.03.14
11:15
(380) Не стоит выдавать свой низкий потолок умственных способностей и кругозора за оторванность задачи от жизни.
Тем более, что есть такое понятие, как абстрактное мышление, где вообще не идет речи о том, чтобы задача была обязательно жизненной, а умение решать такие задачи порой ценится куда выше, чем умение кодить.

По-твоему тесты типа http://5ballov.qip.ru/test/proverka-iq/test-na-logiku-umeyut-li-letat-krokodilyi/?again и Test.  Все крокодилы умеют летать чушь собачья?
388 andr_andrey
 
07.03.14
11:22
(385) ограничение по времени и стресс помогут усомниться в знаниях кандидата, хотя кандидат - стоящий.
Гораздо проще в беседе расспрашивать, что делал, как делал, как долго, какие плюсы подхода, какие минусы, можно использовать отрывки кода. Такое собеседование похоже на беседу спецов.
389 КРТЩ
 
07.03.14
11:24
(384) при чем тут группы доступа к РС Роли Исполнителей?
390 КРТЩ
 
07.03.14
11:25
(387) кр0савчеГ
391 Prog2014
 
07.03.14
11:34
(329)хоть проиндексировал )))
392 Мебиус
 
07.03.14
13:27
(388)
Да но к сожалению не показывает уровень специалиста.
Бывает что человек двух слов связать не может - волнуется. но но поверку гений.

Как раз чаще наоборот  - соловьем заливается, а сам буратино.
393 Господин ПЖ
 
07.03.14
13:30
я честный... молчаливый буратино
394 andr_andrey
 
07.03.14
15:49
(392) да, но соловью на вопрос как делал и плюсы/минусы решения, тяжело ответить.
395 Мебиус
 
08.03.14
16:54
(394)
слова ничего не значат
важен результат
это абсолютная оценка, лишенная субъективного фактора
396 Охотница за головами
 
13.03.14
18:23
(0)решила своих коллег спросить про эти задачки, кто-то ответил.
"Если задача для кодера, то нет всех требований, чтобы разработать алгоритмы.

Если для консультанта- разработчика, то первая простая. Вторая посложнее.

Подвох может быть в том, что у автора свое видение «правильности» .
397 Мебиус
 
13.03.14
18:30
(396)
"Если задача для кодера, то нет всех требований, чтобы разработать алгоритмы"

LOL

Задача именно для разработчика,
чего тут консультировать.

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


по второй я даже не представляю какое авторское видение "правильности" тут возможно
запрос либо работает либо нет
398 sda553
 
14.03.14
11:28
(397) >> Свое видение правильности заключается в требовании для первой задачи использовать момент времени и реализации в виде выгрузки результата запроса в таблицу движений - как это сделано в типовых.

Мда, я был как то о твоем опыте был более высокого мнения.
399 PR
 
14.03.14
11:35
(397) Нахрена выгружать результат в ТЗ?
В типовых это делается потому, что движения нельзя передавать между клиентом и сервером.
А тут-то зачем?
400 Ksandr
 
14.03.14
11:45
(387) Суть задачи - определение наличия роли исполнителя ВО ВСЕХ переданных параметром организациях.

Если для какой-либо организации нет записи в регистре запрос должен вернуть пустой результат.
401 PR
 
14.03.14
11:49
(400) Спасибо, КЭП
402 Ksandr
 
14.03.14
11:55
(401) Блин, не на тот пост ответил. (400) к (380)
403 Ksandr
 
14.03.14
11:56
(387) Я, кстати, пробовал давать такие задачи людям с техническими профессиями, но не имеющими отношения к программированию. Выяснил, что у большинства из них большие сложности с абстрактным мышлением.
404 Karavanych
 
14.03.14
12:11
(403) Да так себе вывод у вас. Просто там чистая булева логика которая программистам привычна, вот и все. Дело не в абстрактном мышлении в целом, а в том что программисты постоянно работают с абстракциями такого рода, потому и решают подобные тесты быстрее и лучше.
405 Ksandr
 
14.03.14
12:33
Есть, кстати, достаточно интересная и не простая задача. В чистом виде применение ей в жизни, наверное, не найдется, но подход к ее решению мне несколько раз пригождался.
Итак.
Есть таблица получаемая запросом:
ВЫБРАТЬ
    "ЗначениеПоля1" КАК Поле,
    "Широкий" КАК Характеристика1,
    "Узкий" КАК Характеристика2,
    "Гладкий" КАК Характеристика3,
    "Большой" КАК Характеристика4,
    "Узкий" КАК Характеристика5
ПОМЕСТИТЬ ИсходныеДанные

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "ЗначениеПоля2",
    "Автоматический",
    "Торговый",
    "Кассовый",
    "Сервисный",
    "Используемый"

Необходимо отсортировать значения в колонках. Все действия выполняются в запросе.

(396) Думаю вашим разработчикам так же будет интересна эта задача.
406 Мебиус
 
14.03.14
12:45
(399)
внимательность еще раз внимательность
ТЗ <> таблица движений  

Движения.ВзаиморасчетыСконтрагентами.Загрузить(Запрос.Выполнить.Выгрузить())
407 PR
 
14.03.14
12:47
(406) А, ну да.
В типовых правда в ТЗ выгружается.
И имхо это далеко не самое главное в задаче :))
408 Господин ПЖ
 
14.03.14
12:52
(405) >Необходимо отсортировать значения в колонках

у вас поразительная способность формулировать задачи так что нефига не понятно сразу, а только с 2-3 поста...
409 PR
 
14.03.14
12:53
(408) Да он хочет сделать транспонирование + сортировка.
Но задача мутная конечно :))
410 Господин ПЖ
 
14.03.14
12:55
(409) в смысле он pivot хочет?
411 Ksandr
 
14.03.14
12:57
(408) по работе их решать приходится, а не ставить. Эта с одного из собеседований

ЗначениеПоля1 | Широкий | Узкий | Гладкий | Большой | Узкий
ЗначениеПоля2 | Автоматический | Торговый | Кассовый | Сервисный | Используемый

На выходе:
ЗначениеПоля1 | Большой | Гладкий | Узкий | Узкий | Широкий
ЗначениеПоля2 | Автоматический | Используемый | Кассовый | Сервисный | Торговый
412 PR
 
14.03.14
12:58
(410) Мы же в приличном месте, держи себя в руках :))
413 Господин ПЖ
 
14.03.14
13:04
через case перекладывать по полям... но это надо знать сколько полей в выборке да и вообще тупо...
414 Ksandr
 
14.03.14
13:06
(413) Так и делается. Фиксированное количество, в даннос случае 5.
415 Господин ПЖ
 
14.03.14
13:07
мля...
416 Pasha
 
14.03.14
13:26
(0) И прально... Откуда я знаю..тестовые это задачи..Или тебе просто в лом их самому делать и ты с помощью собеседований халявные отчеты получаешь
417 Мебиус
 
14.03.14
13:31
(416)
<0> Еврейчик стайл
418 ultrannge89
 
14.03.14
14:18
А я вот всегда думал что тестовые задания придумали жадные работодатели, чтобы ты им на халяву решал проблемы, а они потом подумали брать тебя или нет.
419 Ksandr
 
14.03.14
14:49
(418) (419) Сами подбирать сотрудников пробовали?
420 Ksandr
 
14.03.14
14:50
блин, опять с нумерацией накосячил. (416,418)
421 КРТЩ
 
14.03.14
15:22
(400) не вкурил сразу
и быстрее будет запросить роли запросом, а потом проверить результат по организации
422 КРТЩ
 
14.03.14
16:43
(418) на задание надо смотреть
423 _nik-nik_
 
14.03.14
17:46
я бы 2-рой вариант решил вот так:

ВЫБРАТЬ
    КурсыВалют.Валюта КАК Валюта,
    КурсыВалют.Курс,
    КурсыВалют.Кратность,
    МИНИМУМ(КурсыВалют.Период) КАК ПериодМин,
    МАКСИМУМ(ВЫБОР
            КОГДА КурсыВалютСрезПоследних.Период ЕСТЬ NULL
                ТОГДА КурсыВалют.Период
            ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
        КОНЕЦ) КАК ПериодМакс
ИЗ
    РегистрСведений.КурсыВалют КАК КурсыВалют
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(, ) КАК КурсыВалютСрезПоследних
        ПО КурсыВалют.Валюта = КурсыВалютСрезПоследних.Валюта
            И КурсыВалют.Период = КурсыВалютСрезПоследних.Период
            И КурсыВалют.Курс = КурсыВалютСрезПоследних.Курс
            И КурсыВалют.Кратность = КурсыВалютСрезПоследних.Кратность
            И КурсыВалют.КурсНБУ = КурсыВалютСрезПоследних.КурсНБУ
            И КурсыВалют.КурсУМВБ = КурсыВалютСрезПоследних.КурсУМВБ

СГРУППИРОВАТЬ ПО
    КурсыВалют.Валюта,
    КурсыВалют.Курс,
    КурсыВалют.Кратность

УПОРЯДОЧИТЬ ПО
    Валюта,
    ПериодМин
424 betty
 
18.03.14
15:41
Еще 5 задачек в архив :-)
http://www.fayloobmennik.net/3661546
425 PR
 
18.03.14
15:51
(424) Какое-то классическое алгоритмическое программирование.
В 1С малоценные умения, чаще важны другие вещи :))
426 be-may
 
18.03.14
16:01
(424) что-то 3 задачу не пойму.
427 el7cartel
 
18.03.14
16:03
(426) проверь разницу и добавь значение!
428 be-may
 
18.03.14
16:09
(427) ааа... размер массива на 1 меньше,чем число натуральных чисел.. теперь дошло об чем речь.
спасибо)
429 betty
 
18.03.14
16:11
(425) угу
430 PR
 
19.03.14
12:57
Хе, посмотрел, кто-то развлекается в http://77.37.142.90/courses :))
Ну что, кто осилит решение второй задачи при миллионе записей? :))
Чур, сервак мне не ронять :))
431 AlexITGround
 
19.03.14
14:58
(430) серьезно...юзают что ли?
432 PR
 
19.03.14
15:01
(431) Ну так, изредка :))
Валюту добавили, курсы :))
433 Ksandr
 
21.03.14
14:49
(424) Из Хомнета задачки?
Если да - не хватает второго листика с прикладными задачами
434 DeeK
 
09.04.14
14:22
1 - Сколько было рукопожатий в комнате со 100 людьми, при условии что каждый жмет каждому. То же самое для 1000, 1000000 и т.д.
2 - 3 станции ветки метро, человек в произвольное время подходит на среднюю станцию и садится в первый попавшийся поезд (в сторону станции А или в сторону станции Б). Интервалы между поездами одинаковые. Почему так оказалось что на станции Б он был в 2 раза чаще. Расстояние между станциями - не играет роли.
435 PR
 
09.04.14
14:25
(434) 1. 100! 1000! 1000000! и т. д.
2. Потому что теория вероятности.
436 Ksandr
 
09.04.14
14:39
(434) 1. (A1 + An) / 2 * n
2. Потому что "в произвольное время подходит на среднюю станцию и садится в первый попавшийся"
437 Ksandr
 
09.04.14
14:41
где n = (ЧислоЧеловек - 1)
438 Laerys
 
09.04.14
14:44
(433) Если кому попроще, то только первый
439 PR
 
09.04.14
14:53
(435) А, не. По первой n * (n / 2 + 0,5).
440 Trainee
 
09.04.14
15:13
(434)
1)Арифметическая прогрессия.
2)Скоростной спуск по эскалатору?)
441 toypaul
 
гуру
09.04.14
15:45
(439) для 3х получается 6.

апще-то правильно будет (N*N - N)/2

и объяснение простое. делаем матрицу N*N вычитаем диагональ (потому что сам себе никто не жмет). и делим пополам, чтобы не считать каждое рукопожатие дважды.

для 3х соот-но получаем 3 рукопожатия.
442 toypaul
 
гуру
09.04.14
15:50
(434) 2) допустим это кольцевая ветка с движением в одну сторону. и чтобы добраться до А нужно проехать через Б.
443 PR
 
09.04.14
15:52
(441) Вообще-то для трех должно быть шесть.
444 PR
 
09.04.14
15:53
+(443) А, пардон, сам с собой же не здороваешься :))
Тогда n * (n / 2 - 0,5).
445 zak555
 
10.04.14
08:10
рома, детскую задачу по уравнениям математический физики решишь ?
446 AlexITGround
 
10.04.14
09:03
(443) все верно, для 3-х человек 6-ть рукопожатий
447 toypaul
 
гуру
10.04.14
09:19
(446) не возьмут тебя на такую работу. или возьмут только к онанистам-рукопожатникам.
448 toypaul
 
гуру
10.04.14
09:20
(446) про 3х человек это вообще задача для 1 класса
449 AlexITGround
 
10.04.14
09:21
епт, себя не исключил)
450 PR
 
10.04.14
12:39
(445) Попробуй :))
451 SUA
 
10.04.14
12:51
(434).2 - пример
интервал 3 минуты,
0я в сторону Б (вход в период 0-2 минуты в сторону Б)
2я в сторону А (вход в период 2-3 минуты в сторону А)
452 VladZ
 
10.04.14
12:58
вот еще отличная задача (задаю ее на собеседовании на прога):

Бухгалтер просит вас перенумеровать счета фактуры по организации ООО "..." за текущий месяц. Посмотрев ситуацию, вы находите там всего 10 счетов фактур. Что бы вы сделали?
453 PR
 
10.04.14
13:24
(452) Предложил бы буху переномеровать вручную.
454 Ksandr
 
10.04.14
13:33
(452) Воспользовался бы консолью запросов с обработкой результата запроса.
455 VladZ
 
10.04.14
13:46
(454) Вот тут ты и попал... Правильный ответ в (453).
456 VladZ
 
10.04.14
13:47
+455 Программист должен понимать, что он должен делать, а что в силах сделать сами пользователи. Иначе сведется к тому, что всю дурацкую работу свалят на прога.
457 bolobol
 
10.04.14
13:56
(456) Ага, это сегодня и сейчас их 10, а завтра станет 11, послезавтра 12... - "Он меня всё время заставляет вручную работать, я как дура каждый день перенумеровываю документы" - прог лишён премии)
458 bolobol
 
10.04.14
13:58
Зависит от руководства. Есть экземпляры, которые требуют все хотелки описывать как заявки на автоматизацию, и такая ерунду, как в (452) практически не появляется, или делается по доброте душевной в свободное время.
459 Пушкин
 
10.04.14
14:17
В (0) нет одназначно трактуемого технического задания, соответсвенно не понятно, что хочет получить автор!!!
А так хорошая задача, что бы показать загруженность кадровички!
460 Ksandr
 
10.04.14
14:58
(455) Да тут правильный ответ зависит от того, кто ставит задачи и расставляет приоритеты. Если бух - и бух говорит надо сделать, а в ответ получает - не буду, делайте сами то как то не хорошо. Если есть руководитель и система учета задач - то такой задачи не будет
461 КРТЩ
 
10.04.14
15:02
(454) +100
в (455) ответ франча
462 PR
 
10.04.14
15:25
(457) Ты не прав. Прав (456).
463 PR
 
10.04.14
15:35
(460) К чему словоблудие?
Подошел бух и попросил переномеровать 10 документов. Всё.
В такой ситуации нужно предложить переномеровать их вручную.
После этого может оказаться, что бух не понимал, что написание обработки будет дольше и дороже, чем переномеровать вручную.
Также может оказаться, что это регулярная процедура, тогда нужно писать обработку.
Также может оказаться, что бух будет настаивать на том, чтобы это сделал программист, потому что бух готов оплатить эту работу. Тогда нужно пожать плечами и переномеровать документы. Причем на выбор программиста, вручную или написать обработку.
464 Ksandr
 
10.04.14
22:18
(463) Не добавить не убавить.
Если взглянуть с другой стороны:
- Если франч - решение таких не интересных задач может подтолкнуть буха обращаться часто за такой поддержкой в результате чего можно будет прокачать скилл инженера ИТС. Ей же проще будет позвонить и заплатить чем самой это делать.
- Если фикси - то вопрос приоритетов, потому как оплачено.
- Если фри - 500 руб. Делать?
465 PR
 
10.04.14
22:32
(464) Рассуждение мальчика на побегушках.
Заглядывание хоть на каплю дальше пятиминутных задач абсолютно меняет взгляд на вещи.
Без обид.
466 PR
 
10.04.14
22:34
(465) Этим часто франчи и отличаются от самостоятельных одиночек.
Не пятиминутной выгодой все определяется.
Есть и масса других важных вещей.
467 Ksandr
 
10.04.14
23:11
(465) Ну, Москва не сразу строилась. Работаю над этим.
468 thargon
 
29.04.14
12:15
Реально не верил, что может найтись претендент на вакансию программиста, который не сможет решить "задачу" из (50) несколькими способами.
Но подвернулся случай проверить -- пособеседовал у клиента пару человек.
Не решили оба.
Мало того, оба написали такой запрос, который в разумные сроки не вернул бы ничего -- раньше бы упала платформа из-за нехватки памяти.
Теряю веру в человечество...
469 Karavanych
 
29.04.14
12:21
(468) Вы на бумажке заставляли их писать-то ?
Если в консоли человек попробовал написал, запустил, запрос ушел в аут... они типа что развели руками и не стали его отлаживать ? как бы процесс отладки часть работы программиста и сходу без ошибок редко кто пишет. Хотя я конечно бывает писал, часа 3 без запуска и отладок, потом запускал и оно работало, как я задумал... но это скорее исключение чем правило :)
470 thargon
 
29.04.14
12:28
(469) В консоли конечно. В конфигураторе сперва показал -- вот документ РТУ, вот ТЧ Товары, вот ТЧ Услуги, вот такой результат надо получить (нарисовал итоговую таблицу). Дал консоль, над душой не стоял...
471 Trainee
 
29.04.14
12:34
(470) Чел сидел консультантом, аналитиком или "на подхвате".
Ищет должность падавана.
Все та же проблема: ни один кадровик еще не заявил, что им нужен человек для обновления баз, клепания/правки печ.форм и разовых обработок.
Поэтому парень, просто ходит на все собеседования в надежде понравится.
472 DexterMorgan
 
29.04.14
14:37
(396) бу-га-га, мегаспецы, аха)
473 DeeK
 
29.04.14
16:09
(434)
1) n*(n-1)/2
2) Изза того что поезд А приходит например в 12.00 а потом в следующий раз в 12.15, а поезд В приходит в 12.13 и в следующий раз 12.28 (ну просто для примера) поэтому вероятность сесть в один поезд больше, чем другой, в любой момент времени