Вход | Регистрация
    1  2

Вопрос на собеседовании. Оптимизировать запрос в цикле.

Вопрос на собеседовании. Оптимизировать запрос в цикле.
Я
   Kongo2019
 
16.11.20 - 12:25
2. 239% (9)
1. 135% (8)
4. 417% (4)
3. 39% (2)
Всего мнений: 23

Доброго.
Вот все по собеседованиям хожу типа. Все хочу стать настоящим программистом 1С. А то в наших провинциях, так все отчеты рисуем, та мелочёвка всякая. Но то лирика.
И вот сегодня один вопрос зацепил в тесте.
Вам поставлена задача по доработке нетиповой конфигурации. В данной конфигурации ведется учет остатков товара в регистре накопления  в разрезе номенклатура и серия. Серия является обязательной для заполнения в документах. Для проверки наличия остатка есть функция, в которую предаются два параметра в виде ссылки на Номенклатуру и ее серию, и параметр типа дата. Функция возвращает булево значение, есть на остатке или нет.
Рассмотрев внимательно данную функцию, Вы видите, что там выполняется запрос к регистру накопления. В запросе используется виртуальная таблица с отбором по номенклатуре и серии.
Анализируя работу программы, Вы понимаете, что это так называемый «запрос в цикле». Так как Вам необходимо, по заданию сделать новый документ, который должен иметь табличною часть, в которой возможно несколько строк  с разными значениями номенклатуры и серии, и для проверки Вам необходима будет вызвать процедуру проверки остатка столько раз, сколько у вас строк в  табличной части документа.
Какие ваши действия. Не против, я в голосовалку варианты ответов запихаю.
1. Сообщу руководителю проекта, что данный код не оптимален и предложу переделать.
2. Сообщу руководителю проекта, что данный код не оптимален, но буду использовать уже разработанный функционал.
3. Буду использовать разработанный функционал.
4. Сделаю свою, более оптимальную процедуру.
   Кот16
 
101 - 17.11.20 - 07:58
(99) ЗУП просто нужно любить и принимать его таким, какой он есть)))
   vi0
 
102 - 17.11.20 - 08:14
(100) без замеров как сейчас выполняется?
   Eeeehhhh
 
103 - 17.11.20 - 08:19
Работает не трожь.

4. 4
   lEvGl
 
104 - 17.11.20 - 08:20
(97) ну и я в том числе про тестирование - чтобы запрос в цикле выиграл у разового запроса, должно много звезд сойтись, в общем случае один запрос лучше
(98) не надо утрировать, только процедура контроля остатков может быть в трех-четырех вариантах - с учетом серий, склада, с и без учета остальных аналитик, если делать единую процедуру, то волосы дыбом встанут, когда устанешь подгонять для нее входные параметры и 95%, что возникнет ситуация, когда "универсальная" процедура не подойдет и станет не универсальной, придется допиливать и так накрученный алгоритм
   Eeeehhhh
 
105 - 17.11.20 - 08:25
Так как функция скорей всего юзается в куче мест, которые тебе придется переписать - ты станешь крайним по всем ошибкам, которые к тебе не относятся ...
   vi0
 
106 - 17.11.20 - 08:32
(104) еще раз - я про длительность разработка+тестированиа, не про то что запрос лучше или хуже
   MyNick
 
107 - 17.11.20 - 08:35
(94) Если в системе активно работает сотня другая пользователей и у них самые тяжелые запросы при одновременной работе работают 5 секунд - это одно.
Если ты разработчик и у тебя на минибазе это выполняется по 5 секунд, значит в реальной работе пользователи могут и не дождаться результата.
   Alres
 
108 - 17.11.20 - 08:43
Решение зависит от обстоятельств, в которых задача была поставлена. Если времени в запасе много - можно молча переделать процедуру, не дергая по пустякам РП.
Если непонятно какие есть ресурсы - уточнить у РП.
Если времени совсем нет - использовать то, что есть.
   lEvGl
 
109 - 17.11.20 - 08:54
(106) что там тестировать? скопировал много раз описанную и еще больше раз использованную процедуру и все на этом, тот случай когда можно даже поспорить, что взлетит "с первой компиляции"
   lEvGl
 
110 - 17.11.20 - 08:56
(108) он студент, какие там сроки, минимум три месяца есть, хотя если все это время только это делать, то могут послать и раньше
   lEvGl
 
111 - 17.11.20 - 08:58
в том смысле, что ни о каких дедлайнах у студента речи быть не может, он учится, со всеми вытекающими
ну если уж совсем тугой, то конечно могут и раньше задуматься о его необходимости
   Конструктор1С
 
112 - 17.11.20 - 09:15
(100) есть же длительный кот из БСП!
https://cs9.pikabu.ru/post_img/2016/11/17/6/1479370908141023456.jpg

(101) надо зуповцам архитектора поменять
   ДенисЧ
 
113 - 17.11.20 - 09:21
(112) Зуповцев надо деопртировать на родину - на Венеру
   Kongo2019
 
114 - 17.11.20 - 09:37
(112) Это было весело. Я вообще офигел когда его первый раз увидел. Вместо оптимизации конфы они кота повесили. А как бухи только этого зверя не обзывали.
Пришлось новый сервер прикупить, чтобы от этого зверя избавится.
   Провинциальный 1сник
 
115 - 17.11.20 - 10:04
(114) Надо не кота было, а картинку с анимацией чаепития. Типа, пока 1с работает, вы отдохните. Тогда бухгалтера бы восприняли это позитивно)
   ДенисЧ
 
116 - 17.11.20 - 10:05
А сейчас кот не скачет ((
   Azverin
 
117 - 17.11.20 - 10:06
(47) может, дело не в знаниях, а в тебе лично?
если ты не производишь должного вида на работодателя, то на знания уже не смотрят.

2. 2
   БаксПо90
 
118 - 17.11.20 - 10:12
(117) там анкета и удаленная работа. Так что есть идеал , а есть он .. ему надо сделать отображения себя на этот идеал .. оптимальным образом)
   Kongo2019
 
119 - 17.11.20 - 10:24
(117) Может быть. Если они бы еще рассказывали почему я не подошел там.
А так, игра в угадайку, чего им надо.
   vi0
 
120 - 17.11.20 - 11:10
(109) повидал я товарищей aka "что там тестировать?" когда на бою форма документа не проходила синтаксический контроль
   ILM
 
121 - 17.11.20 - 11:25
На заре моего программирования в 1995 году, в отпуск ушла ведущий специалист отдела разработки. А в её алгоритме ошибка, и начальник отдела попросил меня исправить. Там было 350 строк кода на паскале, когда она вернулась из отпуска, то строк было всего 40, делали они тоже самое, но в три раза быстрее. Она очень на меня сильно обижалась и года три напоминала не лезть в чужой код без разрешения.

1. 1
   ДенисЧ
 
122 - 17.11.20 - 11:27
(121) А ты ей напоминал, что код с ошибками в продакшен пихать некомильфо?
   Джинн
 
123 - 17.11.20 - 11:35
Тут как в армии - обнаружил - доложи. А дальше пусть решение принимает тот, кто управляет процессом.

1. 1
   Oftan_Idy
 
124 - 17.11.20 - 11:59
(121) И правильно делала, что обижалась. Ты же под начальника копать начал
   vi0
 
125 - 17.11.20 - 12:01
(121) и как ты ей это преподнес?
   Oftan_Idy
 
126 - 17.11.20 - 12:02
(0) Конечно надо переделать.
К тому же это не сложно, за день точно управишься, с перекурами.
Сделаешь отдельную функцию, сделаешь в ней запрос к документу, выдашь в результат строки с ошибками.
Заодно управляемую блокировку наложишь на регистр остатков.

Если вдруг будет 100500 строк и станет проблемой большой запрос, тогда и будет уже анализировать какой метод в таком случае использовать. Тогда много мелких запрос переварится лучше.

Оставлять такое извращение как есть - не комильфо, фу таким быть.

1. 1
   art_id
 
127 - 17.11.20 - 12:20
Сообщить, дальше пусть ответственный решает.
Есть у нас один прог, увидел неоптимальный код, который к его задаче вообще никаким боком, и внес изменения.
В рабочей база в итоге ошибка вылезать стала, благо это была не критичная самописка по учету моб. связи. Вроде ему даже с вертушки в щи не прописали. Скорей всего устно отделался.

1. 1
   Глупый ответ
 
128 - 17.11.20 - 12:24
(123) Товарищ генерал, а чего это у вас на плацу насрано? Устраните пожалуйста нарушение, я по такому плацу маршировать не буду.
   Глупый ответ
 
129 - 17.11.20 - 12:26
или не не так. Товарищ генерал докладаю, у вас военные действия не по уставу, я так воевать не согласен, пока не устранят.
   ДенисЧ
 
130 - 17.11.20 - 13:15
(129) ТоварищЬ рядовой! Найдите метлу и приведите плац в порядок. О выполнении доложить.
 
 Рекламное место пустует
   ILM
 
131 - 17.11.20 - 13:17
(125) сказал что исправил ошибку в поцедуре.
   GANR
 
132 - 18.11.20 - 09:56
(92) Лучше уж 15 минут лишних потратить (ну пусть даже пролететь), чем потом терпеть плохую работу.
   GANR
 
133 - 18.11.20 - 10:30
(121) [Обижалась] я лично от души благодарю, если кто-то находит способ сократить мой код. Думаю, меня бы выгнали уже с того места, где Вы 3 года проработали.
   1Сергей
 
134 - 18.11.20 - 13:42
(83) >>Зря, вопрос хороший. Даже слишком хороший.
>>На самом деле и все ответы верные и в то же время неверные. Одновременно.
>>Именно на умение выбрать приемлимый для себя ответ и обосновать его.

Мне кажется Вы не понимаете задачу экзаменатора. Нужно проверить скилл кандидата, а не задолбать его
   1Сергей
 
135 - 18.11.20 - 13:46
(134) * Экзаменатора = Экзаменуемого
   Lorhen
 
136 - 18.11.20 - 16:14
Этож надо еще угадать, что хотят от тебя услышать)) И что из себя представляет рук.проекта.
Я трижды работала с рук.проекта. Первый вырос из программистов. Там была полная демократия. Все работали на конечный результат. А два последних пришли из консультантов. Начинали с бухгалтеров. Кодить особо не умели. Но с ними надо было делать вид, что советуешься) Чтобы почувствовали свою особую важность))
В общем исходя я бы задумалась нужна ли мне такая работе)) И я бы написала свою процедуру

4. 4
   vi0
 
137 - 19.11.20 - 12:01
(136) > Чтобы почувствовали свою особую важность))
а ведь могут почувствовать другое - что ты советуешься чтобы они почувствовали свою важность
  1  2

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.