МГ: сессия от 2010-08-25. Updated!

Новые вопросы – новые ответы.

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

Если не активировали токен — посмотрите видео-инструкцию (видео N5)

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

комментария 34 на “МГ: сессия от 2010-08-25. Updated!”

  1. Сергей Коцюра 27.08.2010 в 17:09

    п.3 Оповещение другого сеанса о некотором событии
    – частное мнение: предложенное решение – достаточно “бяковое” (в принципе, Учитель сам об этом упоминает). Спрашивается, если у меня ВАЖНОЕ событие может произойти раз в сутки и другой сеанс/пользователь должен получить уведомление “незамедлительно” – зачем “дергать” каждые 10(5,2,1…) секунд. Я что, для того, чтобы узнать пришло или нет письмо – должен каждые полчаса бегать к почтовому ящику? Нет!я сижу, никому не мешаю и РАЗДАЕТСЯ стук в дверь – пришел почтальон и принес! причем воворемя!!! не три часа назад пришел почтальон без письма а именно тогда когда пришел (смог прийти). – вот это имхо правильное решение. Таким образом, надо где-то взвести “семафор”, а уже взведенный семафор ГЕНЕРИРУЕТ ВНЕШНЕЕ СОБЫТИЕ на тех сеансах, которые настроены на ОЖИДАНИЕ этого события (а не на постоянную ПРОВЕРКУ “а не случилось ли событие). Понятно, что такой семаофр не всегда можно взвести – но там где это возможно – имзо гораздо “красивее” и логичнее тупой периодической ОбработкиОжидания… как-то так… на 7.7 так и делал пару раз… все зависит от условий и “затрат”.. где-то вполне подойдет описаннное в МГ решение, а где-то придется искать другое.

    • Сергей Коцюра 27.08.2010 в 17:12

      и вообще, непонтно, почему нет такой возможности “штатно” типа
      .
      ВзвестиСемафорВбазе(ИмяСемафора,ДанныеСемафора) – взводим флажок события
      .
      ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
      Если Источник=”тутИмяСемафора”
      Тогда
      //тут работаем с данными семафора…
      .

      как-то так..
      ;-)

      • Это вопрос в хотлайн (hotline@1c.ru)…
        Или к разработчикам платформы…
        Ok?

    • Это был вопрос?

      • Сергей Коцюра 29.08.2010 в 04:48

        вопрос такой: есть ли какие-либо другие методы оповещения другого сеанса, кроме как через объекты базы+обработкуожидания? в частности, интересно, как из одного сеанса заставить в другом сеансе сработать “ОбработкуВнешнегоСобытия” – по всей видимости также как и в 7-ке..? – кинуть сигнальный файлик в папку, например, а другой сеанс “настроен” на срабатывание внешнегособытия при появлении в папке файлика… и прочие программные ухищрения.. или может в 8-ке есть что-нибудь то, чего не было в 7-ке для решения вопроса связи между сеансами?

        • Другого штатного варианта нет.
          Что касается нештатных. Можно написать ВК, которая будет “слушать” некоторый tpc/ip port. Далее генерить внешнее событие, а платформа будет его ловить.

  2. Блин все сделал как Вы, тока до группировки не допёр =((…а так хотелось решить задачу самостоятельно

    • А у меня такие запросы не получаются, надеюсь, пока :(
      Сказывается “тяжелое наследствие” обычного программирования c ТЗ и обходами, а не в стиле SQL, когда можно всё сделать сразу в одном запросе.

  3. еще примечание по поводу конвертации на 8.2: обработка групповой конвертации имеет только обычную форму, управляемая форма отсутствует. Поэтому, если ее запускать в режиме упр. приложения, то форма будет пустой, и ничего нельзя будет сделать. Запускать нужно в режиме обычного приложения.

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

  4. Спасибо за ответы. Примечания по поводу конвертации на 8.2. У меня не получалось из-за того, что в конфигурации стоял режим совместимости с 8.1. По-видимому в этом случае обработка групповой конвертации работает не корректно (Почему, непонятно!). Но дело в том, что у нас сильно измененная УПП, и мы после перехода на 8.2 достаточно продолжительное время собираемся работать в режиме совместимости с 8.1. Понятно, что обработки, находящиеся на диске можно отконвертировать, запустив эту обработку из демоверсии 1с 8.2, а как быть со внешними обработками и печатными формами, которые находятся внутри нашей базы? Можно ли сделать так: на время снять режим совместимости с 8.1, отконвертировать внешние обработки и печатные формы, а потом опять поставить его. Не опасно ли это, не съедут ли какие-нибудь важные настройки?

    • Это интересное явление, сейчас проведу эксперименты на своей базе.
      Предложенный вариант должен работать, настройки “съехать” не должны. Но, разумеется, прежде чем делать на боевой базе нужно потренироваться на копии.

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

      • в обработке “КонвертацияВнешнихОбработок82” запускается процедура глобального контекста “ЗапуститьСистему” (в справке есть описание), которая запускает конфигуратор с параметром /ConvertFiles. Причем, пароль не указывается. Я срубил пароль у админа в своей измененной базе УПП и обработка заработала! Конвертация внешних печатных форм тоже сработала.
        Но в некоторых случаях обработка зависает
        (В случае зависания нужно обязательно срубать лишний процесс 1с): это может быть из-за того, что в какой-либо обработке нет доступа не ее перезапись (или ее открыл в данный момент какой-нибудь пользователь, или у нее стоит атрибут “Только чтение”). Поэтому такие рекомендации: 1) сначала временно срубить пароль у администратора 2) скопировать обработки 81 в отдельное место из рабочего каталога 3) Снять у них атрибут “Только чтение” (через снятие этого атрубата у головного каталога). После этого конвертация работает достаточно быстро даже на больших объемах.

        • Отличное исследование, Станислав.
          Спасибо!

  5. Не дает скачивать от заключения и ниже:(((

    • Попробуйте пароль от домашних заданий августа.

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

    • Может быть добавить в регистр сведений ПлановыеНачисления Тип графика в качестве реквизита?

      • Этот вариант мне не нравится, сейчас рассмотрю детально описанную проблему.

    • Верное замечание!

    • Добавил связь с графиками. К сожалению, запрос еще усложнился и теперь он не кажется таким элегантным.
      Посмотреть на итоговую версию можно повторно скачав выгрузку.
      Основная идея в том, что к каждому запросу по начислением пристыковываем таблицу Работники, откуда и выбираем график..

      • progr-2008 26.08.2010 в 22:30

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

        • progr-2008 26.08.2010 в 22:36

          А вариант с минимумом группировки дат той же таблицы для определения концов интервалов – ну очень понравился!

        • Речь идет о запросе для заполнения документа?
          Там появилась связь с РС РаботникиОрганизаций, откуда и берется связь с графиком..

          • progr-2008 27.08.2010 в 09:11

            Да, я об этом.
            РегистрСведений.РаботникиОрганизаций в документе Начисление зарплаты в Процедура ЗаполнитьНачисления() – не обнаруживаю даже поиском, нахожу только в Процедура ЗаполнитьУдержания().
            База с этой страницы – новая, значит.

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

              • progr-2008 27.08.2010 в 09:50

                Да, спасибо, похоже на кэш.
                Теперь все есть.

                • progr-2008 27.08.2010 в 10:14

                  Только кэш провайдера. Новая база скачалась мобильным модемом в том же браузере.

                • Да, бывает.

  7. Михайлов Сергей 26.08.2010 в 13:11

    Сделал так же.. Только не использовал СрезПоследних на начало, а в соединении физ таблиц выбирал даты меньше даты конца месяца. Т.е. Ваш запрос оптимальне.

  8. А где же ссылка на “Решение задачки про Иванова” ?