Архив за месяц: Февраль 2020

1с 8.3 при выводе строки управляемые формы

Куда же подевалось событие «ПриВыводеСтроки» в управляемых формах, и как с этим быть? Убрали его по всей видимости потому, что это был основной источник загруженности сервера. Особенно программисты не очень высокой квалификации любят напихивать в это событие кучу запросов и циклов, которые «бомбят» сервер, при перерисовке каждой строчки, видимой на экране. Так как в управляемых формах клиентское приложение может вообще выполняться на веб-браузере, да ещё с плохим интернетом, такая тактика может привести к тому, что пользователь целый день будет сидеть, тупо уставившись в зависшую 1С.

Поэтому, решив не особо заморачиваться с запретами в коде события, 1С решили вывести основные моменты, связанные с оформлением строк в реквизиты формы, вернее свойства. Это очень похоже на условное оформление в СКД.

Вы нажимаете на шапку формы, заходите в её свойства, и ищете в разделе «Оформление» ссылку «Условное оформление».

Открывается такой же инструментарий, как в СКД для условного оформления

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

Заметьте, в отличии от программной установки параметров в событии «ПриВыводеСтроки», где нужно было делать два варианта оформления — если условие выполнилось, и если условие не выполнилось — чтобы вернуть оформление на место. Здесь этого делать не нужно. Если условие не выполняется, то оформление применяется «по умолчанию», то есть которое вы видите, когда в конфигураторе создаете форму.

Вот какие параметры можно оформлять

Для подавляющего большинства случаев список вполне впечатляет.

Далее пишем условие, нажав на три точки в колонке «Условие»

Вы можете добавлять как группу условий, так и отдельные элементы. Условия между группами всегда «И», так же и между элементами, которые не находятся внутри групп всегда «И»

По сути мы написали условие :
Реквизит1 = 1 И Реквизит2 = 2 ИЛИ (НомерСтроки = 1 ИЛИ НомерСтроки = 3 ИЛИ НомерСтроки=6)

То есть внутри группы условие между отдельными элементами зависит от самой группы.

  1. Если это группа ИЛИ, условия будут ИЛИ внутри группы.
  2. Если это группа НЕ, значит конструкция такая: НЕ (условия внутри группы). Условия внутри группы будут идти через «И», поэтому, если хотите через «ИЛИ», в группу НЕ нужно добавить группу ИЛИ сразу.
  3. Группа И соответственно применяет условия «И» для выражения между элементами внутри себя.

Мои страдания и разбор «КАК ЭТО РАБОТАЕТ» можете более подробно рассмотреть в этом ролике:

1С 8.3 как открыть форму внешней обработки программно

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

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

Нам понадобится три функции.

Функция в модуле, которая определяет, это внешняя обработки, или нет. И функция на клиенте, которая в зависимости от результата открывает форму. Третья — функция на сервере, которая вызовет функцию из модуля. Боле элегантного решения пока что не увидел. Поэтому фиксирую сие «изобретение» для себя и для вас, дорогие читатели.

Выглядит это так. Сначала сделаем функцию в модуле:

Теперь пишем в модуле формы две функции. Первая «&НаКлиенте» — это событие от кнопки, вторая «&НаСервере» — вспомогательная, чтобы вызвать функцию из модуля.

УТП Украины | Розничная торговля в НТТ с нуля

Мы научимся на основе типовой конфигурации «Управление торговым предприятием Украины 1.2» вести учет на предприятии розничной торговли с не-автоматизированными торговыми точками. К примеру, прилавки на рынке, киоски, ларьки без кассовых аппаратов. Данная статья посвящена количественному учету продаж. Для суммового учета будет отдельная статья. Чтобы более наглядно донести информацию, я решил сделать видеоролик.

Кстати, для функционирования УТП Украины последнего обновления на начало 2020 года необходима версия 1С платформы не ниже 8.3.13…!

1С Предприятие 8.3 Как проверить наличие реквизита документа или табличной части программно

В типовых конфигурациях это делается просто:

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

Если реквизит отсутствует, тогда будет возвращено значение неопределено, как будет в случае с реквизитом «БабаЯга» в регистре цен.

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

В случае удачного нахождения реквизита с указанным именем возвращается искомый объект метаданных, иначе, как уже упоминалось — НЕОПРЕДЕЛЕНО,

Учет тары УТП Украины 1С Предприятие 8

Я заметил, что на торговых предприятиях учет тары бывает предметом внимания даже больше, чем товар. Но почему-то данная тема незаслуженно забыта в учебных материалах. Тем не менее с ней нужно разобраться раз и навсегда. Для более удобного восприятия материала записал видеоурок.