Всем привет. Получил тестовое задание от работодателя, нашёл его на hh. Сделал, проверил, всё вроде как правильно. Отправил, пришла оценка - 3 из 10 с комментарием "Не понятный код, много параметров, массив и др.". Что не так? Нужно было просто комментарии ещё оставить?
А задание было такое: сделать внешнюю печатную форму реализации товаров и услуг с шапкой: организация, партнёр, телефон. В таблице: номер, наименование товаров, количество, сумма, вес и объём. В итогах вывести: сумма, вес и объём.
(1)
Насчет непонятного кода - очень странно =) т.е. для представителя работодателя это непонятный код - интересно кто это проверял с их стороны?)
Много параметров. Тут можно посоветовать посмотреть эту статью У вас каждый параметр заполняется кодом.
1с советует параметры заполнять из результата запроса, чтобы не прописывать заполнение каждого параметра
т.е. вместо
Для Каждого СтрСостава Из Состав Цикл
//заполнение параметров области из строки табличной части
Область.Параметры.Заполнить(СтрСостава);
//вывод сформированной области в табличный документ
ТабДок.Вывести(Область);
КонецЦикла;
Это касается заполнения параметров области из ТЧ документа
Шапку области можно заполнять аналогично
Почему так рекомендуется? Нет ошибок при заполнении параметров, типа не существует такой то параметр или такого то значения
Это просто совет
По поводу работодателя. Не подошел один - найдется другой.
Есть такое железное правило - чем меньше тестовых заданий, тем лучше работодатель и условия работы у него
(1) Многие отписали уже за параметры и оформление. Добавлю свои 5 копеек:
1. Модуль объекта должен обрамляться инструкцией препроцессора (см БСП, там есть примеры внешних печатных форм)
2. Не используется БСП: для получения сведений о внешней обработке следует использовать механизм БСП (аналогично: см кофигурацию БСП)
3. Не совсем понятно, что у вас выйдет на печать, если вы выберете несколько документов из списка.
4. Переменные обозваны непонятно как и непонятно что они означают (на скрине я не понял, зачем переменная Есть и что она делает)
5. Код оформлен неряшливо.
Код не отделен пустыми строками, сложно читается. Не понимаю, зачем в запросе такое количество условий, можно было просто отобрать по РеализацияТоваровУслугТовары.Ссылка = Ссылка, и один параметр запроса, Ссылка.
1. На мой взгляд, в саой печатной таблицу с товарами стоило бы отделить одной строкой от шапки. Остальные моменты - уже как решит заказчик.
2. В коде, который видно, стоит вставить пустую строку между функциями, да и логические блоки кода так же стоит разделить пустыми строками.
3. А что будет, если МассивСФ будет пустой? По приведенному коду - ОбъектМ будет Неопределено и код упадёт на моменте получения реквизитов из этого объекта.
4. Кстати, реквизиты из объектов лучше получать через ОбщегоНазначения.ЗначенияРеквизитовОбъекта, а не обращаться через точку. Но здесь они вообще не нужны, поиск нужно делать напрямую по ссылке на реализацию.
(6) А можете дать подробнее комментарий по 4 пункту (реквизиты из объектов лучше получать через ОбщегоНазначения.ЗначенияРеквизитовОбъекта)? Почему так лучше? Можно даже дать почитать где. Спасибо