Имя: Пароль:
1C
1С v8
Тестовое задание
,
0 echo77
 
25.08.14
12:24
Создать обработку, выявляющую наличие не проведенных документов в 1С:УПП (Документы: Перемещение товаров, Требование-накладная).
Обработка должна выводить перечень непроведенных документов за указанный период (если период не указан - за все время).
Перечень выводимых реквизитов: представление документа, ответственный
В обработке должна быть предусмотрена возможность помечать на удаление либо все непроведенные документы данного исполнителя, либо выбранные непроведенные документы.

орфография и пунктуация частично сохранены.

За 20 минут реально такую сделать? У меня не получилось - ушло больше времени.
1 Ёпрст
 
25.08.14
12:25
вообще то кода минут на 3
2 Wobland
 
25.08.14
12:25
недели две
3 shuhard
 
25.08.14
12:25
(0) можно
это же обычная ТЧ обработки + флажок в ТЧ + одна кнопка заполнить + де кнопки окучить документы
4 echo77
 
25.08.14
12:25
(1) напишешь? Время замеришь? Я тоже думал минут на 15
5 Wobland
 
25.08.14
12:26
а что там? список с фильтром, даже кода не надо
6 Ёпрст
 
25.08.14
12:26
(4) даже писать не буду, открою готовую..итого - 10 секунд
7 Cube
 
25.08.14
12:27
(0) Типовой функционал такое умеет. В частности, обработка "Групповая обработка справочников и документов".
Тебя расстрелять, клиента пожалеть.
8 supremum
 
25.08.14
12:27
(0) В чем затык был?
9 tdm
 
25.08.14
12:27
(3) +1, 5-10 минут
10 Wobland
 
25.08.14
12:28
(6) это надо железо подбирать, ездить закупать, инсталлировать, настраивать... за 10 секунд у меня дома не откроется
11 13_Mult
 
25.08.14
12:29
Facepalm
12 AlexITGround
 
25.08.14
12:32
(0) вполне 30 минут достаточно
сколько потратил?
13 Karavanych
 
25.08.14
12:32
(4) Да ладно, не парься, бывает. Реально да кажется, что можно накидать за 15 минут, по факту оказывается чтоб все было нормально часа 2.
14 Timon1405
 
25.08.14
12:33
Напоминает ситуацию с QSortom: все знают как в теории его написать. А на на практике, что-нибудь да забудется: выход индексов за пределы подмассива, массив из одного элемента итд.
15 AlexITGround
 
25.08.14
12:33
где-то видел прейскурант у франча, внешняя обработка от 4 часов, так что не парься (0)
16 zak555
 
25.08.14
12:33
Динамический список
17 Godofsin
 
25.08.14
12:34
(15) странно, что не 24 )))))
18 tdm
 
25.08.14
12:37
(15) написать ТЗ из (0) и согласовать с пользователем как минимум несколько часов а потом еще обучить, так что всё справедливо имхо (а закодировать понятно что недолго)
19 AlexITGround
 
25.08.14
12:37
20 zak555
 
25.08.14
12:50
(19) там везде 1000 р/час, но берут программистов, которым будут платить до 1000 р/час

получается фирма будет работать в ноль

вот это франч, всё для работников
21 torgm
 
25.08.14
13:02
(20) млин... они еще и помощь при выборе программ бесплатно оказывают... http://www.time1c.ru/index.php?option=com_content&view=article&id=72&Itemid=83
22 Grekos2
 
25.08.14
13:03
Даже не знаю как подойти к такой задаче как в (0)
23 Lemkus
 
25.08.14
13:04
(0) По уму это задание с помощью СКД нужно делать, а это более 20 мин. Я лично против таких обработок, лучше сделать за 2 часа одну хорошую, чем за то же время 10 плохих
24 Господин ПЖ
 
25.08.14
13:07
(0) это все умеет "групповая обработка справочников/документов"

зачем писать то что есть и работает?
25 echo77
 
25.08.14
13:21
Согласен с теми, кто предлагает обработку "групповая обработка справочников/документов", но:
1. Дать пользователю это - что дать гранату обезъяне
2. Она не умеет в уже построенном списке выделить документы конкретного пользователя

(8) Затык был в отборе по периоду - делал с помощью построителя запроса с отбором по дате
26 echo77
 
25.08.14
13:25
Пост не о том чтобы померяться пиписьками, а посмотреть каким наиболее рациональным способом пишутся подобные программы.

Плюс, здесь есть мысль о том, что все что кажется "да я это за 20 минут сделаю" в реальности оказывается несколько подольше

вот что у меня получилось: https://yadi.sk/d/dCIeCYtsaNGCu
время: 1 час
27 Господин ПЖ
 
25.08.14
13:31
>Она не умеет в уже построенном списке выделить документы конкретного пользователя

доп отбор наложить
28 wowik
 
25.08.14
13:32
(26) можно узнать какая ЗП?
29 Господин ПЖ
 
25.08.14
13:35
>Затык был в отборе по периоду - делал с помощью построителя запроса с отбором по дате

т.е. все время ушло на вспоминание объектной модели построителя

это если ограничений на пользуемые механизмы нет (типа только на СКД) решается тупо 2-мя case по дате на => и <=... только селект, только хадркор...
30 AlexITGround
 
25.08.14
13:37
(28) а если больше, чем у тебя, что делать будешь? Веревка, мыло...
31 Господин ПЖ
 
25.08.14
13:37
построитель/скд дает конечно гибкость и прочее, на за 20 мин внятное что-то слепить может и не получиться
32 tdm
 
25.08.14
13:37
(25) >>Она не умеет в уже построенном списке выделить документы конкретного пользователя
умеет)) доп отбором
33 dmpl
 
25.08.14
13:38
(0) Надо было задать вопрос: "А чем не подходит универсальная обработка?"
34 echo77
 
25.08.14
13:38
(28) ЗП очень хорошая для провинции(> 50К) :-)
(29) Не все время, но с необязательными параметрами в построителя запроса я конечно лажанулся.

Писал с использованием шаблонов. Некоторые вещи прямо целиком оттуда стащил
35 tdm
 
25.08.14
13:39
(31) получится - если не требуется красот наводить: конструктором рисуете отчет, подменяется вывод не в табличный документ а в таб.часть (таб.часть тоже дает еще доп.отборы делать), добавляете колонку - "флажок"...ну и на выполнить вешаете действие
остается время на отладить)
36 dmpl
 
25.08.14
13:42
(25) Один фиг ты даешь такую же гранату пользователю. Там еще и чека проще вынимается.
37 2mugik
 
25.08.14
13:42
(0)В принципе зачем такой работодатель который будет мерять что ты сделал за те /эти 20 минут?
38 Господин ПЖ
 
25.08.14
13:42
пока горит спичка...
39 echo77
 
25.08.14
13:42
(27), (32) я может, чего-то не знаю в этой обработке, но что есть "доп.отбор"?
40 Karavanych
 
25.08.14
13:43
(35) Ну да, с выводом в табчасть будет попроще, по ней можно будет хоть перебор сделать просто, но все равно не 20 минут, 20 минут это если ты подобный отчет делал вчера :)
41 tdm
 
25.08.14
13:43
(37) ТС условия вакансии не раскрыл - может там 200к на руки и работать не надо))) вот только отборочный тур пройти надо...всяко бывает
42 echo77
 
25.08.14
13:44
(37) Вопрос не о работодателе, а об адекватной оценке собственных сил.
43 echo77
 
25.08.14
13:45
(41) это не вакансия, а задача на немного подумать и сделать оптимально, быстро и не УГ
44 tdm
 
25.08.14
13:45
(40) там не только перебор - есть подводный камень с проверкой на отборы ;) например установил отбор по пользователю а голочки до этого на все документы проставил - в обработчики нужно предусмотреть...ну и пометку можно двумя способами установить) в общем интересное задание
45 dmpl
 
25.08.14
13:46
(43) Так не бывает.
46 echo77
 
25.08.14
13:46
(45) Выберите любые два :-)
47 dmpl
 
25.08.14
13:47
(46) Какие 2 ни выбирай - получится УГ ;)
48 tdm
 
25.08.14
13:47
(43) ну как вам и сказали - либо из конфигурации универсальной, либо с ИТС универсальной обработкой подбора и обработки объектов))
а за 20 минут такое не делается - я только пиктограммы на кнопки рисовать дольше буду)) а еще всякие сообщения и проверки (ну граната всё таки надо себя обезопасить)))
49 Karavanych
 
25.08.14
13:48
(44) Да это дело 10ое. Но вывод в ТЧ позволяет в целом быстро сделать задачу, куда быстрее, чем если стандартно выводить в Табличный документ. Я часто так делал в обработках которые по быстрому надо сделать для себя, но вот на собеседовании боюсь бы даже не подумал об этом :(
50 AlexITGround
 
25.08.14
13:50
естественно табличная часть обработки, какие построители млин...
51 tdm
 
25.08.14
13:51
(49) ТС задачу не четко сформулировал))я думал дело только во времени и работоспособности - тогда одной командой .СоздатьКолонки() можно кучу времени сэкономить (не типизируя,добавляя и рисуя колонки) и в меру универсально))
52 echo77
 
25.08.14
13:51
Забудьте про собеседование, это просто вброс :-)
Кстати, для собеседования неплохая задача - для проверки программиста среднего уровня. ИМХО, конечно.
53 dmpl
 
25.08.14
13:53
(52) Угу, если ринется писать, ставишь отметку "Ничего не знает, но работящий", если спросит зачем изобретать еще один велосипед - ставишь отметку "Знает предметную область, но слишком любопытный".
54 tdm
 
25.08.14
13:54
(52) специалист так сдается - тот объем что неспеша (под пивко) за день делается там надо за 4 часа(сейчас вроде 5) решить...в туалет времени сбегать лишний раз нет))))
55 Karavanych
 
25.08.14
13:55
(52) Если забыть про собеседование - то используем групповую обработку :)
56 _fvadim
 
25.08.14
13:55
(52) задача на то, видел человек конфигуратор или нет.
57 DexterMorgan
 
25.08.14
13:56
чем динамический список не подходит? отборы - какие угодно,через выделенные строки помечать на удаление тоже че угодно
58 Karavanych
 
25.08.14
13:58
(50) Дак а че бы и построитель не использовать. Если есть шаблон с построителем пустой,чтоб особо не парится не вспоминать че там как. У меня когда я работал были специально сделаны шаблонные обработки, чтоб только текст запроса написать, чуть подшаманить и отчет готов.
59 Kalambur
 
25.08.14
14:06
(0) Это только формочку с всякой мудней рисовать минут 15-20
60 Господин ПЖ
 
25.08.14
14:07
ветка переросла в тупую
61 Kalambur
 
25.08.14
14:08
(60) изначально такой была )
62 Megas
 
25.08.14
14:09
Задача простая. В вакууме.

1) НО если ты делаешь её в стрессе, на незнакомом компе, и где то тебя глюкнуло, то можно на час растянуть.

2) Задача простейшая, кандидат который сделает её за 20 минут может не справиться с более сложными задачами (знаю таких несколько программистов)
63 echo77
 
25.08.14
14:09
И пока что никто не выложил решения "за 15 минут"
64 Megas
 
25.08.14
14:11
(63) выложи конфу..
65 tdm
 
25.08.14
14:13
(63) ага, как в сапере - а сделал эту задачу за 14мин-42сек.)))
66 StaticUnsafe
 
25.08.14
14:13
(0) 500р
67 echo77
 
25.08.14
16:37
68 shuhard
 
25.08.14
18:44
(63) ну да,  ты для форума ничего не значишь
69 echo77
 
25.08.14
19:38
(68) ааааахахаха
70 Loki Evil
 
25.08.14
22:00
(0)(26)
Глянул задачу, глянул решение...
Ну если задача была уложиться в 20 минут, то решение нужно делать проще.

Мое решение за 20 минут (реально можно за 15, но если торопиться - будут опечатки и возможно что и быстрее не выйдет).

Решение:
Новая обработка, Реквизиты - ДатаНач, ДатаКон, ТабЧасть - Документы: Документ - ссылка ТребНакл + Перемещение, Ответственный, Обрабатываем - Булево.
Размещаем это добро на форме, можно автоматом
Кнопки - "Заполнить":
Запрос - объединение двух одинаковых таблиц - из перемещений и требований накладных берем ссылку КАК Документ и ответственного, условия - Не Проведен + Дата между &ДатаНач и &ДатаКон
Параметры -
?(ЗначениеЗаполнено(ДатаНач), ДатаНач, Дата(1,1,1))
?(ЗначениеЗаполнено(ДатаКон), КонецДня(ДатаКон), ТекущаяДата()+1))

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

Кнопка - "Пометить все по ответственному" - берем из текущей строки ответственного, если строка не выбрана - ругаемся.
Перебираем строки, где совпадает ответственный с текущим - Документ.ПолучитьОбъект(), УстановитьПометкуУдаления(Истина)

Вторая кнопка - Пометить выбранное
В цикле перебираем строки, условие СтрокаТЧ.Обрабатываем
Действия те же.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн