МГ: сессия от 2010-09-06

Новая сессия ответов на вопросы базового курса по программированию.
Сегодня рассмотрен ряд интересных и методических вопросов.

Приводим содержание вопросов:

1. —В различных примерах работы с регистрами часто встречается методика использования промежуточной таблицы значений, соответствующей по структуре регистру. —Программно заполняется такая таблица и затем выгружается в набор записей регистра. Это реально оптимальней? —Просто мне кажется, что когда мы работаем с набором записей регистра в рамках проведения, то он представляет собой таблицу значений, хранящуюся в оперативной памяти и не имеет физической реализации, так что ни чего страшного что  непосредственно происходит добавление  по одной записи из допустим ста, даже если потом откажемся от записи. —Кроме того выгрузка таблицы значений из 100 записей потребует дополнительных ресурсов.  Или это не так?

2. —Есть заполненное дерево, примерно такой структуры

Готовая продукция

Полуфабрикат 1

Полуфабрикат 2

Материал 1 100 рублей

Материал 2  50 рублей

Полуфабрикат 3

Материал 3   17 рублей

Каждый элемент имеет свою цену. Необходимо посчитать стоимость Готовой продукции, то есть элемента верхнего уровня. Как наиболее рационально это сделать?

3. —Каким образом можно сформировать и реализовать передачу из 1С 8.2 гиперссылки по Outlook (методом «ПослатьСообщение»)
Гиперссылка должна содержать навигационную ссылку на элемент справочника. В результате нажатия на такую гиперссылку должен запуститься WEB или тонкий клиент 8.2 и открыть элемент.
Или такое сделать невозможно?

4. —В главе 1-24 “Применение оперативного проведения” указывается , что для платформы 8.2 если документ проводиться неоперативно , то контроль остатков не производиться. —То же самое  можно увидеть в Демонстрационной конфигурации “Управляемое приложение” от 1С В документе расход товаров остатки контролируются только при оперативном проведении. —И в книге  у Радченко контроль остатков также осуществляется  только при оперативном проведении —В то же время в требованиях к экзамену 1С Специалист есть описание ошибки – —Не реализована возможность корректного перепроведения документов задним числом – вес ошибки 1,0 балл —Отсюда вопрос в рамках экзамена все же потребуется контроль остатков при проведении задним числом? —Или описание ошибки в требования это наследство от платформы 8.1?

5. —Если при обработке документа НачислениеЗарплаты нужно предоставить возможность рассчитывать в форме, исправлять значения и записывать в регистры. —Я из серверной процедуры формы вызываю метод объекта ОбработкаПроведения. Затем, опять из процедуры формы вызываю метод расчета основных начислений. Возвращаюсь в форму. —И мне приходится считывать заново значения регистров. Вроде бы работает, но я не уверена, что делаю правильно. —Как нужно решить такую задачу ?

К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь. Если Вы оплачивали курс, у Вас активирован токен доступа, Вы залогинены, но Вы видите эту запись — напишите нам на e-mail поддержки.

комментариев 16 на “МГ: сессия от 2010-09-06”

  1. Александр Тарасов 08.09.2010 в 12:02

    В средствах SQL есть Анализатор запросов, который может рекомендовать внести изменения в индексы или статистику.
    Возможно ли без нарушения целостности в SQL на базе данных 1С проводить эксперименты типа создания своих статистик по таблице ? и не будет ли это нарушением лицензионного соглашения?

    • Для тюнинга индексов и поиска проблемных мест все же рекомендую использовать родные, а не сторонние средства.
      Речь идет о “1С:Центр управления производительностью”. Он и должен показать в какую сторону копать.
      Индексы нужно настраивать штатными средствами платформы, а не на стороне СУБД.

  2. Александр Тарасов 08.09.2010 в 10:15

    Евгений, у меня вопрос по управлению блокировками.
    В нашей базе 8.1 УПП (конф. 1.2.25 , платформа 8.1.15.14) расчет себестоимости по БУ идет 40 минут.

    Во время работать в УПП невозможно, видимо потому, что SQL при превышении 5000 блокировок блокирует таблицы целиком.

    После изучения продвинутого курса возможно будет настроить документ “Расчет себестоимости” с использованием управляемых блокировок, чтобы при этом могли работать другие пользователи?

    Или на больших объемах операций с БД это невозможно?

    • Разумеется, в продвинутом курсе будет глава, посвященная управляемым блокировкам.
      Но нужно понимать, что расчет себестоимости должен блокировать достаточно много объектов.
      Поэтому спокойная параллельная работа пользователей вряд ли возможна. Параллельность должна увеличиться. На сколько? Сложно сказать, нужно проверять..

      • Александр Тарасов 08.09.2010 в 12:05

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

        • Вот вам мысль на “подумать”: поднять РИБ, расчет себестоимости делать во втором узле, где никто не работает.
          Может быть это будет выходом в вашем случае.

          • Александр Тарасов 08.09.2010 в 15:14

            по поводу РИБ много минусов:

            1. Создание риб монопольно несколько дней.
            2. Время обмена будет не намного меньше проведения, и также будет блокировка. (например закрытие час, обмен полчаса)
            3. Чтобы скрыть свою некомпетентность у бухгалтерии появиться шанс говорить что они баланс (и т.д.) не сдали из-за IT.
            4. Контроль за целостностью данных в обоих базах ляжет на IT. (уйма времени будет уходить на понимание что и почему потеряли и в конце концов будет п.3)

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

        • Александр Горлов 08.09.2010 в 13:35

          Евгений предложил чудесный вариант решения.

          От себя могу только добавить, что есть такой инструмент, как 1С:ЦУП. С его помощью как раз можно было бы посмотреть, чему именно мешает расчет себестоимости и в каких местах кода/объектов.
          Возможно, в Вашем случае, пересечение РСВ и работы пользователей невелико и его можно как-то обойти…

        • Константин Павленко 08.09.2010 в 20:28

          У нас аналогичный режим 24*7. Проблему решаем организационно-административными мерами. Особых сложностей нет. Подходы следующие:
          1. РСВ делится на “тестовый” и “боевой”. Тестовый расчет делается на локальной копии, никому не мешает. Пока не будут выявлены и вычищены все ошибки (как на аттестации по УПП :) “боевой” расчет проводить бесполезно. Выявленные ошибки исправляются в рабочей базе.
          2. РСВ стараемся проводить в период наименьшей нагрузки. Например, в обеденный перерыв (сами кушаем в другое время). Если кто из бухов в это время работает, то по договоренности они не проводят документы. Могут формировать и записывать без проведения, перепроведут потом.
          3. Аналогично по другим пользователям. Постоянно за компьютером никто не сидит, есть периоды активной работы (приём-передача смены и остатков ТМЦ), а есть менее нагруженное время. Стараемся попадать в эти свободные окна.

          Конечно всё это требует налаживания взаимпонимания с пользователями. Мы понимаем, что у них есть свои проблемы – они понимают, что есть они и у нас. Обеспечить полноценный бесперебойный режим 24*7, как биллинг у сотовых операторов, с помощью 1С вряд-ли возможно – тут нужны другие решения. Но даже у сотовых операторов бывают пиковые нагрузки, когда биллинг не справляется.

  3. gavrik-prog 07.09.2010 в 07:51

    to (2)
    У дерева значений есть функция Итог().
    Она у меня неплохо справилась

    • gavrik-prog 07.09.2010 в 07:52

      задаем в качестве главной строки – первую и для нее вызываем функцию Итог() , в параметрах функции говорим , что суммируем и подчиненные элементы

    • Тоже вариант :)
      Только метод не у дерева значений, а у КоллекцияСтрокДереваЗначений.

  4. Евгений, Вы – как всегда, на высоте. Материал про ТЗ, в данный момент, очень актуален. Спасибо, что внесли ясность в столь мутный вопрос.