1с ожидается оператор препроцессора удалить
Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.
Реализовано в версии 8.3.15.1489.
Мы выполнили ряд доработок, которые упрощают поддержку и подключение расширений в простых и частых сценариях использования.
Упрощение поддержки небольших изменений в методах
При создании расширений бывают случаи, когда вам нужно полностью заменить какой-то метод основной конфигурации собственным методом. Для этого вы можете использовать аннотацию &Вместо. В таком случае, как бы ни изменялась типовая конфигурация, будет работать только ваш метод. Другими словами вы полностью берёте ответственность за работу расширяемого метода на себя.
Но часто возникают ситуации, когда вы не хотите полностью менять поведение метода конфигурации, а хотите лишь немного подкорректировать его. Так, чтобы основное «содержание» метода менялось бы вместе с изменениями конфигурации, и в то же время в нём сохранялись ваши небольшие изменения.
Специально для таких небольших доработок мы сделали компромиссное решение – новую аннотацию &ИзменениеИКонтроль. Она позволяет вам добавить собственные изменения в метод, сохраняя, при этом, его исходный текст.
В результате, если в Конфигураторе при проверке применимости обнаружится, что исходный текст метода (в расширении) не совпадает с новым текстом метода в конфигурации, будут выполнены следующие действия:
- такой метод не применится и попадёт в список ошибок применения расширения,
- Конфигуратор поймёт, что эта ошибка относится к особенностям работы аннотации &ИзменениеИКонтроль,
- в колонке Действие Конфигуратор предложит вам Восстановить соответствие с методом конфигурации,
- с помощью объединения по трём точкам платформа изменит в расширении исходный текст так, чтобы он соответствовал новому тексту модуля (для этого вы должны заранее настроить в Конфигураторе использование внешней программы для сравнения модулей).
В такой ситуации вы можете заимствовать этот метод в расширение, и использовать при этом аннотацию &ИзменениеИКонтроль.
Таким образом, заимствованный модуль будет содержать сразу два «варианта» текста:
Как и в случае использования аннотации &Вместо, метод с аннотацией &ИзменениеИКонтроль полностью заменяет собой расширяемый метод конфигурации. С одним расширяемым методом конфигурации может быть связан только один метод, имеющий аннотацию &ИзменениеИКонтроль. Если есть другие методы с этой аннотацией, расширяющие исходный метод, они будут признаны ошибочными и будут показаны в списке ошибок применения расширения.
Несмотря на всё удобство аннотации &ИзменениеИКонтроль, мы всё равно рекомендуем подходить к её использованию очень взвешенно. Основным сценарием для расширения типовых конфигураций являются аннотации &Перед и &После. Аннотацию &ИзменениеИКонтроль вы можете использовать тогда, когда &Перед и &После не позволяют достичь желаемого результата.
Облегчение поддержки расширений в случае переименования объектов конфигурации
Если в расширении есть заимствованные из конфигурации объекты, то каждый раз, при проверке применимости, платформа контролирует, что в конфигурации всё ещё есть объекты, соответствующие заимствованным. При этом сопоставление объектов происходит по именам.
Если в конфигурации, после создания расширения, переименовали какой-либо из расширяемых объектов, расширение применено не будет. Чтобы оно снова начало применяться, необходимо соответствующий заимствованный объект аналогичным образом переименовать в расширении.
Это понятное ограничение, но технически следовать ему не очень удобно. Такое переименование в расширении приходится выполнять вручную. К тому же не всегда бывает ясно, какое исходное имя было у переименованного объекта.
Чтобы облегчить вам эту работу, мы сделали следующие доработки:
- Для свойств заимствованных объектов мы добавили новый тип действия – Предупреждать о расхождении при подключении расширения. Он отображается как обычный флажок. Кроме этого для заимствованных объектов мы добавили новое контролируемое свойство Объект расширяемой конфигурации. Оно недоступно для редактирования, заполняется автоматически при заимствовании и содержит внутренний идентификатор расширяемого объекта.
- Для самого расширения мы добавили новое свойство Поддерживать соответствие объектам расширяемой конфигурации по внутренним идентификаторам. По умолчанию оно имеет значение Истина.
В результате, если вы не меняли стандартное значение нового свойства расширения, то в Конфигураторе, при переименовании объекта расширяемой конфигурации, во всех открытых расширениях будут соответствующим образом переименованы заимствованные объекты расширения.
Если же конфигурация и расширение разрабатываются отдельно, то в Конфигураторе, при добавлении расширения, в списке ошибок проверки применимости у вас появятся новые действия, основанные на том, что в расширении теперь сохраняются идентификаторы расширяемых объектов:
- Переименовать, сохранив соответствие,
- Выбрать соответствие,
- Сохранить имя, изменив соответствие,
- Установить значение из объекта конфигурации,
- Очистить соответствие,
- Отключить проверку,
- Удалить объект.
Облегчение подключения «универсальных» расширений
«Универсальными» мы, условно, называем такие расширения, которые приносят в конфигурацию свою функциональность, и, как правило, не содержат заимствованных объектов. Например, это может быть расширение, добавляющее в конфигурацию какие-то обработки или отчёты.
Пользователи конфигурации, у которых есть роли, автоматически дающие права на новые объекты, смогут воспользоваться этими обработками и отчётами. Но дать права на них другим пользователям бывает сложно.
Хорошо, если разработчик расширения предусмотрел собственную роль (роли), включающую объекты расширения. Тогда администратор может назначить эту роль нужным пользователям. Однако заранее неизвестно, как такая роль может называться, да и само создание такой роли для разработчика расширения является чисто «механической» задачей.
Если же в расширении нет собственных ролей, то воспользоваться им смогут только те пользователи конфигурации, у которых есть роли, автоматически дающие права на новые объекты. Другим пользователям администратор не сможет предоставить доступ, не модифицировав расширение.
Чтобы упросить создание и подключение «универсальных» расширений, мы внесли в механизм некоторые доработки, которые позволяют работать по следующему сценарию:
- На предприятии некоторым ответственным пользователям дается дополнительное право администрирования расширений конфигурации. Благодаря этому они могут самостоятельно (без участия администратора) подключать новые расширения.
- Эти пользователи, например, скачивают из Интернета расширение, подключающее новую печатную форму.
- С помощью стандартной функции Управление расширениями конфигурации они добавляют это расширение в информационную базу.
Доработки, которые мы сделали в механизме, заключаются в следующем.
Во-первых, теперь при создании расширения в нем автоматически создаётся роль, имя которой формируется по шаблону _ОсновнаяРоль. Эта роль устанавливает права для новых собственных объектов.
Эта роль сразу же добавляется в свойство Основные роли расширения (возможность модифицировать основные роли мы добавили в версии 8.3.14).
Таким образом, мы избавляем вас от необходимости «механически» создавать роли, дающие полный доступ к объектам расширения. Кроме этого такая, автоматически созданная роль, имеет понятное для всех имя, формируемое по фиксированному шаблону.
Во-вторых, расширению конфигурации мы добавили новое свойство ИспользоватьОсновныеРолиДляВсехПользователей, которое стандартно установлено в значение Истина. Это значит, что по умолчанию при добавлении такого расширения все пользователи конфигурации будут обладать правами из основных ролей добавляемого расширения.
В третьих, в стандартную функцию Управление расширениями конфигурации мы добавили возможность управления основными ролями.
С её помощью пользователь, которому «доверено» администрирование расширений, может отобрать роли расширения у тех пользователей, которым оно не нужно. При этом автоматически будет сброшено свойство расширения ИспользоватьОсновныеРолиДляВсехПользователей.
При необходимости и «ответственный» пользователь, и разработчик могут отдельно изменять значение этого свойства расширения. Пользователю оно доступно в списке расширений в стандартной функции Управление расширениями конфигурации, а разработчику оно доступно в списке расширений в Конфигураторе.
Таким образом, если вы не хотите использовать новое стандартное поведение (чтобы при добавлении вашего расширения все пользователи сразу же получали доступ к его функциям), устанавливайте свойство расширения ИспользоватьОсновныеРолиДляВсехПользователей в значение Ложь. Тогда роли расширения, как и раньше, администратор должен будет добавить пользователям в явном виде.
Также мы изменили отображение ролей расширения в Конфигураторе. Теперь они отображаются под своими именами, и у вас есть возможность управлять ими.
По поводу использования основных ролей расширения хочется дать некоторые рекомендации.
Во-первых, среди основных ролей расширения могут быть только собственные роли, и эти роли не могут давать права на заимствованные объекты.
Во-вторых, если ваше расширение небольшое и не предполагает разного ролевого доступа к разным его частям, то вы просто создаёте расширение, и не задумываетесь о ролях. Основная роль, создаваемая автоматически, даст доступ ко всей функциональности вашего расширения.
И, наконец, если в расширении нужен разный ролевой доступ к разным его частям, то в основную роль расширения добавляйте ту роль, которая понадобится большинству пользователей. А роль, которая даёт права на остальную функциональность, администратор добавит пользователям самостоятельно. Например, ваше расширение позволяет формировать и отправлять отчёты. Формировать могут все, а отправлять – только некоторые пользователи. Тогда роль, позволяющую формировать отчеты, вам нужно включить в основные роли расширения.
Мы надеемся, что новые возможности упростят вам создание и использование расширений конфигурации.
В официальном блоге программистов 1С опубликована новость о развитии механизма расширений конфигурации. Его проработали в следующей версии платформы «1С:Предприятие».
vvp117; CratosX; mivari; YanTsys; maksa2005; the1; denmax; sstas007; catv; CyberCerber; Kochergov; + 11 – Ответить
Ах да, конечно, такие фишки хочется чтобы поддерживались не только в расширениях - но и в основном тексте коннфигураций, и использовались при сравнении/обновлении конфигураций ;-)
Да, и хочется, чтобы удаляемый/заменяемый текст как-то выделялся в другом стиле - чтобы было видно, что он не активен (в идеале - это как в актуальной Visual Studio - неактивный блок алгоритма выводится в той же цветовой палитре, но бледнее).
Увы, внедрить фигурные скобки в 1С: Предприятие 8 уже нельзя - это серьёзен изменение семантики языка. Хотя - вообще-то, автоматически сконвертировать код из одной семантики в другую - не такая уж и проблема - но на это навряд ли пойдут (всё равно будет много проблем с совместимостью, в т.ч. привычки программистов - хотя переучивание - это дело пары недель, максимум месяцев). А вот в новом поколении 1С Предприятие 9 такое нововведение я считаю было бы закономерным и очень правильным - это позволило бы сделать язык более легко усваиваемым и похожим на современные языки императивного программирования, что упростило бы "вход" в него программистам с других языков. Но это всё было бы логичным в купе с целым ворохом других улучшений языка, которые бы качественно выдвинули бы язык 1С на новый и современный уровень программирования!
(8)Прошу прощение за пару опечаток:
foreAll -> ForAll
Цикл . КонецЦикла -> Пока . Цикл . КонецЦикла ; и другие циклы, например: Для каждого . из . Цикл . КонецЦикла
Цикл . < . >-> Пока . Цикл . < . >; и другие циклы например: Для каждого . из . Цикл .
Как видно, при применении фигурных скобок я не избавился от предшествующего им оператора "Цикл" (или для условного оператора - это "Тогда"), что, не свойственно современным языкам. Скорее всего я тут не прав и от него тоже стоит избавиться - пример: "ЕСЛИ (. ) < . >" - но тогда приведённые круглые скобки могут оказаться обязательными, как и для циклов: "ДЛЯ КАЖДОГО (. ИЗ . ) < . >" - это только на первый взгляд кажется грубовато, на самом деле - в современных языках применяется именно такой подход и выглядит это не так уж плохо, а главное - позволяет делать очень мощьные вещи - например в языке Kotlin можно ввести свою функцию, которая, последним аргументом может принимать анонимную функцию и использовать её вот так "MyFunction(FirstArguemnt) < некий программный код, который будет преобразован в анонимную функцию и передан в MyFunction как второй аргумент>" - это позволяет красиво вводить как-бы свои программные инструкции - похожие на встроенные операторы языка. Комбинация таких инструкций позволяет создавать очень мощный и лаконичный программный код! И повышать уровень его абстракции. Ну а если такая техника не нужна, наверное, можно было бы и не требовать обязательного использования круглых скобок для встроенных операторов. Думаю и так синтаксический анализатор бы разобрался - что первое выражение относится к параметрам оператора - а следующее (которое может начинаться с программной скобки "<") - это его тело.
Конечно, всего вашего комментария в 1с не видели, но традицию склонять окончания всё же оставили)
Пока это не так актуально - ибо типовые конфигурации ещё не добрались до поддержки релиза 8.3.15 - а без этого и применение этих инструкций в расширениях - мало где можно будет использовать :-(
Пока это не так актуально - ибо типовые конфигурации ещё не добрались до поддержки релиза 8.3.15 - а без этого и применение этих инструкций в расширениях - мало где можно будет использовать :-(
А разве нужен режим совместимости 8.3.15 (если я правильно поняла, что поддержка релиза 8.3.15 - это режим совместимости)? Фактически, сейчас с любым режимом совместимости, если запускаешь базу на 8.3.15, этот функционал уже есть и работает.
У меня база с режимом совместимости 8.3.10, а &ИзменениеИКонтроль в расширении добавить можно.
maksa2005; divSvid; cheburashka; CratosX; mivari; FreeArcher; the1; nazirovramzil; Brawler; sstas007; CyberCerber; wowik; user774630; KroVladS; NSerget; + 15 – Ответить
В официальном блоге программистов 1С опубликована новость о развитии механизма расширений конфигурации. Его проработали в следующей версии платформы «1С:Предприятие».
Что нового у разработчиков:
упрощение поддержки небольших изменений в методах,
облегчение поддержки расширений в случае переименования объектов конфигурации,
облегчение подключения «универсальных» расширений.
Необходимость замены метода
Часто возникают ситуации, когда не обязательно полностью менять поведение метода конфигурации, а нужно лишь немного подкорректировать его. Так, чтобы основное «содержание» метода менялось вместе с изменениями конфигурации, и в то же время в нем сохранялись ваши небольшие изменения.
Специально для таких небольших доработок сделано компромиссное решение – новая аннотация &ИзменениеИКонтроль. Она позволяет добавить собственные изменения в метод, сохраняя, при этом, его исходный текст.
В случае переименования объектов
Если в конфигурации после создания расширения переименовали какой-либо из расширяемых объектов, расширение применено не будет. Чтобы оно снова начало применяться, необходимо соответствующий заимствованный объект аналогичным образом переименовать в расширении.
Это понятное ограничение, но неудобное. Такое переименование в расширении приходится выполнять вручную. Чтобы облегчить эту работу, произведены доработки. Например, для свойств заимствованных объектов добавлен новый тип действия – Предупреждать о расхождении при подключении расширения. Он отображается как обычный флажок. Кроме этого для заимствованных объектов добавили новое контролируемое свойство Объект расширяемой конфигурации.
Облегчение подключения «универсальных» расширений
Хорошо, если разработчик расширения предусмотрел собственную роль, включающую объекты расширения. Тогда администратор может назначить ее нужным пользователям. Однако заранее неизвестно, как такая роль может называться, да и само ее создание для разработчика расширения является чисто «механической» задачей.
Если же в расширении нет собственных ролей, то воспользоваться им смогут только те пользователи конфигурации, у которых есть роли, автоматически дающие права на новые объекты. Другим пользователям администратор не сможет предоставить доступ, не модифицировав расширение.
Чтобы упростить создание и подключение «универсальных» расширений, внесены в механизм некоторые доработки. Они заключаются, например, в том, что теперь при создании расширения в нем автоматически создается роль, имя которой формируется по шаблону _ОсновнаяРоль. Эта роль устанавливает права для новых собственных объектов.
Эта роль сразу же добавляется в свойство Основные роли расширения (возможность модифицировать основные роли мы добавили в версии 8.3.14).
Подробнее о всех доработках в Заметках из Зазеркалья.
vvp117; CratosX; mivari; YanTsys; maksa2005; the1; denmax; sstas007; catv; CyberCerber; Kochergov; + 11 – Ответить
Ах да, конечно, такие фишки хочется чтобы поддерживались не только в расширениях - но и в основном тексте коннфигураций, и использовались при сравнении/обновлении конфигураций ;-)
Да, и хочется, чтобы удаляемый/заменяемый текст как-то выделялся в другом стиле - чтобы было видно, что он не активен (в идеале - это как в актуальной Visual Studio - неактивный блок алгоритма выводится в той же цветовой палитре, но бледнее).
Увы, внедрить фигурные скобки в 1С: Предприятие 8 уже нельзя - это серьёзен изменение семантики языка. Хотя - вообще-то, автоматически сконвертировать код из одной семантики в другую - не такая уж и проблема - но на это навряд ли пойдут (всё равно будет много проблем с совместимостью, в т.ч. привычки программистов - хотя переучивание - это дело пары недель, максимум месяцев). А вот в новом поколении 1С Предприятие 9 такое нововведение я считаю было бы закономерным и очень правильным - это позволило бы сделать язык более легко усваиваемым и похожим на современные языки императивного программирования, что упростило бы "вход" в него программистам с других языков. Но это всё было бы логичным в купе с целым ворохом других улучшений языка, которые бы качественно выдвинули бы язык 1С на новый и современный уровень программирования!
(8)Прошу прощение за пару опечаток:
foreAll -> ForAll
Цикл . КонецЦикла -> Пока . Цикл . КонецЦикла ; и другие циклы, например: Для каждого . из . Цикл . КонецЦикла
Цикл . < . >-> Пока . Цикл . < . >; и другие циклы например: Для каждого . из . Цикл .
Как видно, при применении фигурных скобок я не избавился от предшествующего им оператора "Цикл" (или для условного оператора - это "Тогда"), что, не свойственно современным языкам. Скорее всего я тут не прав и от него тоже стоит избавиться - пример: "ЕСЛИ (. ) < . >" - но тогда приведённые круглые скобки могут оказаться обязательными, как и для циклов: "ДЛЯ КАЖДОГО (. ИЗ . ) < . >" - это только на первый взгляд кажется грубовато, на самом деле - в современных языках применяется именно такой подход и выглядит это не так уж плохо, а главное - позволяет делать очень мощьные вещи - например в языке Kotlin можно ввести свою функцию, которая, последним аргументом может принимать анонимную функцию и использовать её вот так "MyFunction(FirstArguemnt) < некий программный код, который будет преобразован в анонимную функцию и передан в MyFunction как второй аргумент>" - это позволяет красиво вводить как-бы свои программные инструкции - похожие на встроенные операторы языка. Комбинация таких инструкций позволяет создавать очень мощный и лаконичный программный код! И повышать уровень его абстракции. Ну а если такая техника не нужна, наверное, можно было бы и не требовать обязательного использования круглых скобок для встроенных операторов. Думаю и так синтаксический анализатор бы разобрался - что первое выражение относится к параметрам оператора - а следующее (которое может начинаться с программной скобки "<") - это его тело.
Конечно, всего вашего комментария в 1с не видели, но традицию склонять окончания всё же оставили)
Пока это не так актуально - ибо типовые конфигурации ещё не добрались до поддержки релиза 8.3.15 - а без этого и применение этих инструкций в расширениях - мало где можно будет использовать :-(
Пока это не так актуально - ибо типовые конфигурации ещё не добрались до поддержки релиза 8.3.15 - а без этого и применение этих инструкций в расширениях - мало где можно будет использовать :-(
А разве нужен режим совместимости 8.3.15 (если я правильно поняла, что поддержка релиза 8.3.15 - это режим совместимости)? Фактически, сейчас с любым режимом совместимости, если запускаешь базу на 8.3.15, этот функционал уже есть и работает.
У меня база с режимом совместимости 8.3.10, а &ИзменениеИКонтроль в расширении добавить можно.
maksa2005; divSvid; cheburashka; CratosX; mivari; FreeArcher; the1; nazirovramzil; Brawler; sstas007; CyberCerber; wowik; user774630; KroVladS; NSerget; + 15 – Ответить
Обработка сделана на базе типовой на УФ. Разница в том, что здесь можно сделать отбор по организации.
Специальные предложения
выгружаю с отбором по организации, в файл на сервер, все выгружено. При загрузке из файла на сервере, выдает ошибку: Нарушение прав доступа! зашла од пользователем с правами Админ и гл бух. Что я делаю не так?
Пипец убил 4 часа своей жизни из за этой обработки. При выгрузке из БП 3.0 ПРоф и загрузке в БП 3.0 базовая задваивался план счетов.
делаю загрузку и выходи ошибка Нарушение прав доступа! Делаю под пользователей с правами Администратор системы, Администрирование и Полные права. Так и не получилось загрузить данные(
Проверил в Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.49.21) под платформой 8.3.9.2170. Все работает
Скачали обработку, не открывается, платформа 8.3.9.2170. При попытке открыть под УФ, выдается, что обработка предназначена для запуска на версии платформы 1С Предприятия 8.3 с отключенным режимом совместимости или выше"
В модуле формы выдаются ошибки:
: Переменная не определена (ЭтотОбъект)
ЗаполнитьЗначенияСвойств(>ЭтотОбъект, Параметр); (Проверка: Толстый клиент (обычное приложение))
: Переменная не определена (ЭтотОбъект)
ОткрытьФорму(ИмяФормыКонсолиЗапросов(),ПараметрыКонсолиЗапросов(),>ЭтотОбъект); (Проверка: Толстый клиент (обычное приложение))
: Переменная не определена (ЭтотОбъект)
ОписаниеОповещения = Новый ОписаниеОповещения("ЗагрузитьДанныеЗавершение", >ЭтотОбъект); (Проверка: Толстый клиент (обычное приложение))
Помогите разобраться, как запустить обработку?
(12)попробуйте запустить в режиме управляемого приложения. В конфигураторе Сервис - Параметры - Запуск 1С:Предприятие
Добрый день, хотелось бы узнать а будит ли данная обработка работать при выгрузки из "Управление торговлей 11.4"
(24) Добрый день, да, нормально БП 2.0 работает на платформе 8.3. Пришлось поставить эту платформу, так как приходится работать с разными базами. А обмен нужен между идентичными БП 2.0.
Блин, делаю обмен (нужно просто справочники перекинуть) между БП 3.0 сельхозпредприятия справочник Номенклатура в БП 3.0 Проф, вылетает в такую ошибку. КУда копать?
(27) А Вы в курсе, что базы должны быть идентичными? Могу Вам предложить только вариант написания правил обмена и с помощью обработки Универсальный обмен данными XML перенести справочник
Подскажите, пожалуйста, Ваша обработка переносит контактные данные и юридический(почтовый) адрес контрагентов?
В свое время пользовалась типовой обработкой в БП 2.0 и столкнулись с проблемой- не перенеслась контактная информация.
(31) С контактной информацией насколько мне известно, не так все гладко, как хотелось бы. И дело тут в самой КИ.
Если у Вас возникнут трудности с ее переносом, у меня есть опыт ее переноса, могу помочь.
Добрый день.
Банковские выписки выгружаются для всех организаций даже при выборе определенной.
Так и должно быть?
(32) Добрый день.
Давайте начнем на конфигурации, платформы, тонкий/толстый клиент, файловый/к-с вариант базы?
(33)
1С:Предприятие 8.3 (8.3.13.1513)
Бухгалтерия предприятия, редакция 3.0 (3.0.67.54)
Тонкий клиент
Файловый вариант базы
(37)Здравствуйте. Попробуйте пройтись типовой обработкой поиск и удаление дублей. У пользователя, удаляющего дубли должно быть право удаления предопределенных значений.
Проблема возникает, как следствие того, что в объектах 1С предопределенные элементы теперь как бы отвязаны от конфигуратора и могут быть удалены(на самом деле там чуть сложнее, но на пальцах так). Если не получится, напишите в личку, подумаем, что еще можно сделать
Конфигурации идентичны БП проф 3.0.73.54 Платформа 8.3.15.1700
При загрузке программа ругается:
"Неверный формат файла выгрузки"
Что делаю не так?
Изначально была задача выгрузить из проф в базовую конфигурацию, там была такая же ошибка, как раз грешили что конфа разная.
Но сделали выгрузку БП про -> БП про и ошибка повторилась.
Просмотры 55876
Загрузки 483
Рейтинг 15
Создание 25.05.14 13:01
Обновление 25.05.14 13:01
№ Публикации 283807
Кому Для всех
Конфигурация Конфигурации 1cv8
Операционная система Windows
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)
Код открыт Не указано
См. также
Загрузка данных из файла выгрузки в формате XML, выгруженного по правилам обмена. С возможностью выбора документов Промо
Обработка для загрузки из файла выгрузки с возможностью выбора документов для загрузки.
2 стартмани
24.05.2021 2884 18 unknown181538 4
Загрузка выписок из АЦК в формате XLT файлов для БГУ 2.0
Обработка позволяет загружать из выписки лицевого счета в формате XLT (АЦК) в 1С: Бухгалтерию государственного учреждения 2.0 документы Кассовое поступление/выбытие.
1 стартмани
11.02.2022 2905 8 kirill1c 0
Пульт управления телевизором LG Smart TV
Пульт LG телевизором smart TV (2014 года). Цель - управлять телевизором из 1С. Может быть полезна тем, кто потерял и не может найти пульт ДУ, кто смотрит телевизор и сидит за ноутбуком одновременно, для изучения обмена xml с внешними устройствами, в данном случае телевизором.
1 стартмани
Защита объектов от изменения обменом
Расширение позволяет пользователю заблокировать объект 1С (документ, справочник) от изменения последующими загрузками данных или обменами.
3 стартмани
05.01.2022 6106 22 sapervodichka 43
Выгрузка зарплаты из ЗУП 3 в БП 3 по принципу обмена ЗУП 2.5 в БП 3 Промо
Выгрузка отражения зарплаты из ЗУП 3 в Бухгалтерию 3 без настройки типового обмена! т.е. по принципу, как было в ЗУП 2.5.
10 стартмани
13.05.2020 5710 53 boobzx 26
Создание стартовой базы
Часто требуется создать «Новую базу» почти пустую, но совпадающую с «Исходной базой» по необходимым обязательным настройкам: константам, регистрам сведений, справочникам, видам субконто и планами счетов и т.п., при этом уникальные идентификаторы объектов должны совпадать.
1 стартмани
11.10.2021 8031 13 sapervodichka 48
Настройка обмена с любой устаревшей конфигурацией на базе 8.2 через обработку "Универсальный обмен данными в формате XML" и "Конвертацию данных 2.0"
Разберем кейс, как настроить простенький обмен с любой устаревшей конфигурацией на базе 8.2 через обработку "Универсальный обмен данными в формате XML" и Конвертацию данных 2.0 с возможностью настройки гибких отборов по периоду, организации и списку документов.
1 стартмани
23.11.2020 16833 12 orfos 14
Улучшенная обработка универсального обмена данными в формате XML (УФ)
Улучшенная обработка "Универсальный обмен данными" с полноценными возможностями СКД для выборки данных (не только для отборов).
1 стартмани
23.06.2020 16065 170 Lem0n 1
Перенос объектов 1С Промо
Простой и наглядный перенос объектов между любыми базами 1С 8 с предварительным анализом на возможные различия в данных (через файл, через интернет, через буфер обмена, через Com). Интерактивная настройка правил обмена на стороне источника и получателя. В обработке есть удобный обзор по подсистемам, поиск и обработка данных по заданному фильтру. Сравнение объектов, поиск ссылок, регистрация в плане обмена. Конструктор кода по созданию объектов, написание скриптов и отладка мини-функций в УФ. Отключение/включение регламентных заданий. Отчеты по наполнению базы и разные проверки. Всевозможные инструменты администратора или программиста в одной обработке.
1 стартмани
16.03.2015 110085 2241 moolex 281
Универсальный обмен данными между похожими конфигурациями, версия 2020.3.1
Обработка «Универсальная выгрузка и загрузка» предназначена для оперативного переноса объектов между двумя идентичными или похожими конфигурациями. Быстрая, надежная и очень простая в использовании обработка.
1 стартмани
29.01.2020 28573 451 vladnet 58
Односторонний файловый обмен с сайтом по ftp (1C 2 Web)
Подходит под любую конфигурацию на управляемом интерфейсе на базе БСП 2.4.4 и выше. Позволяет гибко настроить выгрузку, практически любых, данных по расписанию на сервер ftp вашего ресурса. Ведение лога процесса выгрузки также предусмотрено.
3 стартмани
09.12.2019 15625 19 LamerSoft 0
Документы и Справочники в JSON
Пример выгрузки всех данных Документа или Справочника в JSON
1 стартмани
20.06.2019 27459 33 Teut_Vlad 22
Мастер XML-обмена Промо
Функциональный аналог конвертации данных в кармане - комплекс обработок предназначенный для быстрой и удобной разработки обмена данными между информационными базами 1С.
5 стартмани
02.09.2015 38529 11 Lancelot-2M 18
Универсальный обмен данными XML (с гибкими отборами и сохранением вариантов настроек)
В технологической платформе «1С:Предприятие» версии 8.3 реализовали возможность выполнять фоновые задания в файловой базе в едином сеансе.
В клиент-серверном варианте, выполнение регламентных операций можно отключить через консоль администрирования кластера 1С, а для файловой базы, необходимо воспользоваться ключом запуска
Очень полезно, когда необходимо выполнять монопольные операции с базой данных в файловом режиме работы.
Рассмотрим задачу, когда нужно выгрузить базу данных, но периодически запускаются фоновые задания и не дают запустить процесс выгрузки.
Если база серверная, то можно использовать утилиту администрирования серверов 1С Предприятия. Раскрыть ветку Информационные базы, выбрать нужную базу и правой кнопкой мыши открыть ее Свойства (может выйти окно с запросом Пользователь/Пароль – это данные для входа в базу с правами администрирования), откроется окно Параметры информационной базы, нужно установить галочку у свойства Блокировка регламентных заданий включена и ОК (рис. 1). После выгрузки базы нужно вернуться в Свойства и снять установленную галочку.
Рис. 1. Свойства ИБ
Для остановки выполнения фоновых заданий также можно использовать Консоль заданий или встроенную обработку Регламентные и фоновые задания (рис. 2):
Рис. 2. Регламентное задание
Для остановки выполнения регламентного задания нужно снять галочку Включено. Если выполняется фоновое задание, то на вкладке Фоновые задания можно выделить задание и нажать на кнопку Отменить.
После выгрузки базы нужно вернуться и восстановить выполнение регламентных заданий, которые были отключены (установить галочку Включено).
Наверное, каждому программисту 1С 8.3 рано или поздно приходилось настраивать выполнение определенных заданий по расписанию. Ниже я дам подробное описание данных механизмов, надеюсь, это будет полезной информацией для начинающих программистов 1С. Это очень удобно, ведь не требует действий от человека, регламентное задание настраивается 1 раз и работает по Вашему расписанию.
Как настраиваются регламентные и фоновые задания в 1С 8?
Развернутую инструкцию на примере загрузки курсов валют Вы найдете далее.
Что такое регламентные и фоновые задания в 1С
- Регламентные задания — это специальный механизм 1С предприятия 8.3, предназначенный для выполнения определенного действия по заданному расписанию.
- Фоновое задание — объекты, порождаемые регламентным заданием, которые непосредственно выполняет заложенное действие без участия пользователя или программиста 1С 8.2.
Механизм регламентных и фоновых заданий работает в клиент-серверном режиме работы (SQL), благодаря функционалу СУБД . Если у вас файловая БД, то задание тоже можно настроить, но немного по другому принципу.
Настройка фоновых заданий в клиент-серверном режиме работы 1С
Для начала создадим новый объект метаданных — регламентное задание. Я назову свое задание «ЗагрузкаКурсовВалют». Рассмотрим палитру свойств данного объекта конфигурации:
Получите 267 видеоуроков по 1С бесплатно:
- Бесплатный видео самоучитель по 1С Бухгалтерии 8.3 и 8.2;
- Самоучитель по новой версии 1С ЗУП 3.0;
- Хороший курс по 1С Управление торговлей 11.
- Имя метода — путь к процедуре, которая будет выполняться в фоновом задании по заданному расписанию. Процедура должна находиться в общем модуле. Рекомендуется не использовать типовые общие модули, а создать свой. Не забудьте, что фоновые задания исполняются на сервере!
- Использование — признак использования регламентного задания.
- Предопределенное — указывает, является ли регламентное задание предопределенным. Если хотите чтобы регламентное задание заработало сразу после помещения в БД, укажите этот признак. В противном случае вам необходимо будет использовать обработку «Консоль заданий» или вызывать запуск задания программно.
- Количество повторов при аварийном завершении задания — сколько раз выполнен перезапуск фонового задания, если оно было выполнено с ошибкой.
- Интервал повтора при аварийном завершении задания — с какой периодичностью будет выполнен перезапуск фонового задания, если оно было выполнено с ошибкой.
И самая интересная настройка — Расписание:
Тут настраивается интервал запуска процедуры, указанного в поле «Имя метода». Допустим я настроил
Внимание! Не забудьте отключить блокировку выполнения регламентных и фоновых заданий на уровне СУБД!
Сделать это можно в утилите администрирования клиент-серверного варианта либо при создания новой БД:
Для управления фоновыми заданиями рекомендую использовать обработку с диска ИТС — «Консоль заданий«.
Настройка регламентных заданий в файловом режиме работы 1С
В файловом режиме настройка таких заданий несколько труднее. Для такого задания должна быть запущена отдельная сессия программы 1С. Зачастую это решается заведением «технического» пользователя, чей сеанс всегда запущен.
В файловом режиме инициализация регламентного задания происходит при запуске метода «ВыполнитьОбработкуЗаданий()».
Для определенного пользователя можно настроить запуск этого метод, используя другой метод —
- Имя процедуры — имя процедуры, подключаемой в качестве обработчика ожидания. Имя экспортируемой процедуры модуля управляемого приложения (модуля обычного приложения) или глобального общего модуля. Процедура должна располагаться на клиенте .
- Интервал — период между выполнениями операций в секундах.
- Однократно — как выполнять задание, один раз или нет.
Двухминутное видео, в котором показано, как настроить регламентное задание в конфигураторе 1С:
Другие статьи по 1С:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
Читайте также:
- Как установить кнопку пинтерест в браузере яндекс
- Как откатить visual studio 2019
- Для создания исходного файла программы внешние редакторы нельзя использовать
- 1с текущему соединению с информационной базой не назначен сеанс
- Какая системная программа служит для управления всеми разделяемыми ресурсами компьютера