Курилка 1С Специалист

Тема в разделе "Курилка", создана пользователем Shining ninja, 4 ноя 2011.

  1. TopicStarter Overlay
    Shining ninja
    Offline

    Shining ninja Опытный в 1С

    Регистрация:
    20 фев 2011
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Добрый вечер, дорогие друзья.
    После того, как я стал франчем и заимел сертификат Профессионала по 8. Захотелось перейти по карьерный лестницы со Стажера сразу на Специалиста, преодолеть лесенку - просто Программист.
    Но для 3-й ступень надо сдать, обязательно специалиста по платформе 8. Теперь задался этой целью :D .
    Сижу решаю задачки...Но вопросы у меня не о задачках, а специфики сдачи:
    1. Вот меня мучает вопрос - оптимальность/не оптимальность, вот скажем я решил задачку согласно варианту, все верно работает, то тут могут предрекаться, если:
    1.1. У меня два запроса, надо ведь все делать в одном, какой бы он сложный не был.
    1.2. Использовать виртуальные таблицы регистров.
    1.3. Если разрыв запроса, то лучше делать так: "+Параметр+" или использовать СтрЗаменить?
    Вот, что в голову сразу пришло, дополните пожалуйста своим и поясните, как экзаменатор будет смотреть - оптимальность/не оптимальность.
    2. Экзаменаторы сильно докапываются и как вообще проходит в этом плане сдача. Просто читал, что бывают заваливают.
    3. На что стоит обратить особое внимание?

    Просвистите меня, кто уже владеет сертификатом (или кто пытался получить). :angry:

    Заметил, что многие задачи подобные, скажем одну разобрал - остальные 3-4 уже просто делаются.
  2. TopicStarter Overlay
    Shining ninja
    Offline

    Shining ninja Опытный в 1С

    Регистрация:
    20 фев 2011
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Ребята, тут еще подумал и по первому пункту возникли уточнения:
    1.4 Надо использовать условия к регистрам, не отдельно, а как параметры регистра, то есть РН(момент времени, условие).
    1.5 Запрос должен быть один (это я писал), но он должен быть максимально компактный или это не имеет значения. Просто можно написать запрос через 7 подзапросов и все там будет ясно и понятно или можно через 4 подзапроса, но разобраться в этом будет очень сложно и нечитаемо?
    В книжке по 1С Специалист, в конце идет разбор задачи. Вот они её разбивают на 7 подзапросов...
  3. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    Я готовилась по книжке, разобрала пример и стала все остальные задачи так же решать - через 7 подзапросов )) Ничо, с первого раза сдала :)
    Лучше всего придерживаться тех рекомендаций, которые на сайте 1С написаны (хоть 1С-ники в своих типовых конфах сами от них зачастую отходят:) ) - там есть таблица часто встречающихся ошибок и штрафные баллы за них.
    Так вот, там выполнение запроса в цикле и использование условий вместо параметров виртуальных таблиц - одни из самых страшных грехов :)
  4. TopicStarter Overlay
    Shining ninja
    Offline

    Shining ninja Опытный в 1С

    Регистрация:
    20 фев 2011
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Запрос в цикле - это сильно конечно)))

    Еще лучше избегать использование таблиц значений и т.д.

    Примерно решение такое должно быть:
    Все проверки (по возможности) - Сложный, большой запрос - минимальная его обработка
  5. TopicStarter Overlay
    Shining ninja
    Offline

    Shining ninja Опытный в 1С

    Регистрация:
    20 фев 2011
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Возникли тут еще 2 вопроса:
    1. Можно ли в оперативном учете в запросах общаться к регистрам сведения или это будет ошибкой считаться?
    2. Движения.ОстаткиНоменклатуры.Записать() - стоит ли указывать в приходных накладных ? Понятно, что в расходных это нужно для очищения старых записей у уже проведенного документа...
  6. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    1. Смотря что у вас там хранится. Если учетная политика - то почему бы и нет? А если вы там остатки товаров будете как-то хранить ( :angry: ), то это ошибка.
    2. Зависит от свойства документа "Удалять движения при проведении"
  7. TopicStarter Overlay
    Shining ninja
    Offline

    Shining ninja Опытный в 1С

    Регистрация:
    20 фев 2011
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    В РС там хранятся приоритеты складов, тогда думаю все нормально, если их использовать. :angry:

    2. Вот тут немного запутался - я поставил "Удалять движения автоматически при отмене проведения", думаю так нужно, в таком случае, как поступить с Движения.ОстаткиНоменклатуры.Записать() в приходной накладной? :D В расходной установил...

    Мне интересно, а на экзамене люди и правда делают те ошибки, которые написаны в методички, просто некоторые ошибки очень смешные и не сразу верится, что их допускают...Ведь идут на Специалиста, так скажем пытаются встать на первую ступеньку лестницы, которая ведет в Элиту 1С. :aua:
  8. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    это ещё почему? я часто результат запроса выкладываю в таблицу значений и с ней работаю. чем вам таблицы значений не угодили?
  9. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Не уверен, но, видимо, предполагается, что если можно использовать выборку из результата запроса, то лучше использовать её, нежели выгружать результат запроса в таблицу значений. Выборка, вроде, быстрее работает.
    Т.е. тут вопрос производительности :))) Так, наверное.
  10. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    Выборка, в случае использования клиент-серверной (тьфу ты, трехуровневой) работает однозначно быстрее т.к. в случае выгрузки в т.з. нужно:
    1) Перегнать данные с сервера на клиент
    2) Преобразовать данные во внутренний, универсальный, формат.
    Ну или в обратном порядке (перекодировать + перегнать), но не суть.
  11. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    на официальных курсах спрашивал есть ли принципиальная разница между выборкой и таблицей значений при обходе результата запроса. препод ответил - нет.

    имхо - выбока более сложна синтаксически, хотя и предполагает иерархический обход. и в шаблоне запроса по умолчанию выборка ставится.. но если у меня линейный обход, то нафига мне выборка?

    с клиент-сервером мало работал.. может оно и так.. надо проверить отладчиком как-нибудь..
  12. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    vartanet Работаю на 8.1, на 8.1 именно так.
    Заметить разницу можно только на очень больших массивах.

    Делаю выборку запроса с результатом в ~20 столбцов (чисел, строк, дат и ссылок) и ~8 000 000 строк:

    При попытке работы с выборкой запроса (обход и расчет) - работает и у меня и у пользователя.
    Тот же самый запрос, только выборку пытаюсь перекинуть в ТЗ (выгрузить) - у меня работает, у пользователя нет.
    При расширении выборки до ~15 000 000 строк попытка выгрузить результат в ТЗ заканчивается фейлом и у меня.
  13. TopicStarter Overlay
    Shining ninja
    Offline

    Shining ninja Опытный в 1С

    Регистрация:
    20 фев 2011
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Читаем методичку по 1С и там написано, что:
    Выгрузка результата запроса в промежуточную таблицу (например, в таблицу значений) без необходимости - это ошибка. Думаю для обхода...будет считаться ошибкой и лучше так не делать, потом доказывать замучатся можно, а 1 балл очень жалко терять, поэтому лучше их не использовать. :angry:

    Подскажите, вот с этим..я чет не совсем понимаю:
    я поставил "Удалять движения автоматически при отмене проведения", думаю так нужно, в таком случае, как поступить с Движения.ОстаткиНоменклатуры.Записать() в приходной накладной? В расходной установил... :D
  14. TopicStarter Overlay
    Shining ninja
    Offline

    Shining ninja Опытный в 1С

    Регистрация:
    20 фев 2011
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Кажется разобрался, выставляем:
    Удалять движения автоматически, и тогда не надо писать это - Движения.ОстаткиНоменклатуры.Записать()...как я понимаю,реализуется новая методика проведения.
    Оцените мой вариант...

Поделиться этой страницей