Доступно

Инструментарий для программиста 1с [infostart] [Евгения Карук]

Тема в разделе "Бухгалтерия и финансы", создана пользователем Александра2035, 31 июл 2018.

Цена: 1500р.-94%
Взнос: 80р.
100%

Основной список: 83 участников

Резервный список: 2 участников

Статус обсуждения:
Комментирование ограничено.
  1. 31 июл 2018
    #1
    Александра2035
    Александра2035 ОргОрганизатор

    Складчина: Инструментарий для программиста 1с [infostart] [Евгения Карук]

    1. Чистка базы. Ошибка "Записи регистра сведений стали неуникальными"
    При обновлении конфигурации периодически может возникать ошибка "Записи регистра сведений стали неуникальными" или "Имеются записи с одинаковыми измерениями". Что она означает и как ее исправить.
    При обновлении конфигурации периодически может возникать ошибка "Записи регистра сведений стали неуникальными" или "Имеются записи с одинаковыми измерениями"
    [​IMG]
    Эта ошибка означает, что при обновлении изменился состав измерений регистра сведений.
    Одним из базовых принципов работы регистра сведений является требование, что каждому набору значений измерений регистра сведений соответсвует один и только один набор значений реквизитов.
    Допустим, в нашей конфигурации есть регистр ответственных лиц по складам в разрезе складов и помещений.
    В очередном релизе разработчик решает, что такая детализация ответственности избыточна и оставляет только возможность указания ответственного по складу.
    [​IMG]
    Однако у пользователя в этом регисте указано, что для "Главного склада" за помещение "Продукты" отвечает Иванов, а за помещение "Холодильники" - Петров.
    При обновлении информационной базы платформа должна оставить только одну запись с ответственным. Но она не может решить за пользователя, кого поставить ответственным за "Главный склад" вцелом (Иванова или Петрова).
    Поэтому выдается сообщение об ошибке.
    В зависимости от конкретной ситуации, сообщение может звучать как "Записи регистра сведений стали неуникальными" либо "Имеются записи с одинаковыми измерениями".
    Смысл сообщения одинаков.
    Это сообщение означает, что в новой структуре регистров образовалось несколько записей с одним набором измерений и их нужно свернуть в одну.

    [​IMG]
    Для решения проблемы удаляем одну из записей, чтобы 1С однозначно знала, что за "Главный склад" отвечает Иванов. В типовых конфигурациях в большинстве случаев эта проблема решается разработчиком программно. Т.е. обновление конфигурации само при необходимости сворачивает записи регистра.
    Однако в некоторых случаях (например, если выполняется обновление с пропуском части релизов, или конфигурация доработана) данные могут не свернуться и их нужно свернуть самостоятельно.
    Для того, чтобы определить, что именно изменилось, выполняем режим "Конфигурация" - "Сравнить конфигурации". И сравниваем основную конфигурацию с конфигурацией базы данных. При таком сравнении мы однозначно можем определить, какие именно поля удалены или изменились.
    [​IMG]
    После этого консолью запросов находим неуникальные записи и удаляем их.
    Если записей немного, то удалить дубли можно и вручную.
    Если много, то проще это сделать программно.
    Предлагаю простую обработку, решающую данную задачу.
    [​IMG]

    Инструкция по свертке неуникальных записей:
    1. Открыть обработку.
    2. Выбрать регистр сведений, в котором появились неуникальные записи.
    3. Отметить измерения которые будут удалены при обновлении.
    4. Нажать "Свернуть дубли".

    Обработка найдет дублирующиеся строки и свернет их в одну строку.
    После этого обновление конфигурации пройдет корректно.

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

    [​IMG]
    Скрытая ссылка
    1


    2. [Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении
    Расширение позволяет без изменений конфигурации проверять остатки по регистру бухгалтерии при проведении каждого документа и запрещает проведение при появлении отрицательных остатков после проведения.
    Не требует изменения либо снятия с поддержки конфигурации.
    Что в файлах:
    КонтрольОтрицательныхОстатков_УниверсальныйШаблон.cfe - универсальный шаблон. Подключен только документ "Авансовый отчет", соответственно проверку остатков по счетам можно включить только для него. Подойдет для любой конфигурации, в которой есть документ "Авансовый отчет" и регистр бухгалтерии "Хозрасчетный". Любые другие документы можно подключить в конфигураторе самостоятельно аналогично авансовому отчету.

    КонтрольОтрицательныхОстатков_БП3.0.41.cfe - готовый файл для БП 3.0. Никаких донастроек в конфигураторе не требуется. Сразу после подключения из режима Предприятия расширение работает со всеми документами, для которых разрешено проведение по регистру бухгалтерии. Проверялось на версии БП 3.0.41. Теоретически должно работать и для последующих версий, а также на базовой и ПРОФ.
    Скрытая ссылка
    2
    3. Консоль кода для УФ
    Простая консоль кода для УФ.
    Предназначена для выполнения серверного кода 1С в режиме предприятия.
    Умеет выполнять введенный код, выводить сообщения. Сохраняет историю выполненных команд. Можно задать параметры, которые будут использоваться выполняемым кодом (удобно для работы со ссылками).
    Очень простая консоль кода. Удобна для быстрой проверки кода при отладке.

    Обработка с тремя закладками

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

    2. Выводимые сообщения - сюда можно из кода вывести сообщения командой Вывести("Текст"). Такой вывод удобно использовать вместо стандартной команды Сообщить("Текст") для возможности последующего копирования текста сообщений.

    3. Параметры - тут можно описать параметры, которые будут использоваться в коде. Удобно использовать для ввода ссылок и последующей работе с ними в исполняемом коде.
    Скрытая ссылка
    1
    4. Администрирование - Распределенная БД
    Универсальная выгрузка/загрузка данных для отличающихся конфигураций (JSON, Такси+ОФ)
    Простой перенос через JSON данных между двумя базами 1С (документов, справочников, ПВХ, ПВР, счетов). Аналогична произвольной выгрузке в типовой "Выгрузка/загрузка XML", но может использоваться для отличающихся конфигураций. Подходит для любых пар баз с любым интерфейсом (управляемый + обычный). Без настроек. Не требует идентичности конфигураций и платформ. При переносе типы данных сопоставляются по наименованиям метаданных, объекты и ссылки по UID.
    Универсальная выгрузка любых объектов 1С в текстовый файл и загрузка в любую другую базу 1С. Либо просто перенос через буфер обмена.

    Переносит данные между любыми ИБ на любых конфигурациях, интерфейсах и платформах 8.2, 8.3 (в том числе в режиме совместимости с 8.1). Не требует никаких настроек.

    На скриншотах пример переноса документов и справочников из ERP Такси 8.3 в БП1.6 ОФ 8.2.

    При переносе данных поля, которые совпадают, заполняются, поля, которые не совпадают, игнорируются. Табличные части очищаются и переносятся заново. Существующие объекты обновляются. Новые записываются с УИДом базы-источника.

    Синхронизация ссылок по УИД. Обработка ничего не проверяет, просто переносит объекты в режиме обмена данными. Движения не переносит.

    Порядок работы:

    Порядок работы аналогичен типовой обработке "Выгрузка/загрузка XML"

    1. Запускаем обработку в исходной базе.
    2. Добавляем в ТЧ объекты, которые хотим перенести. Либо поштучно, либо запросом. Для формирования запроса можно использовать конструктор запросов.
    3. Нажимаем "Объекты -> JSON". Текст отображается в правом поле.
    4. Нажимаем "Сохранить в файл" или копируем сформированный текст в буфер обмена - Ctrl+С
    5. Открываем вторую базу.
    6. Нажимаем "Загрузить из файла" или вставляем текст из буфера Ctrl + V
    7. Нажимаем кнопку "JSON -> Объекты"
    8. Проверяем результат

    Перенос в отличающиеся объекты метаданных (например документы поступления в документы реализации) стандартно не предусмотрен. Но можно нажать Ctrl+H и заменить имена объектов в тексте перед загрузкой.
    Аналогично можно заменить перед загрузкой имена полей, если в справочниках двух баз отличаются имена реквизитов.

    p.s. Также можно использовать для корректировки невидимых на форме реквизитов. Выгружаем объект в текст, правим нужные реквизиты, загружаем обратно.

    Рекоммендуемый режим работы УФ Такси. Также есть дополнительная обычная форма.

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

    upd. Добавлена версия 1.2.1. Доработан управляемый интерфейс аналогично типовой обработке "Выгрузка/загрузка XML". Упрощен выбор объектов для переноса, добавлена возможность добавления объектов запросом для массовой выгрузки. С 8.3.5.1068 доступен конструктор запроса.

    Проверялась на: БП3.0, БП1.6, УПП 1.3, ERP 2.0, УТ11.1, УТ10.3, Розница 2.1 - теоретически должна корректно переносить данные между любыми конфигурациями 8.2-8.3 (в том числе в режиме совместимости с 8.1).
    Если на какой-то не работает, пишите в комментариях.
    Скрытая ссылка
    2


    5. Инстументарий. Дерево объектной модели схемы запроса (декомпиляция текста запроса).
    Удобный просмотр схемы запроса.
    Формирование команд программной модификации запроса.
    Обработка предназначена для удобного ориентирования в схеме запроса и формирования команд модификации запроса. Отображает объекты и коллекции, используемые в объектной модели. Полезна и для реальной работы и просто для понимания объектной модели схемы запроса.
    Порядок работы с обработкой:
    1. Берем исходный текст запроса (копируем из конфигурации или пользуемся конструктором запроса)
    2. Генерируем дерево запроса.
    3. Находим в дереве нужные нам элементы и определяем пути к ним.
    4. Двойным кликом по элементам дерева переносим нужные свойства в окно комманд.
    5. Редактируем команды модификации запроса.
    6. Выполняем команды, проверям, что получилось в результате.
    7. Проверенный набор команд переносим в конфигурацию.
    Скрытая ссылка
    2
    6. Удобная отладка внешних печатных форм
    При стандартном запуске внешних печатных форм очень сложно отследить, почему форма работает некорректно или выдает ошибки. Отлаживать ее через отдельную обработку гораздо удобнее.
    Обработка может подключаться как внешняя через справочник внешних печатных форм.

    В этом случае в документе при печати появляется новая форма.

    Либо просто вызываться через меню "Файл" - "Открыть"

    Порядок работы:

    1. Открываем обработку.

    2. Указываем документ и файл внешней печатной формы.

    3. Нажимаем "Сформировать" и проверяем результат.

    Если нас что-то не устраивает в печатной форме, то, не закрывая обработку, в конфигураторе правим печатную форму и нажимаем "Сформировать" повторно.

    При необходимости ставим точки останова в нашей печатной форме. При формировании формы система в них остановится.

    Обработка запоминает настройки последней печати и при повторном вызове подставляет их по умолчанию.
    Скрытая ссылка
    1
    7. Инструментарий. Матрица использования документов, справочников, регистров в подписках, командах и планах обмена (СКД)
    Отчет позволяет определить, какие документы, справочники, регистры и константы используются в каких подписках, общих командах и планах обмена.
    Например, мы добавляем новый план обмена и несколько связанных с ним подписок для регистрации изменений в этом плане обмена. В этом случае необходимо проконтролировать, что все объекты, учавствующие в плане обмена, включены в необходимые подписки. Для проверки отмечаем нужный нам план обмена и новые подписки, а так же отмечаем все документы и справочники и сверяем, что их состав совпадает.

    Либо нам просто необходимо определить, какие подписки влияют на наш конкретный документ или несколько документов.

    Порядок работы:

    1. Запускаем отчет.

    2. Выбираем перечень документов, справочников, регистров, констант, использование которых необходимо проверять. Можем отметить галочкой как конкретные объекты, так и вцелом указать "<Все документы>"

    3. Выбираем перечень подписок, общих команд и планов обмена, которые необходимо проверить.

    4. Формируем отчет.

    Стандартный СКД-шный отчет. Несколько предопределенных вариантов отчета с разной группировкой и расположением полей. Работает на любых платформах (начиная с 8.2) и на любых конфигурациях в управляемом интерфейсе.

    Можно на свое усмотрение изменять в режиме пользователя формат вывода, фильтры, отборы, условное оформление.
    Скрытая ссылка
    1




     
  2. Последние события

    1. skladchik.com
      Складчина доступна.
      16 дек 2020
    2. skladchik.com
      Krusty Krab хранитель.
      16 дек 2020
    3. skladchik.com
      Складчина закрыта.
      26 май 2019
    4. skladchik.com
      Складчина доступна.
      21 май 2019

    Последние важные события

    1. skladchik.com
      Складчина доступна.
      16 дек 2020
    2. skladchik.com
      Krusty Krab хранитель.
      16 дек 2020
    3. skladchik.com
      Складчина закрыта.
      26 май 2019
    4. skladchik.com
      Складчина доступна.
      21 май 2019
Статус обсуждения:
Комментирование ограничено.