8.х Структурирование базы данных и доработка типовых конфигураций(методы,инструменты,алгоритмы)

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем TerANik, 28 май 2015.

  1. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Привет всем. В виду возникших дебатов в одной из последних тем , по поводу как дорабатывать типовую конфигурацию (дебаты были в контексте одного из пунктов), решил создать данную тему, где мы думаю поделимся с друг другом опытом наших методов разработок учетных систем, для более комфортной поддержки и обслуживания оной. В связи с тем , что являюсь ТС данной темы , то и первый начну делиться своим опытом. Начну с того что имею в данный момент. У меня крутится одна единая база, которая включает в себя 4 типовых (с минимальными изменениями) конфигурации (УПП,УАТ,PDM,ТОиР) + в конфигурацию добавлено своих кучу объектов(регистор, справочников, документов). Всё конфигурации обновляются с минимальной затратой времени.
    1) Как таковое не всегда хватает типовых реквизитов объектов в Учетной системе(далее УС). Соответственно при добавление того или иного объекта в конфигурацию беру за правило добавление префикса к названию объект: РегистрСведений.доб_СтатусСотрудника. Это облегчит дальнейшее видение тех внесенных изменений в УС, которых нет в типовой и исключит пересечение с объектами в конфигурации, которые по истечению времени могут появиться.
    2) Второй момент, когда необходимо добавить реквизиты в документ или его табличную часть с выводом на форму. С этим тоже можно бороться не затрагивая типовые механизмы. В табличную часть документа добавляется необходимый реквизит соответственно с префиксом "доб". Дальше делается некий АРМ(автоматизированное рабочее место) в который выводится ДокументСписок плюс в этот же АРМ(внешнюю обработку) копируется Форма необходимого документа. При этом при попытке открытия документа из АРМа, открываем документ в форме(которую мы доработали и в ней виден наш добавленный реквизит) АРМа , а не в типовой.
    3) Тут озвучу присутствие подписок на событие, не буду их описывать, так как каждое событие можно использовать по своему, но ими стоит пользоваться.
    4) Возникают случаи , когда в зависимости от того или иного показателя, необходимо выполнить ту или иную выборку. Тут довольно обширная тема для фантазии которую можно развивать до бесконечности. Предлагаю поэкспериментировать с справочниками в котором указываются необходимые параметры и тексты или отрывки текстов запроса.
    5) Что по поводу регламентных заданий. Если есть необходимость динамически менять их алгоритм исправления каких то ошибок. То можно использовать справочник , внешние обработки и вызывать регламентным заданием именно процедуры из обработки. Которые мы можем изменять без остановки работы УС для обновления.

    P.S. может быть кто то скажет что это можно выполнить по другому, не отрицаю. Давайте делиться опытом.
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Добавлю от себя еще немного по 8.2
    1. По поводу добавления новых реквизиотв в документы и справочники(Тч не беру).всегда начинаю смотреть со свойств объектов и у документов и у справочников они есть и в большенстве случаев можно обойтись заведением свойства и не добавлением реквизитов.
    2 по поводу доработок и префиксов то есть стандарты разработки 1С они указны на ИТС вот тут http://its.1c.ru/db/v8std#browse:13:-1:61:64
    3 Отчет делаются через внешние отчеты.
    4 Обработки ТЧ через внешние обработки ТЧ подключаемые к нужной ТЧ.
    5 Вся разработка ведется через хранилище что бы была история того что разрабтывал и мог откатиться на нужный релиз.
    6 Не всегда по певой же просьбе добавлять что просям. надо разобраться с бизнес процессом и может не придется ничего добавлять, а просто надо поменять БП.
  3. st88
    Offline

    st88 Профессионал в 1С Команда форума

    Регистрация:
    18 окт 2012
    Сообщения:
    1.726
    Симпатии:
    28
    Баллы:
    54
    по поводу 2го пункта не понял. Вот надо мне добавить свой реквизит в документ и заполнять его с формы. Форму то ладно, но реквизит то добавив документ.объект будет изменен и при обновлении ругнется...
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну второй пунк направлен на то чо бы формы обновлять удобно было. т.е есть форма реализации ты туда добавил реквизит и при обновлении 1С добавило реквизит. Не очень удобно это все ручками переносить привязки делать и т.д а так реквизт добавляеют а заполняют его через внешню форму.
    Ну как у меня было что Гл в учетной системе оформлять ничего не должен - только следить за всем и все. но надо было ей акты сверок формировать - а это документ.
    Пришлось его сделать как внешнюю обработку и там все формирует
  5. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Стас объект будет добавлен и при обновление сравнение тебе покажет что просто объект отсутствует в конфигурации поставщика, но ругаться не будет.
  6. st88
    Offline

    st88 Профессионал в 1С Команда форума

    Регистрация:
    18 окт 2012
    Сообщения:
    1.726
    Симпатии:
    28
    Баллы:
    54
    я про это и говорил. просто может есть способ чтобы реквизит был привязан к документу, значение реквизита где то отдельно хранилось, а заполнялся и выводился на форму нужному документу. и при обновлении проблем не будет...
  7. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну этотогда то вариант что я писал заводишь свойство документа и все, а вывод на форму и заполнение уже как TerANik
  8. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Не вижу и в описанном способе проблем, реквизит будет иметь префикс и сразу выделяться, что он не типовой. При хранение где то в регистре сведений с структуторой: ВидДокумента, документ, реквизит, значение.. необходимо будет программно заполнять форму , что в общем то является одной из проблем. Зачем? если в форме можно просто сослаться на реквизит.
  9. TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.759
    Симпатии:
    147
    Баллы:
    104
    С добавленными реквизитами никаких проблем нет при обновлении как и с любым добавленным объектом. Проблемы когда типовые реквизиты изменяют.

    Вот тут у нас один додумался. Взял и типовой реквизит с типом строка изменил со 150 символов на неограниченную длину. Перестали работать печатные формы. Потому что в запросах выводящих на печать документ этот реквизит участвовал в конкатенации строк.
  10. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    1) Да, так. Уточню, что добавляю префикс не только при добавлении реквизитов, но и при добавлении объектов.
    2) У меня другой подход. Я программно вывожу новые реквизиты (и двигаю элементы если нужно) на типовой форме. Т.е. свою форму не добавляю, типовая форма остается на поддержке.
    3) Да, так.
    4) Не знаю, не припомню чтобы сталкивался.
    5) Если операция все же относительно периодическая предпочитаю оформить отдельным регламентным заданием.


    Ну и от себя пункт:
    Все что можно (это в первую очередь касается бух. учета) делаю типовыми документами.
    Чтобы было понятно о чем я смотрите, пример операции передачи на факторинг. Чтобы оформить ее типовыми документами нужно: сделать документ РТиУ + сделать документ Корректировки долга. Суммы там зеркальные. Но понятное дело, что пользователям не очень удобно каждый раз вводит 2 документа на каждую операцию (и естественно вероятнее всего где-то они ошибутся с суммами).
    Варианты решения, например:
    1) Можно создать свой новый тип документа, который будет делать сразу только нужные проводки
    или
    2) Можно сделать документ, который будет как бы "служебным", туда мы грубо говоря заносим только сумму и при проведении его автоматом формируются два стандартных документа конфигурации: РТиУ и Корректировка долга.

    Т.е. я делаю по варианту 2.
    Общий смысл в том, чтобы
    а) не трогать типы регистраторов регистров
    б) При таком подходе любой типовой обмен будет гарантированно продолжать работать
  11. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Да согласен, можно программно добавлять элементы формы и назначать обработчки.
    Не буду показывать и объяснять свои моменты ибо они специфичные.
    Но как пример расчет KPI по подразделениям,имеется справочник с видом расчетов, в котором хранится текст запроса, который можно поменять непосредственно в консоли запросов и вставить. При заведение нового подразделения назначить вид расчета или завести новый подправив опять же запрос в консоли если надо. А при расчете универсальный механизм который обращается к этому справочнику.
  12. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Ну приблизительно понял.
    Думаю это аналогично тому как у меня заполняются дополнительные поля в ЭСФ. Там у каждого контрагента свои данные которые нужно туда пихать. У меня для этих целей регистр сведений, в реквизите которого собственно записан кусок кода для получения нужного значения. Соответственно в зависимости от того, для какого Контрагента формируется ЭСФ - выполняется свой алгоритм заполнения этих полей.
  13. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.990
    Симпатии:
    399
    Баллы:
    104
    Я, если честно, не испытываю трудностей в плане обновления типовых измененных конфигураций. За исключением лишь форм, ролей и интерфейсов. Здесь полностью поддерживаю Шурика. Программное добавление элементов. А Роль и интерфейс лучше свои создать. Можно и вмешаться в код типовой, только чтобы понятно было это. :)
  14. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Ну опять же вопрос встает о масштабности изменений в типовой и о масштабности вышедшего обновления. Просто понятие не испытываю трудностей довольно таки размыто.. если есть возможность всех выгнать и чтобы не работали день это одно, а если это нужно оперативно это другое.
  15. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.990
    Симпатии:
    399
    Баллы:
    104
    Я конечно может что не понимаю, но зачем выгонять пользователей на день????!!!! Если езменения коснулись любой части любой таблицы, то нужно будет выгонять пользователей. Что мешает выполнить обновление на копии, все перепроверить тысячу раз, чтобы все было четко. Зайти в рабочий конфигуратор, полностью загрузить всю конфигурацию вновь обновленную, выгнать пользователей на 5-10 минут и выполнить обновление конфигурации базы данных и самой конфигурации?
  16. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Согласен и был готов к такому повороту, но зачем тратить ресурс (пусть даже на копии), т.е. рабочее время программиста, пол дня, день, а может и два для анализа, если можно изначально написать так, чтобы обновление было прозрачно и оперативно.
  17. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.990
    Симпатии:
    399
    Баллы:
    104
    Ну здесь уже касается конкретного человека. Мне, например, не важно, как я написал программу, прозрачно или нет. Я все равно, всегда сначала делаю все на копии. Не могу себе позволить ошибку в этом. Так что вот как то так.

Поделиться этой страницей