Нанимаем программиста 1С – "прыжок веры" или грамотный набор

Публикация № 1362706

Управление - Управление персоналом (HRM)

Мы перестали смотреть резюме программистов 1С, описание их достижений, их сертификаты. Используем только цифры, накладывая результат теоретического собеседования на нашу шкалу квалификации программистов 1С. Благодаря этому, мы точно можем определить кто он: junior, middle или senior, – рассказывает генеральный директор ООО «КРОН» Ранис Усманов. На полях INFOSTART MEETUP Kazan он поделился секретами подбора 1С-программистов и примерами задач, которые упростят подбор сотрудников.

 

 

Я в сфере 1С более 10 лет. Работал в качестве разработчика, руководителя проекта. Также являюсь сертифицированным преподавателем и автором сертифицированного курса от фирмы 1С. Последние 4 года активно занимаюсь обучением и подбором персонала.

Сегодня я расскажу о подборе персонала, вариантах собеседования и классификации программистов 1С. Покажу таблицу квалификации 1С-разработчиков и приведу пару вариантов теоретического собеседования и задач на практику.

 

Технический долг

Перед тем, как начать, хотел бы акцентировать внимание на таком термине, как «технический долг».

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

Если говорить о термине технического долга, то это касается не только программистов, но и всей команды, участвующей в разработке или внедрении: руководителя проекта, консультантов, аналитиков, не стоит исключать и самих заказчиков. Но я акцентирую внимание только на программистах.

 

 

Вот несколько примеров, когда возникает технический долг, который может привести к потере нескольких миллионов и более.

  • Самый простой пример, который я встретил недавно: нашему клиенту нужно было внедрить отраслевое решение и разработать подсистему производственного учета. Клиент привлек консалтинговую компанию с очень хорошим опытом внедрения именно этого отраслевого решения и разработки производственного учета. У этой компании были успешные проекты, положительные отзывы, но после внедрения отраслевого решения и разработки подсистемы компании-клиенту пришлось использовать свой штат программистов и привлекать нас как ресурсный центр, чтобы исправить ошибки, допущенные при внедрении и разработке. Ошибки были допущены из-за того, что сама эта консалтинговая компания привлекала команду, состоящую из разработчиков уровня middle. Чуть позже я расскажу об этой классификации. Из-за такого уровня у разработчиков были пробелы в знаниях, они принимали неправильные решения, допускали ошибки в алгоритмах, оптимизации и в самой архитектуре. Нам понадобилось полгода, чтобы все это исправить. В итоге технический долг составил 50% от стоимости внедрения. Само внедрение стоило порядка 10-12 млн и около 5 млн компании потребовалось, чтобы все исправить.

  • Но технический долг возникает не только при внедрении, но и при сопровождении. У другого нашего клиента был штат программистов, состоящий из разработчиков уровней junior и senior. Junior – разработчики начинающие, из-за пробелов в знаниях они тоже совершают ошибки: в оптимизации, алгоритмах, изначально неправильно выстраивают архитектуру. Ошибки возникают, а бизнес все время развивается и ставит новые задачи, поэтому разработчики использовали метод «костыльного программирования». То есть быстренько вставляли какое-то исправление, но в дальнейшем этим «костылем» здесь правили, а в другом месте ломали. Все это набиралось, как снежный ком, технический долг рос, в итоге компания за три года привлекла дополнительно себе в штат еще три программиста. Им приходилось ежегодно принимать по одному программисту дополнительно, потому что штат не справлялся с техническим долгом, команда не успевала масштабировать программу и исправлять ошибки. ФОТ каждого разработчика в год составлял порядка 1 млн. В итоге за три года компания себе нагенерировала 3 млн убытков.

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

Сам технический долг, конечно, будет всегда. Всегда будут ошибки, которые нужно исправлять. Все, что мы можем сделать – привести технический долг к минимальному проценту, чтобы свести к минимуму необходимость исправления ошибки.

Итак, мы определились: для уменьшения технического долга нужно правильно, более качественно подбирать персонал. Давайте попробуем рассмотреть, какие у нас бывают варианты собеседования. Их много, но я выбрал порядка шести.

 

Первый вид собеседования – «Чем ты занимался на прошлой работе»

 

 

Мне такой вид собеседования, когда мы спрашиваем человека, чем он может гордиться, больше всего нравится. Здесь есть плюсы.

  • От кандидата мы можем получить информацию о том, чем он занимался, в каких проектах участвовал, какие механизмы знает, какие достижения у него есть.

  • Мы получаем картину о самом человеке.

На этом плюсы заканчиваются, и начинаются минусы.

  • Первый минус – все врут. Вам может попасться кандидат, который с три короба наврет о своих достижениях и знаниях. В принципе, он может даже присвоить себе достижения другого разработчика и исказить информацию о своих навыках.

  • Второй вариант – вы можете столкнуться с «партизаном». У человека при работе может быть хорошая коммуникация, он хороший разработчик, но на собеседовании он скукоживается и не может выдать информацию о своих навыках и достижениях. Частенько разработчики почему-то стесняются рассказать, какими знаниями обладают.

Все в целом приводит к тому, что мы не получаем подлинную и полную информацию о навыках разработчика.

 

Следующий вариант – закрытый тест

 

 

Закрытый тест включает в себя следующее: дается вопрос и несколько вариантов ответа. Разработчику нужно выбрать правильный вариант.

Этот вид мне тоже нравится, он дает хороший плюс для работодателя.

  • Он очень удобен: когда мы даем разработчику тест, мы не тратим время на собеседование. Время тратится только на то, чтобы проверить результаты. Тем более, если тест автоматизирован, мы можем в два клика посмотреть, что он знает, что не знает.

На этом плюсы заканчиваются. И есть минусы.

  • Этот тест удобен самому кандидату. Если он не знает ответа на вопрос, у него есть вариант воспользоваться методом «научного тыка». Вполне возможно, что он просто угадает правильный ответ. Тогда у нас тоже искажается информация.

  • Следующее: частенько видел такое, что когда задавали вопросы, в самом же вопросе был и ответ. Нужно очень грамотно подходить к составлению вопросов и ответов, потому что мы можем сами подсказать кандидату.

  • Также есть примеры, когда разработчик ошибся – перенервничал или засомневался. В случае закрытого теста мы не сможем задать ему дополнительные вопросы, чтобы удостовериться, знает ли он ответ.

  • Ни в коем случае не стоит использовать вопросы из экзамена на сертификат «1С:Профессионал». По той причине, что «1С:Профессионал» уже умудряются сдавать специалисты на уровне junior, которые прошли какой-то курс или прочли книжку Радченко для начинающих программистов. В дальнейшем они просто зазубривают вопросы экзамена и их ответы: все это есть в открытом доступе, даже на сайте самой фирмы «1С». Я сам сдал экзамен «1С:Профессионал» по платформе меньше чем за минуту со 100% правильными ответами, так что судите сами.

 

Следующий вариант – практическая задача

 

 

Вариант проверить разработчика на решении практической задачи мне очень нравится, я сам его использую.

  • Мы можем проверить разработчика по определенным навыкам программирования, может ли он выполнять подобные задачи. Например, если нас интересует, умеет ли программист выполнять алгоритм метода списания по ФИФО, мы можем в этом удостовериться.

  • Плюс ко всему мы можем посмотреть его синтаксис, насколько грамотно он пишет.

На этом плюсы заканчиваются и начинаются минусы.

  • Невозможно создать практическое задание, которое будет охватывать все возможности платформы 1С. То есть, создать можно, но тогда кандидату понадобится минимум 3-4 дня, чтобы решить все эти задачи. Ни один кандидат под этим не подпишется.

  • Второй момент – если разработчику дали на дом выполнение задачи, мы уже не можем гарантировать, что это сделал именно он, не используя дополнительные ресурсы. Частенько бывает, что когда я спрашиваю у кандидата: «А ты вообще как программируешь?», он отвечает: «Да я просто на Инфостарт лезу». Очень много примеров, готовых решений и так далее. Есть такие программисты, которые по четыре года могут программировать за счет Инфостарта и уже, наверное, должны процент откидывать.

Получается, что использовать в собеседовании практическую задачу мы можем только для того, чтобы закрепить свое решение. Но чтобы проверить знания по платформе, мы должны использовать больше теоретические вопросы, это происходит быстрее – больше вопросов можно задать.

 

Следующий вариант – показать пример программного кода

 

 

Когда мы просим разработчика показать пример программного кода, есть плюсы:

  • мы не заморачиваемся на вопросах, какое бы задание дать, и мы в принципе можем не уметь программировать, а отдать результат на проверку программисту;

  • мы можем посмотреть чистоту программного кода, качество написания, мышления, синтаксис.

На этом плюсы заканчиваются и начинаются минусы.

  • Есть так называемая «помощь зала». В моей практике было такое, что 3-4 разработчика чтобы пройти собеседование использовали мою обработку.

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

В целом, вариант «Показать программный код» – сомнительный вариант, не люблю его использовать, потому что мы не получим точной информации о навыках разработчика.

 

Открытый тест – задается вопрос, надо ответить «своими словами»

 

 

При собеседовании методом «Открытого теста» разработчику приходится отвечать в открытой форме: устно или письменно.

Плюсы этого варианта в том, что:

  • мы можем анализировать ответы кандидата, при необходимости уточнять какие-то задачи, дополнительно задавать вопросы – в принципе, 50-60 вопросов хватает, чтобы проверить программиста полностью, получить полную информацию;

  • когда у кандидата нет вариантов ответа, он не может угадать ответ, если не знает вопроса;

  • поэтому по сравнению с другими вариантами собеседования мы получаем подлинную информацию о знаниях и навыках кандидата именно по платформе 1С.

Минусы:

  • Чтобы составить вопросы, а тем более – проверять, необходимо самому иметь очень хорошие навыки программирования.

  • При таком собеседовании приходится затрачивать очень большое количество времени на каждого кандидата. До того, как я начал использовать собственный сервис, я тратил на каждого кандидата около часа. Но когда вам очень нужны разработчики, приходится собеседовать по 5-6 человек в день – на это уходит весь рабочий день.

 

Выявим самое полезное с возможностью проверки знаний

 

 

Итак, выведем основные методы проверки знаний из тех вариантов, которые я назвал.

  • Закрытый тест я выбираю в первую очередь за быстроту проверки – на него затрачивается минимальное количество времени, а для руководителя это очень важно.

  • Второе – практическая задача, потому что мы можем проверить синтаксис разработчика, грамотность программирования и качество программного кода.

  • Третье – открытый тест. Я его выбираю, потому что мы можем полностью проверить всю карту знаний разработчика, получить более полную информацию.

Лично у меня получилось совместить закрытый тест с открытым. Сначала я использую открытый тест – проверяю разработчика через теорию. Если здесь все хорошо, то следующей идет практическая задача, просто уже для закрепления и окончательного решения о том, что я беру специалиста на работу.

 

Квалификация программистов

Итак, мы рассмотрели варианты собеседования, и я употреблял такие термины как middle, senior. Это такие уровни квалификации программистов 1С, давайте немножко поговорим о них.

 

 

Такие понятия как junior, middle, senior в 1С особо не использовались, это обычное явление для программистов Java, C#, PHP, C++. В 1С это только начало входить в обиход, сам я такие понятия начал использовать года два назад. И у самой фирмы «1С» появился экзамен 1С:Junior.

Если говорить о классификации. Junior – начинающий программист, который максимум изучил какой-то курс или прочел книгу для начинающих. У него нет опыта программирования и 1С он в глаза пару раз видел, по сути. Программист такого уровня в принципе подойдет для обновления типовых конфигураций, несильно доработанных конфигураций, может вносить незначительные изменения в печатные формы, внешние обработки создавать. В принципе, может администрировать пользователей, права давать, но не более того.

Далее идет уровень junior-middle. Это уже разработчик получше, чем junior. Он обладает навыками в оперативном учете, умеет уже немного сам создавать отчеты, используя СКД – это будут самые простые отчеты – управляемые формы немножко знает и немного знаком с отладчиком, но на самом деле не умеет как следует им пользоваться, как показывает опыт. Тем не менее, он уже молодец.

Далее middle-разработчики, среднячки. Эти программисты уже точно знают, что такое отладчик, и умеют им пользоваться. Они уже умеют работать в оперативном учете, могут решать бухгалтерские задачи, умеют с обменами что-то делать, например, уже знают конфигурацию конвертации данных, но максимум могут 1 к 1 выгружать данные. Какие-то более сложные алгоритмы – например, из одного объекта выгрузить в другой – они уже не смогут осилить.

Middle-разработчиков на самом деле можно нанимать, нужно. Но нужно еще и качественно делать отбор, потому что у всех знания разнятся: кто-то силен в одном, кто-то – в другом. Надо очень много времени потратить, чтобы понять, подходит вам этот разработчик или нет. Даже если вы немножко ошибетесь, стоимость технического долга может составить все 100%, а то и более.

Большое количество разработчиков на рынке – уровня middle, около 40%. У них куча пробелов, это приводит к возникновению технического долга. Например, он изучил оперативные запросы: настолько, насколько столкнулся с этой задачей, настолько и изучил. Из-за этого скорость разработки у них то быстрее, то медленнее, ведь при решении задачи им приходится изучать сам механизм. Из-за сжатых сроков и необходимости изучать новые механизмы они не смотрят на качество кода, на оптимальность и не программируют по стилистике типовых конфигураций 1С.

Далее идет уровень middle-senior, это разработчик поинтереснее. Если такого разработчика увидите, я его рекомендую уже брать. Потому что они уже имеют хорошие навыки в оперативном учете, пишут хорошие запросы, отслеживают оптимальность программного кода, за качеством следят, стилистику типовых конфигураций повторяют, очень хорошо знают обмены, бухгалтерские, оперативные задачи могут решать хорошо. В целом они уже могут претендовать на должность ведущего разработчика, и их можно оставлять как полноценную единицу. Даешь ему задачу – он сам ее решит, не надо особо помогать и присматривать за ним.

Остаются senior’ы. Это уже ведущие разработчики, пробелов в знаниях у них уже практически нет. Единственное, там есть расчетные задачи и XDTO-пакеты – те объекты, которые очень редко используются. Даже если у вас есть, к примеру, «Зарплата», очень мала вероятность, что вы там будете регистры расчетов или планы видов расчета дорабатывать – обычно этим никто не занимается уже.

Если senior сталкивается с новым механизмом – он его быстро изучает, благодаря своим знаниям, навыкам, и опыту, на работе это не отражается. Им принципиально важно, чтобы их код был качественным, оптимальным, они программируют только по стилистике программного кода 1С. Какие у них минусы? На рынке их реально очень мало. Они стоят хороших денег: например, в Москве разработчик такого уровня зарабатывает от 200 тыс. рублей и более – это на руки. Главный «косяк» в том, что они знают: их мало, и они действительно дорого стоят. Пытаться сбивать ценник бесполезно, уйдут сразу.

 

Шкала квалификации кандидатов

Теперь давайте посмотрим саму таблицу квалификации. Статистику я собирал, собеседуя программистов 1С с января по февраль. Собеседовал где-то 1233 кандидата. Таблица разбита по квалификациям, категориям вопросов. У меня здесь есть цифры – средний балл от 1 до 10 по каждой категории вопросов и классификации программистов 1С, которых набирали. И еще здесь вот такая «детская раскраска».

 

 

Слева внизу указано общее количество разработчиков и процентное соотношение программистов на рынке. Junior’ов у нас 46,72%, junior-middle – 12,41%, middle – 23,36%, middle-senior – 13,87%, senior – всего 3,65%.

Чтобы не портить статистику и привлечь всех кандидатов, я не ограничиваю зарплаты, предлагаю сразу «максималку». Учитывайте период исследования – зиму – здесь немножко коэффициенты меняются. Зима – это мертвый период для набора программистов. Потому что те же самые senior’ы заняты на проектах и пока работу не ищут. Если осенью или весной их собирать, происходит целый парад резюме, и нужно только успеть забрать специалиста, прежде чем кто-то другой его наймет.

Осенняя статистика немного приятнее. Там middl’ы составляют действительно 40%, senior’ы – 5-6%, но это максимально то, что есть на рынке. Есть еще теория математики, которая подтверждает, что сильных специалистов на рынке всегда 5-6%. Название теории не помню, извините.

Теперь по шкале квалификации. Если мы посмотрим junior’ов, у них все «красное». Они только познакомились с механизмами, где-то что-то прочли, у них нет знаний, либо они поверхностные. Упаси Господь подключать их на какую-то сложную разработку. Когда я был на уровне junior, меня работодатель отправил доработать какую-то конфигурацию: три недели потом ходил исправлял.

Junior-middle – мы видим, что они поизучали книжки и четко знают, что такое функциональные опции. Они знают какие-то общие объекты, чуть-чуть умеют пользоваться запросами СКД, знакомы с управляемыми формами и набирают по этому показателю средний балл, знают сами оперативные учеты.

У уровня middl’ов уже все поинтереснее, баллов собирается побольше. Они уже знают бухгалтерские задачи, наконец-то понимают, что такое модуль менеджера. На самом деле, многие разработчики понятия не имеют, что это за модуль, и что в нем есть хорошего. Они знают уже о «Конвертации данных» и начинают решать самые простые задачи. Но, например, выгрузить регистр сведений, чтобы он загрузился как справочник, большинство из них уже не сможет.

Дальше идет middle-senior, здесь у него уже все прекрасно по оперативному учету, по общим объектам. Он уже хорошо разбирается в клиент-серверном взаимодействии, например, общие модули те же самые: многие разработчики не знают, зачем эти галочки нужны и как их правильно проставить. Это, конечно, громко сказано, но, тем не менее, это один из механизмов. Хорошо знают управляемые формы, уже работали с RLS’ом, в СКД’шке хорошо отчеты пишут – это значит, что более сложные отчеты уже могут делать.

И, наконец, senior’ы – практически все «зеленое». Единственные пробелы – планы обмена, расчетные задачи, XDTO-пакеты. Планы обмена и XDTO-пакеты действительно редко встречаются, и только 20% senior’ов имели очень хороший опыт разработки обмена между конфигурациями, используя планы обмена и понимали, как это работает. Большинство останавливается на том, что есть некая БСП’шка, которая в принципе помогает, а как именно это работает – они понятия не имеют. Если дать им задачу, например, обмена с сайтом, где БСП уже не помогает, нужно использовать планы обмена – они уже начинают проседать.

Тем не менее, программисты уровня senior все это быстро изучают. Например, те же самые XDTO-пакеты. Скажем так, если я знал «КД 2.0» и XDTO-пакеты, а мне дают задачу по «КД 3.0»: это совсем другая конфигурация, и там для того, чтобы делать обмены, нужно знать XDTO-пакеты. Мне понадобилось 2-3 часа, чтобы изучить и приступить к выполнению задачи. По срокам я уложился вовремя.

 

Примеры вопросов для собеседования программистов 1С

Как я и сказал, задаю 50-60 вопросов, у меня их несколько пакетов. Но выделю несколько вариантов.

 

 

Например, по регистрам расчетов – бухгалтерская задача.

Задача 1. Есть два счета, у обоих есть субконто: «Склад» и «Номенклатура». Но у одного субконто1 – это склад, а другого – «Номенклатура». Как сделать, чтобы при получении данных из виртуальной таблицы «Остатки» у нас субконто1 = склад, а субконто2 = номенклатура в независимости от счета.

Интересно, что многие даже на уровне senior не могут решить эту задачу. На самом деле, все просто. В виртуальной таблице есть параметр – «Вид субконто». Там передается массив или список значений, с типом плана значений передается план видов характеристик.

Задача 2. Мы обратились к физической таблице регистра накопления. У него есть регистратор, регистратор составного типа. Надо отобрать записи, у которых регистратор является документом «Поступление товаров», далее из отобранных записей необходимо из регистратора вытащить реквизит «Склад». Так, чтобы было оптимально. Как это сделать?

Большинство разработчиков говорят: «Слушай, а почему это не измерение? Это неоптимально, ты вообще неправильную задачу дал». Бывает такое. На самом деле, и тут все просто. В условие «Где» ставим конструкцию «Ссылка», «Поступление товаров и услуг». И второе, используем метод «Выразить», приводим к определенному типу «Поступление товаров» и потом вытаскиваем реквизит «Склад».

Частенько к этой задаче даю дополнительный вопрос. Если человек сказал, что использует метод «Выразить», я спрашиваю: «А почему?».

 

 

Следующее и последнее – практическая задача. Обожаю ее, потому что она быстренько выявляет, кто перед нами: middle или senior. Разработчики уровня middle эту задачу 100% решат. Но решат не с первого раза, и потратят на это от 40 до 60 минут.

Senior решит эту задачу за 5-15 минут максимум, с первого раза. Я даю эту задачу и прошу написать текст запроса, не используя отладчик. Проверяю, человек действительно писал хорошо запросы или нет. Формирует ли он в голове, что происходит с таблицей, когда мы группируем, связь делаем и так далее.

Суть задачи следующая: дается старая таблица и новая таблица значений.

 

 

Вариантов решения много: 3-4, и один из них наиболее оптимальный. Ни один middle не решил мне эту задачу за 10-15 минут.

На этом у меня все, всем огромное спасибо!

 

*************

Данная статья написана по итогам доклада (видео), прочитанного на INFOSTART MEETUP Kazan. Больше статей можно прочитать здесь.

Приглашаем всех принять участие в тематических митапах Инфостарта: infostart.ru/events/

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. user1502754 19.01.21 09:39 Сейчас в теме
Т.е. автор вешал кандидатам лапшу на уши, что он работодатель, а сам исследования проводил
user1467586; wolfsoft; Sungang; d_bat; JohnConnor; NorraSaltolinen; +6 Ответить
82. teller 26.01.21 06:04 Сейчас в теме
(1) если это ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "КРОН" инн 9729280673 с уставным 10 тыр среднесписочной за 2019г 6 чел и выручкой за 2019 г 24 млн.руб - то доклад выглядит внушительно , требования к соискателям обоснованы , хотя америки не открыто
2. Sungang 31 19.01.21 12:36 Сейчас в теме
У меня такой запрос получился:
ВЫБРАТЬ
	Таб1.Накладная КАК Накладная,
	Таб1.Платежка КАК Платежка,
	Таб1.Сумма КАК Сумма
ПОМЕСТИТЬ ВТ1
ИЗ
	&Т1 КАК Таб1
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Таб2.Накладная КАК Накладная,
	Таб2.Платежка КАК Платежка,
	Таб2.Сумма КАК Сумма
ПОМЕСТИТЬ ВТ2
ИЗ
	&Т2 КАК Таб2
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ1.Накладная КАК Накладная,
	ВТ1.Платежка КАК Платежка,
	ВТ2.Сумма КАК Сумма
ПОМЕСТИТЬ ПлатежкиРавны
ИЗ
	ВТ1 КАК ВТ1
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ2 КАК ВТ2
		ПО ВТ1.Накладная = ВТ2.Накладная
			И ВТ1.Платежка = ВТ2.Платежка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ1.Накладная КАК Накладная,
	ВТ1.Платежка КАК Платежка,
	ВТ1.Сумма КАК Сумма
ПОМЕСТИТЬ ПлатежкиНеРавны
ИЗ
	ВТ1 КАК ВТ1
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ2 КАК ВТ2
		ПО ВТ1.Накладная = ВТ2.Накладная
			И ВТ1.Платежка <> ВТ2.Платежка,
	ПлатежкиРавны КАК ПлатежкиРавны

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

ВЫБРАТЬ
	ВТ2.Накладная,
	ВТ2.Платежка,
	ВТ2.Сумма
ИЗ
	ВТ2 КАК ВТ2
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ1 КАК ВТ1
		ПО ВТ2.Накладная = ВТ1.Накладная
			И ВТ2.Платежка <> ВТ1.Платежка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ПлатежкиНеРавны.Накладная КАК Накладная,
	ПлатежкиНеРавны.Платежка КАК Платежка,
	ПлатежкиНеРавны.Сумма КАК Сумма
ПОМЕСТИТЬ ПлатежкиНеРавныИтог
ИЗ
	ПлатежкиНеРавны КАК ПлатежкиНеРавны
		ЛЕВОЕ СОЕДИНЕНИЕ ПлатежкиРавны КАК ПлатежкиРавны
		ПО ПлатежкиНеРавны.Накладная = ПлатежкиРавны.Накладная
			И ПлатежкиНеРавны.Платежка = ПлатежкиРавны.Платежка
ГДЕ
	ПлатежкиРавны.Накладная ЕСТЬ NULL

СГРУППИРОВАТЬ ПО
	ПлатежкиНеРавны.Накладная,
	ПлатежкиНеРавны.Платежка,
	ПлатежкиНеРавны.Сумма
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ПлатежкиНеРавныИтог.Накладная КАК Накладная,
	ПлатежкиНеРавныИтог.Платежка КАК Платежка,
	ПлатежкиНеРавныИтог.Сумма КАК Сумма
ИЗ
	ПлатежкиНеРавныИтог КАК ПлатежкиНеРавныИтог

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

ВЫБРАТЬ
	ПлатежкиРавны.Накладная,
	ПлатежкиРавны.Платежка,
	ПлатежкиРавны.Сумма
ИЗ
	ПлатежкиРавны КАК ПлатежкиРавны
Показать


Файл для проверки прикрепил. Ищу работу)
Прикрепленные файлы:
ЗапросSenior.epf
16. FatPanzer 11 20.01.21 07:52 Сейчас в теме
(2) Нет индексов во временных таблицах у полей, по которым потом осуществляешь внутреннее соединение. Пролетаешь мимо работы.
18. Sungang 31 20.01.21 09:37 Сейчас в теме
(16) Как тебя на работу взяли?) Построение индекса будет занимать больше времени, чем выгода от него в данном случае.
FesenkoA; zqzq; ZLENKO; Ks_83; +4 Ответить
51. Ambakollajder 22.01.21 09:05 Сейчас в теме
(18) На основании чего сделано предположение что в построении индекса нет выгоды?
77. sulfur17 35 25.01.21 09:30 Сейчас в теме
(18) на самом деле лучше всегда индексировать, т.к. на маленьких объемах лишнее построение индекса не будет заметно. Зато если объемы данных со временем вырастут то не придется искать тормозящие переписывать запросы.
3. Necessitudo 19.01.21 12:38 Сейчас в теме
Ох ну кем же нужно быть чтобы вешать вину в возникновении технического долга лишь на программиста.
sevushka; wolfsoft; morin; jurix; Atticus2; zqzq; Поручик; FatPanzer; +8 Ответить
4. mysm 45 19.01.21 12:56 Сейчас в теме
Все подобные приемы подбора кандидатов совершают одну ошибку. Они проверяют имеющиеся знания/умения конкретных технологий. Но на практике программисту приходится не использовать технические знания, а искать решения среди, уже возможно, готовых вариантов. Главным становится умение добывать знание. А это не проверяет никто. Сам автор этой статьи на собеседовании с Чистовым продемонстрировал что знания, даже самые глубокие, вроде, как в таблицах СУБД хранятся константы, устаревают. И становятся ненужным мусором.
Hatson; elephant_x; DEG156; Olenevod; Award; NoRazum; Inziya; botokash; wolfsoft; user1058740; Dmitryiv; Богатырев Артур; retr0; Kovekh; zhmypka; jurix; wazup666; Atticus2; Aleks_Antonuk; d.zhukov; Поручик; GATTUSO; mostostroy-11; cosmo2004; FatPanzer; Darax; Legachi; Serg O.; +28 Ответить
57. Богатырев Артур 103 22.01.21 11:41 Сейчас в теме
(4)
Но на практике программисту приходится не использовать технические знания, а искать решения среди, уже возможно, готовых вариантов. Главным становится умение добывать знание. А это не проверяет никто. Сам автор этой статьи на собеседовании с Чистовым продемонстрировал что знания, даже самые глубокие, вроде, как в таблицах СУБД хранятся константы, устаревают. И становятся ненужным мусором.

Именно, плюсую! В реальности сегодня некоторые "супер-зубры" которые когда то изучили что нибуть на 1С 7.7. - с теми своими знаниями просто не нужны, и останутся зубрами, только если смогут изучить новое, или смогут найти среди готового.
Проверять программиста, может ли он с нуля создать внешнюю печатную форму конечно нужно, но с учетом, что умный возьмет существующую, или переделает сущетствующую.
5. user1503726 19.01.21 13:18 Сейчас в теме
Рефакторинг не предлагать..
6. dimank 19.01.21 13:53 Сейчас в теме
Проходил данный тест. могу отметить как плюсы так и минусы.
Из плюсов - некоторые вопросы заставляют "встряхнуть" мозги т.к. вроде бы не очевидны, но проверяют понимание работы платформы.
Так же это довольно интересный контроль твоих Hard skills (но есть нюанс, о нем в минусах), ответы на многие вопросы довольно просты и решаются "галочками", хотя первоначально в голову взбредают идеи чуть ли не коддинга. Тест довольно не тривиальный, но некоторые вопросы вполне стандарты для собеседований (вирт таблицы остатков, как строятся и т.д.).
Из минусов - тест проверяет только твои знания "здесь и сейчас", впрочем как и любой тест, конечно, чем большими навыками, изначально, ты обладаешь, тем выше шанс вспомнить, но здесь срабатывает момент, что тест ограничен по времени (причем на каждый вопрос). Поэтому если вы, к примеру, год назад делали любые вещи как бог в СКД, а потом год варились на проекте, где вы больше архитектор, либо, в СКД, максимум программно выполняли запросы, в результате, после теста, у вас будет состояние "ааа блин точно", т.к. хватает вопросов на знание, как сделать что-то не прибегая к коддингу (особенно в СКД, поставить галочку или где то что-то поменять). Ну и само собой, тест никак не проверяет любые другие навыки - знание БСП, умение писать по стандартам, навыки в архитектуре, значение/умение в тех. экспертизе и оптимизации, и т.д. и т.п..
Award; Inziya; Cujoko; Kovekh; FatPanzer; BackinSoda; +6 Ответить
7. user1503726 19.01.21 14:01 Сейчас в теме
То есть изначально задача hr это передавать сотрудников из рук в руки как "горячую картошку".
Пока знания не закристаллизовались.
Единственное что мне не понятно, это откуда берутся junior, из дворников что ли? В школе, а тем более в вузе программирование вроде как есть.. какое-то.
55. Daynestro07 22.01.21 11:21 Сейчас в теме
(7) Я как человек, который сравнительно недавно закончил колледж (6 лет назад), могу сказать, что нихрена не учат. В колледже была довольно-таки неплохая практика по ООП (писали на С#) и web (PHP) и был один или два семестра, на которых было программирование на 1с (уф). И вот что я скажу - мы программировали, абсолютно не зная что и как работает. Наш преподаватель, кстати опытный программист (не в 1с), давала задачу и сразу код решения и мы его перепечатывали. И у половины людей он не работал.
shard; starik-2005; +2 Ответить
61. starik-2005 2265 22.01.21 17:36 Сейчас в теме
(55) да, в школе вообще сейчас на информатике как такового программирования нет - это алгебра больше. В колледже Вас хоть знакомили с кодом.
70. user681671_blesgron 23.01.21 23:04 Сейчас в теме
(55)Открою секрет учебников. Больше половины примеров и решений в этих задачах не работают!!! Они в себе изначально содержат ошибку. Но благодаря этим ошибкам, если в тебе есть зерно программиста/копателя. То ты найдешь самостоятельно ошибку, исправишь ее, прочитаешь дополнительную литературу. Получишь удовлетворение уровня создатель. Ты самостоятельно решил задачу и нашел ошибку у гуру преподавателя. Это классическая пасхалка от программистов программистам.
8. BigClock 19.01.21 14:57 Сейчас в теме
Предложу свой вариант запроса по последней задаче

ВЫБРАТЬ
	Таблица.Накладная КАК Накладная,
	Таблица.Платежка КАК Платежка,
	Таблица.Сумма КАК Сумма
ПОМЕСТИТЬ ВТ_СтараяТаблица
ИЗ
	&СтараяТаблица КАК Таблица
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Таблица.Накладная КАК Накладная,
	Таблица.Платежка КАК Платежка,
	Таблица.Сумма КАК Сумма
ПОМЕСТИТЬ ВТ_НоваяТаблица
ИЗ
	&НоваяТаблица КАК Таблица
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Таблица.Накладная КАК Накладная,
	Таблица.Платежка КАК Платежка,
	Таблица.Сумма КАК Сумма,
	ЛОЖЬ КАК НоваяТаблица
ПОМЕСТИТЬ ВТ_ВсеСуммы
ИЗ
	ВТ_СтараяТаблица КАК Таблица

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

ВЫБРАТЬ
	Таблица.Накладная,
	Таблица.Платежка,
	Таблица.Сумма,
	ИСТИНА
ИЗ
	ВТ_НоваяТаблица КАК Таблица
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
	ВТ_НоваяТаблица.Накладная КАК Накладная
ПОМЕСТИТЬ ВТ_Накладные
ИЗ
	ВТ_НоваяТаблица КАК ВТ_НоваяТаблица
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_СтараяТаблица КАК ВТ_СтараяТаблица
		ПО ВТ_НоваяТаблица.Накладная = ВТ_СтараяТаблица.Накладная
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_ВсеСуммы.Накладная КАК Накладная,
	ВТ_ВсеСуммы.Платежка КАК Платежка,
	ВТ_ВсеСуммы.Сумма КАК Сумма,
	ВТ_ВсеСуммы.НоваяТаблица КАК НоваяТаблица
ПОМЕСТИТЬ ВТ_СуммыПоНакладным
ИЗ
	ВТ_ВсеСуммы КАК ВТ_ВсеСуммы
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Накладные КАК ВТ_Накладные
		ПО ВТ_ВсеСуммы.Накладная = ВТ_Накладные.Накладная
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_СуммыПоНакладным.Накладная КАК Накладная,
	ВТ_СуммыПоНакладным.Платежка КАК Платежка,
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ_СуммыПоНакладным.НоваяТаблица) КАК НоваяТаблица
ПОМЕСТИТЬ ВТ_НакладныеПлатежки
ИЗ
	ВТ_СуммыПоНакладным КАК ВТ_СуммыПоНакладным

СГРУППИРОВАТЬ ПО
	ВТ_СуммыПоНакладным.Накладная,
	ВТ_СуммыПоНакладным.Платежка

ИМЕЮЩИЕ
	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ_СуммыПоНакладным.НоваяТаблица) > 1
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_СуммыПоНакладным.Накладная КАК Накладная,
	ВТ_СуммыПоНакладным.Платежка КАК Платежка,
	ВТ_СуммыПоНакладным.Сумма КАК Сумма
ИЗ
	ВТ_СуммыПоНакладным КАК ВТ_СуммыПоНакладным
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_НакладныеПлатежки КАК ВТ_НакладныеПлатежки
		ПО ВТ_СуммыПоНакладным.Накладная = ВТ_НакладныеПлатежки.Накладная
			И ВТ_СуммыПоНакладным.Платежка = ВТ_НакладныеПлатежки.Платежка
			И (ВТ_СуммыПоНакладным.НоваяТаблица)

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

ВЫБРАТЬ
	ВТ_СуммыПоНакладным.Накладная,
	ВТ_СуммыПоНакладным.Платежка,
	ВТ_СуммыПоНакладным.Сумма
ИЗ
	ВТ_СуммыПоНакладным КАК ВТ_СуммыПоНакладным
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_НакладныеПлатежки КАК ВТ_НакладныеПлатежки
		ПО ВТ_СуммыПоНакладным.Накладная = ВТ_НакладныеПлатежки.Накладная
			И ВТ_СуммыПоНакладным.Платежка = ВТ_НакладныеПлатежки.Платежка
ГДЕ
	ВТ_НакладныеПлатежки.Накладная ЕСТЬ NULL
Показать
9. buganov 156 19.01.21 15:18 Сейчас в теме
(8)в условии без конструктора, как я понял
10. s_captain 19.01.21 18:26 Сейчас в теме
А как вам такой запрос к...

Выбор
старая.накладная как накладная,
старая.платежка как платежка,
старая.сумма как сумма
Поместить вт_старая
Из &старая_таблица как старая;

Выбор
новая.накладная как накладная,
новая.платежка как платежка,
новая.сумма как сумма
Поместить вт_новая
Из &новая_таблица как новая;

Выбор
ЕстьNULL(старая.накладная, новая.накладная) как накладная,
ЕстьNULL(старая.платежка, новая.платежка) как платежка,
ЕстьNULL(новая.сумма, старая.сумма) как сумма
Из вт_старая как старая
Полное соединение вт_новая как новая
По старая.накладная=новая.накладная
И старая.платежка=новая.платежка
Где
старая.накладная в (Выбор новая.накладная Из вт_новая как новая)
И новая.накладная в (Выбор старая.накладная Из вт_старая как старая)
Krio2; Sergant; Sungang; +3 Ответить
11. Sungang 31 19.01.21 20:45 Сейчас в теме
(10) Да, это гениально) работает. В условии Где "И" на "ИЛИ" только поменять.
sulfur17; +1 Ответить
12. s_captain 19.01.21 20:58 Сейчас в теме
(11) Согласен, конечно, "ИЛИ". Писал на телефоне...
20. dimank 20.01.21 09:50 Сейчас в теме
(11) а еще лучше заменить "или" на "объединить все" :)
81. swimdog 738 26.01.21 01:30 Сейчас в теме
(10) Для тех, кто сомневается в результате. Мне это решение показалось самым красивым.
ВЫБРАТЬ
	"Накладная 1" КАК Накладная,
	"Платежка 1" КАК Платежка,
	500 КАК Сумма
ПОМЕСТИТЬ ВТ_Старая

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

ВЫБРАТЬ
	"Накладная 2",
	"Платежка 2",
	300

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

ВЫБРАТЬ
	"Накладная 3",
	"Платежка 3",
	400

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

ВЫБРАТЬ
	"Накладная 1",
	"Платежка 4",
	1000

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

ВЫБРАТЬ
	"Накладная 1",
	"Платежка 5",
	800

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

ВЫБРАТЬ
	"Накладная 7",
	"Платежка 5",
	950
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	"Накладная 1" КАК Накладная,
	"Платежка 1" КАК Платежка,
	750 КАК Сумма
ПОМЕСТИТЬ ВТ_Новая

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

ВЫБРАТЬ
	"Накладная 2",
	"Платежка 1",
	300

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

ВЫБРАТЬ
	"Накладная 3",
	"Платежка 3",
	350

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

ВЫБРАТЬ
	"Накладная 5",
	"Платежка 5",
	1500

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

ВЫБРАТЬ
	"Накладная 3",
	"Платежка 5",
	1500

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

ВЫБРАТЬ
	"Накладная 1",
	"Платежка 5",
	100
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ЕСТЬNULL(Старая.Накладная, Новая.Накладная) КАК накладная,
	ЕСТЬNULL(Старая.Платежка, Новая.Платежка) КАК платежка,
	ЕСТЬNULL(Новая.Сумма, Старая.Сумма) КАК сумма
ИЗ
	ВТ_Старая КАК Старая
		ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Новая КАК Новая
		ПО (Старая.Накладная = Новая.Накладная)
			И (Старая.Платежка = Новая.Платежка)
ГДЕ
	(Старая.Накладная В
				(ВЫБРАТЬ
					новая.Накладная
				ИЗ
					вт_новая КАК новая)
			ИЛИ Новая.Накладная В
				(ВЫБРАТЬ
					старая.Накладная
				ИЗ
					вт_старая КАК старая))
Показать
s_captain; +1 Ответить
13. jONES1979 19.01.21 21:56 Сейчас в теме
Ох ну кем же нужно быть чтобы даже презентации верстать с грамматическими ошибками.
14. LazzzyCat 20.01.21 01:30 Сейчас в теме
Как вариант решения, на народный суд :-)

ВЫБРАТЬ
	СтараяТаблица.Накладная КАК Накладная,
	СтараяТаблица.Платежка КАК Платежка,
	СтараяТаблица.Сумма КАК Сумма
ПОМЕСТИТЬ ВТ_СтараяТаблица
ИЗ
	&СтараяТаблица КАК СтараяТаблица
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	НоваяТаблица.Накладная КАК Накладная,
	НоваяТаблица.Платежка КАК Платежка,
	НоваяТаблица.Сумма КАК Сумма
ПОМЕСТИТЬ ВТ_НоваяТаблица
ИЗ
	&НоваяТаблица КАК НоваяТаблица
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_НоваяТаблица.Накладная КАК Накладная
ПОМЕСТИТЬ ВТ_Накладные
ИЗ
	ВТ_НоваяТаблица КАК ВТ_НоваяТаблица
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_СтараяТаблица КАК ВТ_СтараяТаблица
		ПО ВТ_НоваяТаблица.Накладная = ВТ_СтараяТаблица.Накладная

СГРУППИРОВАТЬ ПО
	ВТ_НоваяТаблица.Накладная
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_СтараяТаблица.Накладная КАК Накладная,
	ВТ_СтараяТаблица.Платежка КАК Платежка,
	ИСТИНА КАК СтараяПлатежка,
	ВТ_СтараяТаблица.Сумма КАК СтараяСумма,
	ЛОЖЬ КАК НоваяПлатежка,
	0 КАК НоваяСумма
ПОМЕСТИТЬ ВТ_ДетальныеЗаписи
ИЗ
	ВТ_СтараяТаблица КАК ВТ_СтараяТаблица

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

ВЫБРАТЬ
	ВТ_НоваяТаблица.Накладная,
	ВТ_НоваяТаблица.Платежка,
	ЛОЖЬ,
	0,
	ИСТИНА,
	ВТ_НоваяТаблица.Сумма
ИЗ
	ВТ_НоваяТаблица КАК ВТ_НоваяТаблица
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_ДетальныеЗаписи.Накладная КАК Накладная,
	ВТ_ДетальныеЗаписи.Платежка КАК Платежка,
	МАКСИМУМ(ВТ_ДетальныеЗаписи.СтараяПлатежка) КАК СтараяПлатежка,
	СУММА(ВТ_ДетальныеЗаписи.СтараяСумма) КАК СтараяСумма,
	МАКСИМУМ(ВТ_ДетальныеЗаписи.НоваяПлатежка) КАК НоваяПлатежка,
	СУММА(ВТ_ДетальныеЗаписи.НоваяСумма) КАК НоваяСумма
ПОМЕСТИТЬ ВТ_СгруппированныеЗаписи
ИЗ
	ВТ_ДетальныеЗаписи КАК ВТ_ДетальныеЗаписи

СГРУППИРОВАТЬ ПО
	ВТ_ДетальныеЗаписи.Накладная,
	ВТ_ДетальныеЗаписи.Платежка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_СгруппированныеЗаписи.Накладная КАК Накладная,
	ВТ_СгруппированныеЗаписи.Платежка КАК Платежка,
	ВЫБОР
		КОГДА ВТ_СгруппированныеЗаписи.НоваяПлатежка
				И ВТ_СгруппированныеЗаписи.СтараяПлатежка
			ТОГДА ВТ_СгруппированныеЗаписи.НоваяСумма
		ИНАЧЕ ВТ_СгруппированныеЗаписи.СтараяСумма + ВТ_СгруппированныеЗаписи.НоваяСумма
	КОНЕЦ КАК Сумма
ИЗ
	ВТ_СгруппированныеЗаписи КАК ВТ_СгруппированныеЗаписи
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Накладные КАК ВТ_Накладные
		ПО ВТ_СгруппированныеЗаписи.Накладная = ВТ_Накладные.Накладная
Показать
15. BackinSoda 20.01.21 02:02 Сейчас в теме
Прошёл тест для себя. Хорошие вопросы, но не всегда объективно получается так оценить. Поддержу комментарий N 6, особенно интересно как по ответам узнать про "разбор чужого кода" / БСП / умение писать по стандартам и прочее.
То чувство, когда оцениваешь себя около-сеньором, а тест говорит "чуть выше джуна" :)
84. buganov 156 26.01.21 08:33 Сейчас в теме
(15) Я так и не нашел бесплатного пробника. Ну чисто так, интереса ради
90. BackinSoda 26.01.21 11:38 Сейчас в теме
(84) Я тоже, пришлось купить ))
17. AlexeyIsip 11 20.01.21 08:47 Сейчас в теме
У меня вот такой запрос получился
ВЫБРАТЬ
	ЕСТЬNULL(НоваяТаблица.Накладная, СтараяТаблица.Накладная) КАК Накладная,
	ЕСТЬNULL(НоваяТаблица.Платежка, СтараяТаблица.Платежка) КАК Платежка,
 	ЕСТЬNULL(НоваяТаблица.Сумма, СтараяТаблица.Сумма) КАК Сумма
ИЗ
	РегистрСведений.СтараяТаблица КАК СтараяТаблица
		ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.НоваяТаблица КАК НоваяТаблица
		ПО (НоваяТаблица.Накладная = СтараяТаблица.Накладная)
			И (НоваяТаблица.Платежка = СтараяТаблица.Платежка)
ГДЕ
	ЕСТЬNULL(НоваяТаблица.Накладная, СтараяТаблица.Накладная) В
			(ВЫБРАТЬ
				НоваяТаблица.Накладная
			ИЗ
				РегистрСведений.СтараяТаблица КАК СтараяТаблица
					ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НоваяТаблица КАК НоваяТаблица
					ПО
						НоваяТаблица.Накладная = СтараяТаблица.Накладная)
Показать
19. Поручик 4471 20.01.21 09:41 Сейчас в теме
Я тоже очень часто просто на Инфостарт или в гугл лезу. И чо теперь?
elephant_x; DEG156; Азверин; d.zhukov; +4 Ответить
30. Ks_83 223 20.01.21 21:45 Сейчас в теме
(19) Теперь в крон на целых 120 тыщ в месяц тебя не возьмут. Обтекай.
elephant_x; d_bat; +2 Ответить
21. user1312237 20.01.21 11:05 Сейчас в теме
ВЫБРАТЬ  // Получаем старую таблицу
	             	пСтараяТаблица.Накладная КАК Накладная,
	             	пСтараяТаблица.Платежка КАК Платежка,
	             	пСтараяТаблица.Сумма КАК Сумма
	             ПОМЕСТИТЬ СтараяТаблица
	             ИЗ
	             	&СтараяТаблица КАК пСтараяТаблица
	             ;
	             
	             ////////////////////////////////////////////////////////////­////////////////////
	             ВЫБРАТЬ  // Получаем новую таблицу
	             	пНоваяТаблица.Накладная КАК Накладная,
	             	пНоваяТаблица.Платежка КАК Платежка,
	             	пНоваяТаблица.Сумма КАК Сумма
	             ПОМЕСТИТЬ НоваяТаблица
	             ИЗ
	             	&НоваяТаблица КАК пНоваяТаблица
	             ;
	             
	             ////////////////////////////////////////////////////////////­////////////////////
	             ВЫБРАТЬ // Отбираем общие накладные, строки только с такими накладными нам нужны в результат
	             	НоваяТаблица.Накладная КАК Накладная
	             ПОМЕСТИТЬ СовместныеНакладные
	             ИЗ
	             	НоваяТаблица КАК НоваяТаблица
	             		ВНУТРЕННЕЕ СОЕДИНЕНИЕ СтараяТаблица КАК СтараяТаблица
	             		ПО (СтараяТаблица.Накладная = НоваяТаблица.Накладная)
	             
	             СГРУППИРОВАТЬ ПО
	             	НоваяТаблица.Накладная
	             ;
	             
	             ////////////////////////////////////////////////////////////­////////////////////
	             ВЫБРАТЬ // Сразу получаем строки, которые пересекаются - когда из 2х таблиц мы выбираем одну из двух строк
	             	НоваяТаблица.Накладная КАК Накладная,
	             	НоваяТаблица.Платежка КАК Платежка,
	             	НоваяТаблица.Сумма КАК Сумма
	             ПОМЕСТИТЬ РезультатВарианта_2_1
	             ИЗ
	             	СтараяТаблица КАК СтараяТаблица
	             		ВНУТРЕННЕЕ СОЕДИНЕНИЕ НоваяТаблица КАК НоваяТаблица
	             		ПО СтараяТаблица.Накладная = НоваяТаблица.Накладная
	             			И СтараяТаблица.Платежка = НоваяТаблица.Платежка
	             ;
	             
	             ////////////////////////////////////////////////////////////­////////////////////
	             ВЫБРАТЬ  // Берем строки из новой таблицы с общими измерениями Номенклатура\Платежка в результат
	             	"Вариант 2.1" КАК ВидРезультата,
	             	РезультатВарианта_2_1.Накладная КАК Накладная,
	             	РезультатВарианта_2_1.Платежка КАК Платежка,
	             	РезультатВарианта_2_1.Сумма КАК Сумма
	             ИЗ
	             	РезультатВарианта_2_1 КАК РезультатВарианта_2_1
	             
	             ОБЪЕДИНИТЬ ВСЕ
	             
	             ВЫБРАТЬ // Из старой таблицы выбираем строки с общими накладными, кроме строк уже выбранных ранее, и добавляем их в результат
	             	"Вариант 2.2 СТАРАЯ",
	             	СтараяТаблица.Накладная,
	             	СтараяТаблица.Платежка,
	             	СтараяТаблица.Сумма
	             ИЗ
	             	СтараяТаблица КАК СтараяТаблица
	             ГДЕ
	             	СтараяТаблица.Накладная В
	             			(ВЫБРАТЬ
	             				СовместныеНакладные.Накладная
	             			ИЗ
	             				СовместныеНакладные)
	             	И НЕ (СтараяТаблица.Накладная, СтараяТаблица.Платежка) В
	             				(ВЫБРАТЬ
	             					РезультатВарианта_2_1.Накладная,
	             					РезультатВарианта_2_1.Платежка
	             				ИЗ
	             					РезультатВарианта_2_1)
	             
	             ОБЪЕДИНИТЬ ВСЕ
	             
	             ВЫБРАТЬ // Из новой таблицы выбираем строки с общими накладными, кроме строк уже выбранных ранее, и добавляем их в результат
	             	"Вариант 2.2 НОВАЯ",
	             	НоваяТаблица.Накладная,
	             	НоваяТаблица.Платежка,
	             	НоваяТаблица.Сумма
	             ИЗ
	             	НоваяТаблица КАК НоваяТаблица
	             ГДЕ
	             	НоваяТаблица.Накладная В
	             			(ВЫБРАТЬ
	             				СовместныеНакладные.Накладная
	             			ИЗ
	             				СовместныеНакладные)
	             	И НЕ (НоваяТаблица.Накладная, НоваяТаблица.Платежка) В
	             				(ВЫБРАТЬ
	             					РезультатВарианта_2_1.Накладная,
	             					РезультатВарианта_2_1.Платежка
	             				ИЗ
	             					РезультатВарианта_2_1)

Показать
Прикрепленные файлы:
22. Diplomat000 20.01.21 12:41 Сейчас в теме
На оценку)

Выбрать РАЗЛИЧНЫЕ
 СтараяТаблица.Накладная,
 СтараяТаблица.Платежка,
 ВЫБОР КОГДА СтараяТаблица.Платежка = НоваяТаблица.Платежка ТОГДА НоваяТаблица.Сумма ИНАЧЕ СтараяТаблица.Сумма КОНЕЦ
ИЗ 
 СтараяТаблица КАК СтараяТаблица
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ НоваяТаблица КАК НоваяТаблица
  ПО НоваяТаблица.Накладная = СтараяТаблица.Накладная

Объединить все

Выбрать РАЗЛИЧНЫЕ
 НоваяТаблица.Накладная,
 НоваяТаблица.Платежка,
 НоваяТаблица.Сумма
ИЗ НоваяТаблица КАК НоваяТаблица
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ СтараяТаблица КАК СтараяТаблица 
 ПО НоваяТаблица.Накладная = СтараяТаблица.Накладная
  И НоваяТаблица.Платежка <> СтараяТаблица.Платежка
Показать
23. Diplomat000 20.01.21 12:59 Сейчас в теме
(22)
Не там, косяк.
Будут дублироваться записи из первой таблицы...
s_captain; +1 Ответить
24. user1312237 20.01.21 13:03 Сейчас в теме
(22) Внутреннее соединение - опасная вещь, оно склонно к размножению строк ) Тут даже первый подзапрос дает неверный результат.
25. Diplomat000 20.01.21 13:16 Сейчас в теме
(24)
Так можно про все соединения сказать)
26. Diplomat000 20.01.21 13:19 Сейчас в теме
(22)
Выбрать РАЗЛИЧНЫЕ
 СтараяТаблица.Накладная,
 СтараяТаблица.Платежка,
 СУММА(ВЫБОР КОГДА СтараяТаблица.Платежка = НоваяТаблица.Платежка ТОГДА НоваяТаблица.Сумма ИНАЧЕ 0 КОНЕЦ)
 + 
 ВЫБОР 
  КОГДА СУММА(ВЫБОР КОГДА СтараяТаблица.Платежка = НоваяТаблица.Платежка ТОГДА НоваяТаблица.Сумма ИНАЧЕ 0 КОНЕЦ) = 0 
   ТОГДА СтараяТаблица.Сумма 
  ИНАЧЕ 0 
 КОНЕЦ
ИЗ 
 СтараяТаблица КАК СтараяТаблица
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ НоваяТаблица КАК НоваяТаблица
  ПО НоваяТаблица.Накладная = СтараяТаблица.Накладная

СГРУППИРОВАТЬ ПО
СтараяТаблица.Накладная,
СтараяТаблица.Платежка,
СтараяТаблица.Сумма

Объединить все

Выбрать РАЗЛИЧНЫЕ
 НоваяТаблица.Накладная,
 НоваяТаблица.Платежка,
 НоваяТаблица.Сумма
ИЗ НоваяТаблица КАК НоваяТаблица
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ СтараяТаблица КАК СтараяТаблица 
 ПО НоваяТаблица.Накладная = СтараяТаблица.Накладная
  И НоваяТаблица.Платежка <> СтараяТаблица.Платежка
Показать
27. akimych 202 20.01.21 13:27 Сейчас в теме
Статья конечно структурированная и за это плюс.

Первое: автор имеет однобокое видение, которое подходит для его аутсориснговой компании.
По факту он хочет найти спеца, которые будет во всех областях на уровне 8-10 баллов, ему нужен и швец и жнец и в дуду игрец. А такого в жизни не бывает, иначе бы не было в IT столько специальностей. От того, что я очень редко сталкиваюсь с RLS, с СКД и вообще с доброй третью из детской раскраски, это не значит, что я middle.

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

Второе: технический долг всегда был и будет в компаниях заказчика, сколько бы там программистов не работало и какого бы уровня они не были.
Потому что заказчик берет программистов в штат под конкретные задачи, которых все больше, чем возможности самих программистов. ОООчень редко у штатного программиста заложено в его рабочее время работа с техническим долгом.

Ну и третье, в статье все про отбор да отбор. А резюме то какое?
Надо брать не junior, middle или senior, а специалиста, который может эффективно решать задачи.
DEG156; ccserg; d.zhukov; Daynestro07; zqzq; chg; pavlov_dv; DmitryKSL; Aleks_Antonuk; +9 Ответить
28. Aleks_Antonuk 3 20.01.21 15:18 Сейчас в теме
(27) Согласен. Senior - это не только знание объектов метаданных и умение с ними работать в высоком темпе. Senior - это опыт, который в общем случае, позволяет решать задачи быстрее других.
Искать надо специалиста под планируемые задачи, а не "универсального солдата".
29. Lion heart 6 20.01.21 18:43 Сейчас в теме
Смотрел взаимные собеседования Раниса Усманова и Павла Чистова. Было интересно. Старался отвечать раньше интервьюируемого. Правильно ответил почти на все вопросы.
31. Red1 19 20.01.21 23:50 Сейчас в теме
Хорошая стать, и хорошее дело... дать спецам из регионов нормальный (выше их региона) доход.
32. Rustig 1668 21.01.21 06:07 Сейчас в теме
Коллеги, что толку от этих делений - сеньор, юниор, мидл?

У компаний и подразделений есть определенные цели и под них определенные задачи, которые надо решать специалисту.

Руководитель организовывает процесс достижения целей, в том числе найм, обучение, повышение квалификации, распределение задач по сотрудникам.

Если руководитель не справляется, то конечно можно свалить на то , что "у меня в команде 60% юниоров, 30% мидл, 10% сеньоров".
88. morin 23 26.01.21 09:56 Сейчас в теме
В жадных франчах руководитель дальше собственного сиеминутного тощенького конверта смотреть не хочет, да и не может, т.к. иначе сам ничего не заработает. Тут уж не до командной работы...
33. DmitryKSL 155 21.01.21 08:00 Сейчас в теме
ФОТ каждого разработчика в год составлял порядка 1 млн

Они что за 50 тысяч работали?
34. IssakN 33 21.01.21 09:22 Сейчас в теме
(33)1млн/12 = 83 в месяц. В регионах это очень хорошая ЗП, часто даже ниже. Не говоря о том что в целом по региону ЗП средняя 30к.
35. DmitryKSL 155 21.01.21 09:34 Сейчас в теме
(34) А теперь налоги посчитайте, или у вас ФОТ без налогов?
37. IssakN 33 21.01.21 10:02 Сейчас в теме
(35)Так я и считал без вычета налогов. 83 - 13%НДФЛ(10.8) = 72к. И по прежнему хорошая ЗП для регионов на руки)
38. vkar 21.01.21 10:06 Сейчас в теме
(37) Там еще и взносы всякие есть страховые...
40. IssakN 33 21.01.21 10:36 Сейчас в теме
(38)Значит мое понимание ФОТ не совсем верно. Я полагал что страховые в данном случае уже туда не входят.
58. Богатырев Артур 103 22.01.21 11:44 Сейчас в теме
(38)
ам еще и взносы всякие есть страховые...

расстрою вас, страховые платит работодатель не из вашей зарплаты.
В ФОТ в традиционном понимании они не входят, они идут по графе "налоги предприятия".
68. DmitryKSL 155 23.01.21 14:57 Сейчас в теме
(58) В контексте статьи входят, не передергиваете. Читаем.
за три года привлекла дополнительно себе в штат еще три программиста

и
ФОТ каждого разработчика в год составлял порядка 1 млн. В итоге за три года компания себе нагенерировала 3 млн убытков

Из этого логически следует что миллион на одного программиста это все его зарплатные расходы, включая налоги. Ну или тогда не 3 млн "убытков", а сильно больше. Так?
75. Богатырев Артур 103 25.01.21 08:34 Сейчас в теме
(68) я вам записал что такое ФОТ в обычном понимании. Каждый решает в свою меру.
"Убытков" конечно еще более.
Но найм программистов не убытки
Вообще там уже отмечали в комментариях, что не совсем точно считать техническим долгом - найм в штат товых специалистов после внедрения системы
39. DmitryKSL 155 21.01.21 10:20 Сейчас в теме
(37) Вообще-то налогов больше 40%.
41. IssakN 33 21.01.21 10:41 Сейчас в теме
(35)Тогда получается
взносы для Пенсионного фонда страхования – 22%;
для Фонда социального страхования – 2,9%;
для отчислений в Фонд медицинского страхования – 5,1%
НДФЛ 13%
83к - 43%(35.7) = 47.3.
Теперь картина иная. Но все равно выше средней ЗП) А значит первоначальное высказывание автора логично если наняли разработчиков из регионов.
69. DmitryKSL 155 23.01.21 15:19 Сейчас в теме
(41) Выше средней это очень сомнительный аргумент. В декабре ездил к родителям. На моем бывшем предприятии видел вакансию программиста 1С на местном сайте. Обещали з/п 50т.р грязными, в требованиях опыт успешного внедрения ERP и куча других плюшек. Скажите зачем такому спецу сидеть в жопе мира, даже за зарплату выше среднего уровня (около 30), если можно сесть на самолет до Москвы и просить 200? Разница в 150 прекрасно решает проблему с жильем и прочими радостями жизни.
Разработчиков в регионах можно найти и за 50, только я не верю что от них много толку будет, что собственно и подтверждается статьей.
71. KRaSH13 24.01.21 22:47 Сейчас в теме
(69) Было бы так всё однозначно - не понравилась з/п, взял и уехал туда, где понравилась - hh и прочие не ломились бы от вакансий в мск и спб (собственно текущее предложение в количестве вакансий по этим двум примерно равно остальному предложению по стране)
76. IssakN 33 25.01.21 08:37 Сейчас в теме
(71)Ну и скажем честно московские фирмы нанимают на работы региональных разработчиков, потому что это выгодно и тем и тем.
79. KRaSH13 25.01.21 21:45 Сейчас в теме
(76) Скажем так - за последний год это стало происходить АКТИВНЕЕ, чем раньше. Всё-таки понимание, что сотрудник может приносить пользу, не приезжая в офис, у значительной доли работодателей отсутствовало напрочь. Теперь это многим пришлось испробовать. Как вывод - ожидаем некоторое сглаживание московских з/п и региональных в перспективе.
85. buganov 156 26.01.21 08:38 Сейчас в теме
(41)47 это не средняя даже в регионе. 47 получает разработчик на фикси, чуть круче стажера. И за 47 в Сибири(не в тайге) крепкий средняк даже отклика не оставит, особенно, если есть потребность в них же за 80-100.
86. IssakN 33 26.01.21 08:42 Сейчас в теме
(85)Интересно у Вас в Сибири. Ну я в своих сообщениях имел ввиду среднюю в целом по городу(30к). А 1с средняя у нас в вакансиях как раз 50к. Опять же "крепкий средняк" - что Вы вкладываете в этот термин (просто интересно Ваше мнение)?
87. buganov 156 26.01.21 08:57 Сейчас в теме
(86)Средняя по городу абсолютно никак не коррелирует со значениями зарплат разработчиков 1С. Именно разработчиков, а не мальчиков на побегушках на обновлениях.
Крепкий средняк тот, который в целом сможет закодировать и даже поучаствовать в разработке новых бизнес-процессов или доработать существующий. Без изысков и понимания, как устроено на уровне СУБД. Но при этом может запилить достаточно сложный отчет, логику документов и движений, и даже какие то обмены. В целом все то, что требуют на сертификате 1С:Специалист и, в принципе, если человек сам сдал его, то он уже точно не джун.
91. IssakN 33 26.01.21 11:47 Сейчас в теме
(87)Спасибо. Интересно узнать ситуацию по стране в нашей сфере.
36. user1528035 21.01.21 09:46 Сейчас в теме
AlexeyIsip - единственный кто написал вменяемый код, остальные "лепят горбатого", накручивая никому не нужные выкрутасы
42. mixsture 21.01.21 12:07 Сейчас в теме
То есть быстренько вставляли какое-то исправление, но в дальнейшем этим «костылем» здесь правили, а в другом месте ломали. Все это набиралось, как снежный ком, технический долг рос, в итоге компания за три года привлекла дополнительно себе в штат еще три программиста. Им приходилось ежегодно принимать по одному программисту дополнительно, потому что штат не справлялся с техническим долгом, команда не успевала масштабировать программу и исправлять ошибки. ФОТ каждого разработчика в год составлял порядка 1 млн. В итоге за три года компания себе нагенерировала 3 млн убытков.

Тут очень странное понимание убытка. С чего автор взял, что тут справился бы 1 человек вместо 4х? Само возникновение техдолга говорит о том, что времени на решение задачи сильно меньше необходимого. И какое решение автор предлагает? Взять спеца выше грейдом? Ну так он и стоить будет дороже и сравнивая его с эталонным фот 1 существующего программиста ниже грейдом - тоже будет убыток.
43. nicxxx 239 21.01.21 12:40 Сейчас в теме
А что время никто не пишет? У меня 20 минут

ВЫБРАТЬ "н1" КАК Накладная,"п1" КАК Платежка,"500" КАК Сумма ПОМЕСТИТЬ ВТСтарая 
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "н2","п2","300"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "н3","п3","400"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "н1","п4","1000"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "н1","п5","800"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "н7","п5","950"
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ "н1" КАК Накладная,"п1" КАК Платежка,"750" КАК Сумма
ПОМЕСТИТЬ ВТНовая
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "н2","п1","300"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "н3","п3","350"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "н5","п5","1500"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "н3","п5","1500"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "н1","п5","100"
;

// оставим только те строки, где накладные из таблиц пересекаются
////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТСтарая.Накладная КАК накладная,
	ВТСтарая.Платежка КАК платежка,
	ВТСтарая.Сумма КАК сумма
ПОМЕСТИТЬ ВТСтарая_
ИЗ
	ВТСтарая КАК ВТСтарая
ГДЕ
	ВТСтарая.Накладная В
			(ВЫБРАТЬ РАЗЛИЧНЫЕ
				ВТНовая.Накладная
			ИЗ
				ВТНовая)
;

// оставим только те строки, где накладные из таблиц пересекаются
////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТНовая.Накладная КАК накладная,
	ВТНовая.Платежка КАК платежка,
	ВТНовая.Сумма КАК сумма
ПОМЕСТИТЬ ВТНовая_
ИЗ
	ВТНовая КАК ВТНовая
ГДЕ
	ВТНовая.Накладная В
			(ВЫБРАТЬ РАЗЛИЧНЫЕ
				ВТСтарая.Накладная
			ИЗ
				ВТСтарая)
;

// выберем строки из обеих таблиц, где платежки равны и возьмем сумму из новой таблицы
////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТСтарая_.накладная КАК накладная,
	ВТСтарая_.платежка КАК платежка,
	ВТНовая_.сумма КАК сумма
ПОМЕСТИТЬ ВТПлатежкиРавны
ИЗ
	ВТСтарая_ КАК ВТСтарая_
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТНовая_ КАК ВТНовая_
		ПО (ВТНовая_.накладная = ВТСтарая_.накладная)
			И (ВТНовая_.платежка = ВТСтарая_.платежка)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТПлатежкиРавны.накладная КАК накладная,
	ВТПлатежкиРавны.платежка КАК платежка,
	ВТПлатежкиРавны.сумма КАК сумма
ИЗ
	ВТПлатежкиРавны КАК ВТПлатежкиРавны

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

// выберем строки из старой таблицы, где платежки не равны новой таблице
ВЫБРАТЬ
	ВТСтарая_.накладная,
	ВТСтарая_.платежка,
	ВТСтарая_.сумма
ИЗ
	ВТСтарая_ КАК ВТСтарая_
		ЛЕВОЕ СОЕДИНЕНИЕ ВТПлатежкиРавны КАК ВТПлатежкиРавны
		ПО (ВТПлатежкиРавны.накладная = ВТСтарая_.накладная)
			И (ВТПлатежкиРавны.платежка = ВТСтарая_.платежка)
ГДЕ
	ВТПлатежкиРавны.накладная ЕСТЬ NULL

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

// выберем строки из новой таблицы, где платежки не равны старой таблице
ВЫБРАТЬ
	ВТНовая_.накладная,
	ВТНовая_.платежка,
	ВТНовая_.сумма
ИЗ
	ВТНовая_ КАК ВТНовая_
		ЛЕВОЕ СОЕДИНЕНИЕ ВТПлатежкиРавны КАК ВТПлатежкиРавны
		ПО (ВТПлатежкиРавны.накладная = ВТНовая_.накладная)
			И (ВТПлатежкиРавны.платежка = ВТНовая_.платежка)
ГДЕ
	ВТПлатежкиРавны.накладная ЕСТЬ NULL
Показать
44. nicxxx 239 21.01.21 12:42 Сейчас в теме
В (17) конечно круто получилось, но давай по-честному, код должен быть поддерживаемым, чтобы его было легко прочитать и понять.
45. Kovekh 21.01.21 17:09 Сейчас в теме
(44) Легко прочитать и понять? Давненько запросы-то в ЗУП разбирали?) Там всегда из кучи ВТ, которые формируются зачастую через 5 ступеней и чтобы выйти на начальные таблицы, уже уйдёт полчаса-час времени.
46. oleg-m 21.01.21 17:36 Сейчас в теме
ВЫБРАТЬ
	ВнутреннийЗапрос.Накладная,
	ВнутреннийЗапрос.Платежка,
	ВЫБОР
		КОГДА МАКСИМУМ(ВнутреннийЗапрос.СуммаНовая) = 0
			ТОГДА МАКСИМУМ(ВнутреннийЗапрос.СуммаСтарая)
		ИНАЧЕ МАКСИМУМ(ВнутреннийЗапрос.СуммаНовая)
	КОНЕЦ КАК Сумма
ИЗ
	(ВЫБРАТЬ
		СтараяТаблица.Накладная КАК Накладная,
		СтараяТаблица.Платежка КАК Платежка,
		СтараяТаблица.Сумма КАК СуммаСтарая,
		0 КАК СуммаНовая
	ИЗ
		СтараяТаблица КАК СтараяТаблица
			ВНУТРЕННЕЕ СОЕДИНЕНИЕ НоваяТаблица КАК НоваяТаблица
			ПО (НоваяТаблица.Накладная = СтараяТаблица.Накладная)
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		НоваяТаблица.Накладная,
		НоваяТаблица.Платежка,
		0,
		НоваяТаблица.Сумма
	ИЗ
		НоваяТаблица КАК НоваяТаблица
			ВНУТРЕННЕЕ СОЕДИНЕНИЕ СтараяТаблица КАК СтараяТаблица
			ПО НоваяТаблица.Накладная = СтараяТаблица.Накладная) КАК ВнутреннийЗапрос

СГРУППИРОВАТЬ ПО
	ВнутреннийЗапрос.Накладная,
	ВнутреннийЗапрос.Платежка
Показать
47. muskul 22.01.21 06:36 Сейчас в теме
В 2021 никогда рядом не будет стоять удобочитаемость и "исправляемоесть" с типовыми (да и не только) решениями.
захочешь добавить в сче-фактуру что то идокумента, легче еще раз обратиться к документу чем среди той горы кода найти где там инициализируются переменные документа.
зы. сайт походу за ддсосили
48. Rustig 1668 22.01.21 06:58 Сейчас в теме
Коллеги, решая задачи, вы проверяете свой индивидуальный уровень айкью в 1С, а в команде коллективная среда - кто-то подскажет, кто-то проверит-перепроверит, третий, решая свою задачу, обратит внимание на ваш код и предложит оптимальный подход. В команде "варево" - все учатся друг у друга. Зачем эти горы собственных решений?! Результат должна достигать команда , а не конкретно вы или Вася Пупкин.
На входе проверяют умение решать узкую задачу - и если не справился, вешают ярлык "не подходит", а в реале картина другая в коллективе - не знаешь как решить, так тебе ТЗ подскажут, да еще базу знаний дадут.
В общем, если вам отказывают в предложении сотрудничества, не комплексуйте! Еще не известно кому повезло больше - им , что вас не взяли, или вам, что не попали в такую отсталую среду команды!
И зря вы время тратите , решая тут задачи и споря друг с другом. Уважайте себя и цените свое время!
buganov; Award; user684274_androsov--roman; check2; Cujoko; ccserg; morin; +7 Ответить
65. check2 133 23.01.21 13:06 Сейчас в теме
(48)
И зря вы время тратите , решая тут задачи и споря друг с другом. Уважайте себя и цените свое время!

Способность перестать доказывать свою правоту приходит с возрастом. >40 ;)
49. yyv-911 22.01.21 08:03 Сейчас в теме
то чувство когда ты вообще оказывается не разработчик.

интересный взгляд на вещи.
хотелось бы отдельно про технический долг.
применительно он может быть к задаче. И тут оказывается все мы друг другу должны, т.к. выступаем друг у друга заказчиками - консультант у программиста и т.д. Все врут и косячат. И даже сами себе врём и не хотим видеть правду.

На практике получается что технический долг на большую часть зависит от правильной постановки задачи, системного методического сопровождения (что бы разработчика вовремя поправить в нужное русло). Все.
Чем лучше проработка задачи и надсмотрщик карабас-барабас тем меньше технический долг.
50. yyv-911 22.01.21 08:26 Сейчас в теме
главное отличие разработчика хорошего уровня от меньшего заключается в 2 вещах
1. Умение быстро разобраться в проблеме или изучить не известную область. Умение искать ответы на вопросы.
2. Умение задать уточняющие вопросы. Не забывать про них.
starik-2005; Daynestro07; zqzq; muskul; +4 Ответить
52. muskul 22.01.21 09:20 Сейчас в теме
(50)А еще знание предметной области и зачем это вообще нужно
53. retr0 22.01.21 10:05 Сейчас в теме
Почитав описания рангов, у меня также как с гороскопом то есть, мои навыки это среднее значение из каждого ранга. Из-за этого, если брать только конкретное описание я не попадаю не под одно из них. Тогда хто я?
54. Ambakollajder 22.01.21 10:28 Сейчас в теме
Первый вариант делал через соединения таблиц, уложился в минут 20, второй вариант с объединением нравится гораздо больше и на идею несколько секунд
ВЫБРАТЬ
	"Накладная 1" КАК Накладная,
	"Платежка 1" КАК Платежка,
	500 КАК Сумма
ПОМЕСТИТЬ ВТ_Старая

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

ВЫБРАТЬ
	"Накладная 2",
	"Платежка 2",
	300

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

ВЫБРАТЬ
	"Накладная 3",
	"Платежка 3",
	400

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

ВЫБРАТЬ
	"Накладная 1",
	"Платежка 4",
	1000

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

ВЫБРАТЬ
	"Накладная 1",
	"Платежка 5",
	800

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

ВЫБРАТЬ
	"Накладная 7",
	"Платежка 5",
	950
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	"Накладная 1" КАК Накладная,
	"Платежка 1" КАК Платежка,
	750 КАК Сумма
ПОМЕСТИТЬ ВТ_Новая

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

ВЫБРАТЬ
	"Накладная 2",
	"Платежка 1",
	300

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

ВЫБРАТЬ
	"Накладная 3",
	"Платежка 3",
	350

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

ВЫБРАТЬ
	"Накладная 5",
	"Платежка 5",
	1500

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

ВЫБРАТЬ
	"Накладная 3",
	"Платежка 5",
	1500

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

ВЫБРАТЬ
	"Накладная 1",
	"Платежка 5",
	100
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
	ВТ_Новая.Накладная КАК Накладная
ПОМЕСТИТЬ ВТ_Накладные
ИЗ
	ВТ_Старая КАК ВТ_Старая
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Новая КАК ВТ_Новая
		ПО ВТ_Старая.Накладная = ВТ_Новая.Накладная

ИНДЕКСИРОВАТЬ ПО
	Накладная
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_Старая.Накладная,
	ВТ_Старая.Платежка,
	ВТ_Старая.Сумма,
	0 КАК СуммаНовая
ПОМЕСТИТЬ ВТ_Итоги
ИЗ
	ВТ_Старая КАК ВТ_Старая
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Накладные КАК ВТ_Накладные
		ПО ВТ_Старая.Накладная = ВТ_Накладные.Накладная

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

ВЫБРАТЬ
	ВТ_Новая.Накладная,
	ВТ_Новая.Платежка,
	0,
	ВТ_Новая.Сумма
ИЗ
	ВТ_Новая КАК ВТ_Новая
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Накладные КАК ВТ_Накладные
		ПО ВТ_Новая.Накладная = ВТ_Накладные.Накладная
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_Итоги.Накладная,
	ВТ_Итоги.Платежка,
	ВЫБОР
		КОГДА СУММА(ВТ_Итоги.СуммаНовая) <> 0
			ТОГДА СУММА(ВТ_Итоги.СуммаНовая)
		ИНАЧЕ СУММА(ВТ_Итоги.Сумма)
	КОНЕЦ КАК Сумма
ИЗ
	ВТ_Итоги КАК ВТ_Итоги

СГРУППИРОВАТЬ ПО
	ВТ_Итоги.Накладная,
	ВТ_Итоги.Платежка
Показать
56. Daynestro07 22.01.21 11:25 Сейчас в теме
О, вот разбиение по джуниору и т.д. конечно интересное - наконец-то я понимаю, кто я есть.
А почему кодить в стилистике типовых конфигураций считается лучшим вариантом? Или от случая к случаю?
59. starik-2005 2265 22.01.21 14:44 Сейчас в теме
"Хотел, было, поругаться" (с), но статья на удивление хорошая.

Кстати, можно без "выразить" и без "где", ибо в SQL это все-равно превратится в соединение, поэтому лучше сразу внутреннее соединение: регистратор в регистре - это индекс, в документе - тем более, соединение по двум индексам - это один проход, т.е. O(N), а не O(Log2N * M) при использовании "ГДЕ". В принципе "выразить" - то же самое, но мне, лично, не нравится ибо в SQL этого нет...
sevushka; +1 Ответить
83. mevgenym 88 26.01.21 08:24 Сейчас в теме
(59) Думаю, если соискатель покажется слишком умным, вряд ли его возьмут, тем более в команду. Тут от целей конечно, можно ходить на собесы просто поиздеваться.
60. ogre2007 284 22.01.21 16:50 Сейчас в теме
"Принимают на работу по профессиональным навыкам, а увольняют за отношение к работе. Обычно." Тема прокрастинации и очковтирательства не раскрыта. А программировать ради программирования, на этом держится 80% рынка автоматизации. Мне кажется ваши системы держаться на личном диктате, а не на этих оловянных солдатиках.
67. check2 133 23.01.21 13:27 Сейчас в теме
(60)
Тема прокрастинации и очковтирательства не раскрыта
Это уже после приёма. Как можно на собеседовании это выяснить? Я бы тоже очень хотел знать это сразу, впору хоть на полиграфе проверяй. На собеседовании понимаешь что человек реально много умеет, но когда он приходит в проект он начинает тянуть резину. У него ж на лбу не написано что он хитрожопый жук, и устраиваясь на оклад он тем самым себе гарантирует зарплату на поддержку штанов. а реальные деньги он будет зарабатывать калымом на стороне. В условиях удалёнки сейчас вообще трудно контролировать стало.
Таким образом уровень прокрастинации растёт с уровнем сложности задач. Оценить трудоёмкость сложных задач (типа поди туда не знаю куда, принеси то, не знаю что) могут не многие, а те кто могут очень часто заняты, чтобы сделать это. Таким образом разработчик сам себе хозяин и может компостировать моск очень долго, ссылаясь на неопределённость задачи. Когда же начинаешь его припирать к стенке, спрашивая: "А что ты сегодня сделал для продвижения к цели?", - как правило, слышишь очень уклончивые ответы типа у меня EDT упал - полдня восстанавливал, интернет тупил - архив 2 часа качал...
slauter77; +1 1 Ответить
89. starik-2005 2265 26.01.21 11:03 Сейчас в теме
(67)
EDT упал - полдня восстанавливал, интернет тупил - архив 2 часа качал...
Странно что кто-то минус влепил - вполне нормальное мнение. Решается центром удаленной разработки с внетренним девопсом - тут разработчику уже вряд ли удастся такие вот отмазки лепить, а если интернету не было - это его личные проблемы. В итоге понятно, сколько времени человек находится в сеансе на сервере, сколько кнопок за это время нажал, сколько кода написал.

Но вообще, есть же Х-сотрудники, У-сотрудники и Z-мегадемоны из преисподней (я как-то писал об этом). И если первых надо пинать, а вторым создавать условия и наделять полномочиями, то третьи сами с тебя спросят, какого хрена ты тут нихрена не делаешь, тормозя с раздачей указаний.

Ну и такая штука, как спринт, помогает сфокусироваться на пуле задач и не превратить разработку в вялотекущую рутину.
92. check2 133 27.01.21 16:34 Сейчас в теме
(89)
Странно что кто-то минус влепил - вполне нормальное мнение.

Походу он прочитал :D Не иначе
(89)
Ну и такая штука, как спринт, помогает сфокусироваться на пуле задач и не превратить разработку в вялотекущую рутину.

А вот это почему то у меня за последние 5 лет ни разу не работало. Я имею в виду именно меня. Потому как на меня, обычно планировали одни задачи, а приходилось по факту раздавать пинки сотрудникам X, создавать условия для Y и смотреть чтобы мичуринской работой не простаивали Z.
93. starik-2005 2265 27.01.21 17:29 Сейчас в теме
(92) спринты могут не работать тогда, когда много замещающих задач, поэтому тут подходит инцидентная схема, когда техподдержка производит роутинг задачи, определяя для нее тип реакции, SLA и т.п. В итоге есть пул задач, есть ресурс, есть красные/желтые/зеленые задачи и реакция на них в соответствии с приоритетами, оговоренным SLA для каждого класса задач и принадлежности их к тому или иному контуру (элементу зоопарка систем или конкретному узлу их взаимодействия). Это называется поддержкой продукта. Разрабатывать и поддерживать продукты лучше в своих схемах: разработка через спринты и релизы по завершению, деплоящие принятые группой тестирования и заказчиком изменения в продукт, а поддержка через инцидентную схему с уровнем обслуживания через SLA для соответствующих групп. И в продукте должно быть предусмотрено движение от третьей линии к первой, чтобы у техподдержки было достаточно документации, чтобы решить проблему без разработчика.

Пример: был сервис печати, работающий через запуск клиента 1С и вываливания печатных форм на принтер. Он постоянно сломался: 1С отваливалась, лицухи кончались, ... Ну и тупо скорости не хватало для формирования всех документов. Переработали, убрали клиентскую часть - сервер сохранял PDF на шары Linux-машин, которые отправляли php-скриптом документы на печать, формировался отчет по ненапечатанным на время Х отчетам и пользователям, который автоматом отправлялся в инцидентную систему, где техподдержка приходя на работу получала список того, что не отпечатано. В итоге или пользователь заболел, или забыли поменять у клиента ответственного бухгалтера - техподдержка связывалась с бухгалтерией и выясняла, в чем проблема. А с железягами проблем не стало.
62. ccserg 43 22.01.21 18:10 Сейчас в теме
Добавьте вариант :
даете комп , задачу , даете время ограниченное или день ,и пусть пользуется всем и решит задачу
потом проверите ...
и не надо пудрить мозги кто чего умеет, и писать заумные статьи , все сразу видно будет , все просто как 2+2
а на серьезное место с большой ЗП можно и день потратить
63. Lancelot-2M 103 23.01.21 09:16 Сейчас в теме
Такого варианта еще не было

ВЫБРАТЬ
	ВЫРАЗИТЬ(Таб1.Накладная КАК СТРОКА(100)) КАК Накладная,
	ВЫРАЗИТЬ(Таб1.Платежка КАК СТРОКА(100)) КАК Платежка,
	Таб1.Сумма КАК Сумма
ПОМЕСТИТЬ ВТ1
ИЗ
	&Т1 КАК Таб1

ИНДЕКСИРОВАТЬ ПО
	Накладная,
	Платежка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВЫРАЗИТЬ(Таб2.Накладная КАК СТРОКА(100)) КАК Накладная,
	ВЫРАЗИТЬ(Таб2.Платежка КАК СТРОКА(100)) КАК Платежка,
	Таб2.Сумма КАК Сумма
ПОМЕСТИТЬ ВТ2
ИЗ
	&Т2 КАК Таб2

ИНДЕКСИРОВАТЬ ПО
	Накладная,
	Платежка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ1.Накладная КАК Накладная
ПОМЕСТИТЬ СписокНакладных
ИЗ
	ВТ1 КАК ВТ1
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ2 КАК ВТ2
		ПО ВТ1.Накладная = ВТ2.Накладная

СГРУППИРОВАТЬ ПО
	ВТ1.Накладная

ИНДЕКСИРОВАТЬ ПО
	Накладная
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ1.Накладная КАК Накладная,
	ВТ1.Платежка КАК Платежка,
	ВТ1.Сумма КАК Сумма
ПОМЕСТИТЬ ВТ11
ИЗ
	ВТ1 КАК ВТ1
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокНакладных КАК СписокНакладных
		ПО ВТ1.Накладная = СписокНакладных.Накладная

ИНДЕКСИРОВАТЬ ПО
	Накладная,
	Платежка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ2.Накладная КАК Накладная,
	ВТ2.Платежка КАК Платежка,
	ВТ2.Сумма КАК Сумма
ПОМЕСТИТЬ ВТ22
ИЗ
	ВТ2 КАК ВТ2
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ СписокНакладных КАК СписокНакладных
		ПО ВТ2.Накладная = СписокНакладных.Накладная

ИНДЕКСИРОВАТЬ ПО
	Накладная,
	Платежка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ11.Накладная КАК Накладная,
	ВТ11.Платежка КАК Платежка,
	ЕСТЬNULL(ВТ22.Сумма, ВТ11.Сумма) КАК Сумма
ИЗ
	ВТ11 КАК ВТ11
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ22 КАК ВТ22
		ПО ВТ11.Накладная = ВТ22.Накладная
			И ВТ11.Платежка = ВТ22.Платежка

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

ВЫБРАТЬ
	ВТ11.Накладная,
	ВТ11.Платежка,
	ВТ11.Сумма
ИЗ
	ВТ11 КАК ВТ11
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ22 КАК ВТ22
		ПО ВТ11.Накладная = ВТ22.Накладная
			И ВТ11.Платежка = ВТ22.Платежка
ГДЕ
	ВТ22.Накладная ЕСТЬ NULL

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

ВЫБРАТЬ
	ВТ22.Накладная,
	ВТ22.Платежка,
	ВТ22.Сумма
ИЗ
	ВТ22 КАК ВТ22
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ11 КАК ВТ11
		ПО ВТ22.Накладная = ВТ11.Накладная
			И ВТ22.Платежка = ВТ11.Платежка
ГДЕ
	ВТ11.Накладная ЕСТЬ NULL
Показать
64. user1042718 23.01.21 12:16 Сейчас в теме
Как быстро устаревают знания! Сейчас, уже года так 3, а может и больше, изменить расчёт себестоимости в БП не сможет не только junior-middle, но и сам автор статьи.
user880627; +1 Ответить
66. check2 133 23.01.21 13:09 Сейчас в теме
Автору спасибо за статью. Интересные примеры. (Жаль что про договоры и КА в СКД ответ не дали ;) Вопрос с двумя таблицами сработал для большинства "на слабо".
73. Storve 25.01.21 01:39 Сейчас в теме
(66) А свой вариант не на слабо?
78. check2 133 25.01.21 16:29 Сейчас в теме
(73) Я уже не в том возрасте чтобы здесь что - либо кому - то доказывать. Меня на слабо не проймёшь. Я конечно же для себя посмотрел задачу и знаю оптимальный её способ решения.
80. Storve 25.01.21 22:18 Сейчас в теме
(78) Я извиняюсь! Конечно! Но я и написал "не на слабо". Если обидел чем-то, прошу прощения. Просто хотелось увидеть Ваш вариант решения.
72. Storve 25.01.21 01:37 Сейчас в теме
А если так... Задание на практику
ВЫБРАТЬ
	Т1.Накладная КАК Накладная,
	Т1.Платежка КАК Платежка,
	Т1.Сумма КАК Сумма
ПОМЕСТИТЬ Т1
ИЗ
	&Т1 КАК Т1
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Т2.Накладная КАК Накладная,
	Т2.Платежка КАК Платежка,
	Т2.Сумма КАК Сумма
ПОМЕСТИТЬ Т2
ИЗ
	&Т2 КАК Т2
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Т1.Накладная КАК Накладная,
	Т1.Платежка КАК Платежка,
	Т1.Сумма КАК Сумма
ПОМЕСТИТЬ Т3
ИЗ
	Т1 КАК Т1
		ЛЕВОЕ СОЕДИНЕНИЕ Т2 КАК Т2
		ПО Т1.Накладная = Т2.Накладная
ГДЕ
	НЕ Т2.Накладная ЕСТЬ NULL

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

ВЫБРАТЬ
	Т2.Накладная,
	Т2.Платежка,
	Т2.Сумма
ИЗ
	Т2 КАК Т2
		ЛЕВОЕ СОЕДИНЕНИЕ Т1 КАК Т1
		ПО Т2.Накладная = Т1.Накладная
ГДЕ
	НЕ Т1.Накладная ЕСТЬ NULL
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Т1.Накладная КАК Накладная,
	Т1.Платежка КАК Платежка,
	Т2.Сумма КАК Сумма
ПОМЕСТИТЬ Т4
ИЗ
	Т1 КАК Т1
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Т2 КАК Т2
		ПО Т1.Накладная = Т2.Накладная
			И Т1.Платежка = Т2.Платежка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Т4.Накладная КАК Накладная,
	Т4.Платежка КАК Платежка,
	Т4.Сумма КАК Сумма
ПОМЕСТИТЬ Т5
ИЗ
	Т4 КАК Т4

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

ВЫБРАТЬ
	Т3.Накладная,
	Т3.Платежка,
	Т3.Сумма
ИЗ
	Т3 КАК Т3
ГДЕ
	НЕ (Т3.Накладная, Т3.Платежка) В
				(ВЫБРАТЬ
					Т4.Накладная,
					Т4.Платежка
				ИЗ
					Т4 КАК Т4)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
	Т5.Накладная КАК Накладная,
	Т5.Платежка КАК Платежка,
	Т5.Сумма КАК Сумма
ИЗ
	Т5 КАК Т5
Показать
74. Storve 25.01.21 01:56 Сейчас в теме
А задача 2 на вопрос почему...
Если не использовать выражение ВЫРАЗИТЬ на SQL будет запрос ко всем таблицам составного типа...
94. Cyberhawk 124 08.02.21 10:27 Сейчас в теме
у меня получилось совместить закрытый тест с открытым. Сначала я использую открытый тест – проверяю разработчика через теорию. Если здесь все хорошо, то следующей идет практическая задача
О совмещении чего с чем речь? Не увидел здесь про закрытый тест.
95. wildcad 14.02.21 11:52 Сейчас в теме
Тема до сих пор актуальна!
Сами сейчас ищем грамотных спецов и разработчиков...
Так что обращайтесь :)
Оставьте свое сообщение

См. также

Online телефонный справочник из 1С: Зарплата и управление персоналом Промо

WEB Управление персоналом (HRM) Управление персоналом (HRM) v8 ЗУП3.x Россия Бесплатно (free)

В интернете представлено много реализаций online телефонных справочников организаций. Есть справочники, которые использует для хранения информации базу Active Directory (LDAP), есть справочники, которые реализованы с использованием СУБД (например, MySQL). Но я не нашел справочника, который использует информацию из базы 1С. Далее я рассмотрю данную разработку.

10.03.2017    26426    ruha    16    

Эффективные приемы подбора персонала на "перегретом рынке"

Управление персоналом (HRM) Бесплатно (free)

При подборе персонала недостаточно руководствоваться одной лишь интуицией – это может привести к высокой текучке и ошибкам. О том, как упростить процедуру собеседования и снизить риск несоответствия кандидата предъявляемым требованиям, рассказал руководитель практики FRM и BI компании WiseAdvice Сергей Наумов.

22.01.2021    1733    SergeyN    7    

Как перевести сотрудников на "удаленку". Алгоритм экстренного перехода, примеры регламента и отчетности

Управление персоналом (HRM) Бесплатно (free)

Как правильно перейти на дистанционный формат работы, не потерять контроль и управление. Примеры документов для внедрения в работу. Статья для руководителей, директоров и собственников.

05.10.2020    1674    siddy    0    

Просто о 1С:ЗУП 3.1 за 10 минут

Зарплата Управление персоналом (HRM) v8 v8::СПР ЗУП3.x Россия БУ УУ Бесплатно (free)

Когда начинал работать с конфигурацией 1С ЗУП 2.5 не было никакого краткого описания этой конфигурации. Приходилось читать умные книги. Статья представляет собой вводный инструктаж в 1С: ЗУП 3.1 для начинающих.

04.09.2020    7825    Kaval88    30    

Бесплатный GPS-трекинг Промо

Интеграция Управление персоналом (HRM) Учет рабочего времени Управление персоналом (HRM) Учет рабочего времени Бесплатно (free)

Современные технологии и возможности становятся все более доступными для широких масс и повсеместно используемыми, как для частного лица, так и для мелкого и среднего бизнеса. Так и GPS-трекинг (отслеживание в реальном времени на карте местоположения водителей, курьеров, монтажных бригад, торговых представителей, детей, собак и т.п., а также просмотр статистики по их передвижениям и остановкам), становится сейчас все более востребованным сервисом, как для домашних условий, так и для предприятия. И, если крупные фирмы (например, транспортные предприятия) подписав договора с коммерческими сервисами, оплачивая своевременно счета за устройства и абонплату, эту проблему для себя решили, то это скорее подходит для крупных корпоративных клиентов. Что делать нам, простым смертным или небольшой фирме с несколькими водителями, например? Какие есть простые, надежные и недорогие решения?

05.01.2013    48885    venger    19    

Создание отчета "Анализ возраста сотрудников" на основе отчета "Личные данные сотрудников"

Зарплата Управление персоналом (HRM) v8 v8::СПР v8::СКД ЗУП3.x Россия БУ Бесплатно (free)

Пример создания(изменения) варианта отчета в программе «Зарплата и управление персоналом» редакции 3.1.

02.09.2020    3114    dima5ikv    0    

1С Основания увольнения

Управление персоналом (HRM) 1cv8.cf Бесплатно (free)

Увольнение – это прекращение трудовых отношений между Сотрудником и Работодателем. Последнему необходимо с особой тщательностью подходить к такому процессу, как увольнение сотрудника. Считается, что большинство разбирательств между работником и работодателем возникает именно из-за увольнений. Государство пытается максимально защитить интересы Работников, поэтому в Трудовом Кодексе подробно описаны все основания увольнения.

12.08.2020    2053    Koder_Line    0    

Управление персоналом через систему ценностей

Управление персоналом (HRM) Управление командой Бесплатно (free)

Ценности – очень эффективный механизм для управления персоналом. О том, как сформулировать ценности компании и прийти через них к согласию с коллективом, в своем докладе на конференции Infostart Event 2019 Inception рассказал Антон Солодков, директор компании Ант-Хилл.

31.07.2020    1533    user607296_solodkov    4    

Введение в практическую конфликтологию. Часть вторая "ВСКРЫВАТЬ НЕЛЬЗЯ ОСТАВИТЬ: КОНФЛИКТ-БОЛ"

Управление персоналом (HRM) Личная эффективность Бесплатно (free)

Помимо открытых конфликтов, о которых говорилось в прошлый раз, существуют еще и скрытые конфликты. И, как правило, их сложнее распознать и предотвратить.

30.07.2020    845    avysotskaya    10    

Введение в практическую конфликтологию. Часть первая, "капитанская"

Личная эффективность Управление персоналом (HRM) Бесплатно (free)

Конфликты являются неотъемлемой и естественной частью любых рабочих коммуникаций. И только от нас зависит, станет ли конфликт отправной точкой в развитии рабочих отношений или наоборот, окончательно их разрушит.

20.07.2020    1805    avysotskaya    29    

Изменения в 1С: ЗУП 3.1 в связи с Указом Президента РФ о нерабочей неделе и ее продлении

Зарплата Управление персоналом (HRM) v8 v8::СПР ЗКГУ3.0 ЗУП3.x Россия БУ Бесплатно (free)

Какие же изменения реализованы в программе 1С:ЗУП 3.1 для поддержки Указа Президента.

13.04.2020    3559    Neti    2    

Премия за дни повышения квалификации

Зарплата Управление персоналом (HRM) v8 v8::СПР ЗКГУ3.0 ЗУП3.x Россия БУ Бесплатно (free)

Пример настройки и расчета премии за дни повышения квалификации в ЗУП 3.1.

16.03.2020    3210    user1034502    0    

Отправка "Заявления на подключение к ЭДО ПФР" из программы "1С: Бухгалтерия предприятия, ред. 2" для СЗВ-ТД

Документооборот и делопроизводство Зарплата Управление персоналом (HRM) v8 v8::БУ БП2.0 Россия БУ ФОМС, ПФ, ФСС Бесплатно (free)

Инструкция по отправке "Заявления на подключение к ЭДО ПФР" из программы "1С Бухгалтерия предприятия, ред. 2" для обмена сведениями об электронных трудовых книжках и отправки отчетов по форме СЗВ-ТД.

11.02.2020    26002    rusmil    8    

У меня нулевая текучка

Управление персоналом (HRM) Бесплатно (free)

Да-да, правда

30.01.2020    10068    1c-intelligence    134    

Хороший, плохой, злой 1С-ник

Управление персоналом (HRM) Бесплатно (free)

В этой статье хотелось бы поднять проблему отношения к программистам 1С. Нечасто люди могут отличить хорошего программиста от плохого. Для людей важно исполнение их хотелок в кратчайшие сроки. Но является ли это показателем качества? Как отличить хорошего от плохого программиста? А еще есть отдельная каста - злые. Это вообще как? Давайте немного подробнее разберемся в этих вопросах

14.01.2020    19470    opx    144    

Формы и методы подготовки сотрудников

Управление персоналом (HRM) Россия Бесплатно (free)

В этой статье мы рассмотрим подходы к организации и проведению обучения работников Исполнителя на проектах. Случаи, когда команда проекта в неизменном состоянии проходит весь путь от формирования команды проекта на старте проекта до роспуска после его завершения, можно считать скорее исключением. Чаще всего состав специалистов команды изменяется в зависимости от текущего этапа, решаемых задач. Увольнения, переходы сотрудников в другие проекты тоже не являются чем-то экстраординарным.

06.12.2019    2273    user848643    0    

Эмоциональный интеллект в управлении ИТ-командами

Управление персоналом (HRM) Автоматизация ИТ-компании Бесплатно (free)

Эмоциональный интеллект, как явление и направление, начали изучать сравнительно недавно – около 30 лет назад. Но за это время появилось уже немало знаний, которые можно и нужно использовать в управлении ИТ-командами. Как это сделать, участникам конференции рассказала консультант студии креативного консалтинга «Не просто ИДЕЯ» Ирина Шишкина.

18.11.2019    4173    user596192_shiiisha    7    

WiseAdvise: Настройка расчета управленческой зарплаты в 1С:ЗУП КОРП 3.1

Зарплата Управление персоналом (HRM) v8 ЗУП3.x Россия УУ Бесплатно (free)

В статье описан механизм настройки расчета управленческой заработной платы в 1С ЗУП 3.1 КОРП в сравнении с аналогичным механизмом в ЗУП 2.5.

23.10.2019    9695    tamriko666@gmail.com    7    

Как найти «кнопку ВКЛ» у инженера, и всегда ли надо ее искать 

Управление персоналом (HRM) Личная эффективность Управление командой Россия Бесплатно (free)

Александр Орлов – управляющий партнер группы проектов Стратоплан, тренер школы менеджеров Стратоплан по работе с людьми и управленческим навыкам. На конференции Infostart Event 2018 Education Александр не только прочел доклад, но и провел мастер-класс. Мы перевели его в текстовый формат и делимся с участниками нашего сообщества. Ссылка на видеозапись мастер-класса – в конце текста.

23.10.2019    4949    user1069584    1    

Медвежьи услуги по требованию

О жизни Управление персоналом (HRM) Бесплатно (free)

О, сколько открытий чудных готовит нам профессия программиста 1С.

16.10.2019    13593    1c-intelligence    116    

Пуля

Управление персоналом (HRM) Бесплатно (free)

Доля прибыли для сотрудников

10.10.2019    7148    1c-intelligence    64    

Объединение организаций в ЗУП при реорганизации с переносом данных из ЗУП 2.5 в ЗУП 3.1

Зарплата Управление персоналом (HRM) Перенос данных из 1C8 в 1C8 v8 v8::СПР ЗУП2.5 ЗУП3.x БУ Бесплатно (free)

В этой статье описан опыт объединения 2-х организаций при реорганизации в ЗУП 3.1 с переносом данных одной организации из ЗУП 2.5 (релизы баз более или менее свежие, но не самые последние на момент перехода, примерно двух- и трехмесячной давности). За основу было взято решение из этой статьи https://infostart.ru/public/833658/, в которой описан алгоритм решения задачи, за что автору статьи огромная благодарность! Здесь же даны некоторые комментарии и пояснения к алгоритму переноса и объединения, описаны выявленные мною ошибки. Также приведена небольшая инструкция по использованию обработки ирПодборИОбработкаОбъектовБД — она будет полезна для пользователей — «не программистов», впервые работающих в не управляемых формах.

09.10.2019    8547    Neti    2    

Отчеты ЗУП. Решения всех отчетов из сборника задач для подготовки к Специалист-консультант ЗУП с картинками

Решение задач на 1С:Специалист Зарплата Управление персоналом (HRM) Зарплата Управление персоналом (HRM) v8 v8::СПР ЗУП3.x Россия БУ Бесплатно (free)

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

26.08.2019    19841    user1024932    20    

Удаленные сотрудники: учет и систематизация работы

Управление проектом Управление персоналом (HRM) Учет рабочего времени Управление персоналом (HRM) Учет рабочего времени УУ Бесплатно (free)

Многие компании на регулярной основе привлекают удаленных сотрудников, но результатами их работы большинство недовольны. Почему фрилансеры «кидают» заказчиков, как контролировать их работу, чтобы задачи выполнялись качественно и в срок, и как в целом настроить эффективные и взаимовыгодные отношения с удаленными работниками, рассказал участникам конференции ведущий программист 1С компании МоскоуСофт Сергей Сорокин.

14.08.2019    5151    primat    23    

Постановка на воинский учет организации

Бухгалтерский учет Управление персоналом (HRM) Управление персоналом (HRM) v8::СПР ЗУП3.x Россия БУ Бесплатно (free)

Привет! Я тут знаете, что поняла? Что за всю свою практику не встречала более или менее конкретных статей про постановку на воинский учет (далее – ВУ) в организациях. Все, конечно, не просто так: довелось организовывать полностью с нуля вот не далее, чем только что. В процессе вспомнились мои первые попытки что-то на этом поприще сделать, сотни общих статей и вот это вот все. В общем, подумала я и решила, что время пришло. Надо написать нормальную статью про ВУ в коммерческих организациях и рассказать тем, кто автоматизировался на 1С зачем вообще нужны эти отчеты. Отмечу, что не претендую на истину любой инстанции. Сегодня я просто хочу рассказать о том, что за зверь такой постановка на воинский учет, опираясь на мой собственный опыт.

06.08.2019    7655    VKuser24804875    3    

Функционал электронного интервью в 1С: ЗУП 3.1 КОРП

Управление персоналом (HRM) Пользователю системы Бухгалтерский учет Управление персоналом (HRM) v8 v8::СПР ЗУП3.x Россия УУ Бесплатно (free)

Рассмотрим полезный, но достаточно сложный HR-функционал в конфигурации 1С: ЗУП 3.1 КОРП.

15.04.2019    6882    Etozheegorov    3    

Неверный расчет СЗВ-СТАЖ. ЗУП 3.1

Адаптация типовых решений Зарплата Управление персоналом (HRM) Зарплата Управление персоналом (HRM) v8 v8::СПР ЗУП3.x БУ ФОМС, ПФ, ФСС Бесплатно (free)

При заполнении отчета СЗВ-СТАЖ на последних релизах ЗУП (ошибка не исправлена и в релизе 3.1.9.107) выявлены ошибки при расчете периодов, а также неверное выделение стажа ДЛОТПУСК.

01.03.2019    7916    dbachinsky    2    

Как сделать в ЗУП 2.5 зарплатную отчетность за 2018 год; полезности для ЗУП 3.1 и БП 3.0 (обзор)

Зарплата Управление персоналом (HRM) Бухгалтерский учет Зарплата Управление персоналом (HRM) v8 v8::БУ v8::СПР ЗУП2.5 БП3.0 ЗУП3.x БУ НДФЛ ФОМС, ПФ, ФСС Бесплатно (free)

Нашла на Инфостарте весьма полезные вещи для бухгалтеров, занимающихся зарплатной отчетностью. Если точнее, для тех, кто делает 2-НДФЛ в «Бухгалтерии 3.0», 6-НДФЛ – в «ЗУП 3.1», либо работает в «ЗУП 2.5» и должен подготовить 2-НДФЛ и СЗВ-СТАЖ за 2018 год.

27.02.2019    9410    udb2007    6    

Переход на "Зарплату и управление персоналом 3.1"

Интеграция Управление персоналом (HRM) Пользователю системы Бухгалтерский учет Управление персоналом (HRM) v8 v8::СПР ЗУП2.5 ЗУП3.x Россия БУ Бесплатно (free)

Сменила я тут работу и уже после того, как я приступила к исполнению обязанностей, мой новый начальник мне призналась, что выбор пал на меня только из-за того, что я знаю программу. Справедливости ради, эта уверенность была основана только на том, что я прошла тестирование, включающее только основные операции кадрового делопроизводства. Так или иначе, а работодатель попал в точку, нанимая меня в надежде, что я решу проблему: нужно перейти «с 8.2 на 8.3». Ничего сложного, скажет большинство, я тоже так говорю, но ситуация осложнялась некоторым количеством предшественников, которые уже «нафеячили» в программах до меня. Взять и сделать все заново мне не разрешили, так что пришлось исходить из того, что есть, и именно это дало пищу для размышлений и, в конце концов, привело к написанию этих рекомендаций. Если перед Вами стоит задача перехода с ЗУП 2.5 на ЗУП 3.1, я попробую облегчить Вам жизнь этой статьей.

01.02.2019    13863    VKuser24804875    33    

Памятка руководителя: не играйте с деньгами

Управление проектом Личная эффективность Управление персоналом (HRM) Бесплатно (free)

Важная статья о персонале из цикла «Памятка руководителя»: здесь я планирую затронуть один из наиболее острых вопросов – деньги. А также развернуто ответить на некоторые комментарий читателей по двум прошлым статьям.

05.12.2018    17475    andironenko    128    

Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке

Универсальные функции Зарплата Управление персоналом (HRM) Зарплата v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Бесплатно (free)

В статье размещен список стандартных процедур и функций с примерами, которые могут помочь при разработке (доработке) конфигураций Зарплата и управление персоналом ред. 3.1 и Зарплата и кадры государственного учреждения 3.1. Иногда бывает довольно сложно правильно получить данные или долго, поэтому лучшим вариантом будет использование стандартных процедур. Буду очень признателен, если Вы поделитесь своим опытом и предложите свои варианты стандартных процедур которые помогают в работе. Или предложите, как дополнить имеющиеся процедуры.

14.11.2018    111920    GeterX    128    

Кадровые данные сотрудников в ЗУП 3.1 в отчетах

Универсальные функции Управление персоналом (HRM) Управление персоналом (HRM) v8 v8::СПР ЗУП3.x Россия Бесплатно (free)

Параметры используемые для получения данных сотрудников в ЗУП 3.1. Пригодится для разработки отчетов как напоминалка.

07.11.2018    40888    fromlion    24    

Памятка руководителя: Уволь HRа и найди себе хороших сотрудников

Управление проектом Управление персоналом (HRM) Управление персоналом (HRM) Бесплатно (free)

Продолжаю цикл «Памятка руководителя». Эта статья будет на тему поиска новых сотрудников и одной грубой ошибки при проведении собеседования.

29.10.2018    12253    andironenko    36    

Работа с подразделом "Специальная оценка условий труда" раздела "Охрана труда" в программе "1С:Зарплата и управление персоналом Корп, редакция 3.1"

Пользователю системы Управление персоналом (HRM) Бухгалтерский учет Управление персоналом (HRM) v8 v8::СПР ЗУП3.x Россия БУ Бесплатно (free)

В процессе ввода в эксплуатацию блока "Охрана труда" столкнулась со скудным количеством информации по работе с данным разделом в сети Интернет, поэтому решила поделиться с сообществом своими наработками по данной теме. В публикации описана работа с подразделом "Специальная оценка условий труда" раздела "Охрана труда" в программе "1С:Зарплата и управление персоналом Корп, редакция 3.1".

16.10.2018    15008    opolyakova    1    

Система мотивации команд разработки и внедрения систем управления производством

Управление проектом Управление персоналом (HRM) Управление персоналом (HRM) Управление командой УУ Бесплатно (free)

Вопросы мотивации каждая компания решает по-своему. Руководитель проектов по автоматизации Артем Шамсутдинов рассказал о том, какую систему мотивации выбрали для себя в компании.

30.07.2018    6264    sm.artem    3    

Решение проблемы автоматического утверждения расчета кадровиком документов. Разграничение прав кадровиков и расчетчиков. ЗУП 3.1

Информационная безопасность Зарплата Управление персоналом (HRM) Зарплата Управление персоналом (HRM) v8 v8::СПР v8::Права ЗУП3.x БУ Бесплатно (free)

Статья посвящена тем, кто столкнулся с проблемой автоматической установки "Расчет утвердил". Также рассматривается решение проблемы с отображением ФОТ и оклада у кадровика. Добавление роли ЧтениеДанныхДляНачисленияЗарплатыРасширенная кадровику без последствий для расчетчика.

04.04.2018    25994    leaderonex    25    

Совместная работа БП 3.0 и ЗУП 3.1. Устранение ошибки синхронизации персональных данных физических лиц

Перенос данных из 1C8 в 1C8 Управление персоналом (HRM) Управление персоналом (HRM) v8 БП3.0 ЗУП3.x Бесплатно (free)

При совместной работе указанных конфигураций с использованием встроенного плана обмена «ОбменЗарплата3Бухгалтерия3» персональные данные физических лиц передаются некорректно. Это связано с ошибкой в правилах обмена (замшелой уже, с учётом того, сколько времени эта ошибка «кочует» из версии в версию правил).

31.03.2018    14903    ser73461014    12    

Тезисы о разработке систем мотивации

Управление проектом Личная эффективность Управление персоналом (HRM) Управление персоналом (HRM) УУ Бесплатно (free)

Несколько советов по разработке систем мотивации, основанных на моем скромном опыте.

15.08.2017    16088    1c-intelligence    33    

Почему системы мотивации это зло и как их избежать

Управление проектом Управление персоналом (HRM) Управление персоналом (HRM) УУ Бесплатно (free)

Автор статьи Александр Ивахненко всю жизнь работает в продажах. Поэтому на проблему мотивации он смотрит изнутри отделов, не так как те, кто ее внедряет. Почему системы мотивации сегодня перестали быть эффективными, почему они зло, и как его избежать?

28.06.2017    13874    user597112_malisia1980    19