8.х Теоретический вопрос, как лучше построить условие

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем st88, 10 июн 2015.

  1. TopicStarter Overlay
    st88
    Offline

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

    Регистрация:
    18 окт 2012
    Сообщения:
    1.726
    Симпатии:
    28
    Баллы:
    54
    Собственно, надо прошерстить базу на корректность ссылок.

    Есть справочник Контрагенты. У элемента справочника есть ссылка на другой элемент этого же справочника.
    То есть, первый элемент: Контрагент - физлицо, он имеет ссылку на второй элемент справочника Контрагент - управляющая организация.
    У элемента Контрагент - управляющая организация также есть ТЧ в которой одна колонка со ссылками контрагентов - физлиц, которые должны на неё иметь ссылку. И есть Документ договор, в котором также есть ссылки контрагнетов- физлиц, которые должны ссылаться на этого контрагент - управляющую организацию.

    Задача: брать по очереди, по определенным условия Контрагентов - физлиц из справочника и проверять: в какой ТЧ есть ссылка на него, в каком договоре есть ссылка на него. Если находится всего одна ТЧ и всего один договор где имеются ссылки на него, то проверить одинаковый ли владелец (Контрагент - управляющая организация) и у ТЧ и у Договора.

    1. Если один и тот же, то проверить на равенство ссылку этого контрагента - физлица на управляющую организацию с ссылкой на владельца ТЧ и договора. Если совпадают, то пропускаем этого контрагента-физлицо, если нет, то выводим в отчет его.

    2. Если разные, то вывести контрагента - физлицо, владельца ТЧ, владельца договора.

    3. Если в нескольких ТЧ или Договрах, то вывести всех владельцев ТЧ и договоров в которых он встречается.


    Вопросы:

    1. наверное быстрее будет делать на скд?
    2. Работать с ВТ или нет?
    3. Как лучше условия построить?!
  2. TerANik
    Offline

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

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Ам..
    1) Нет задачи..в задаче у тебя описан какой то алгоритм, но не сама задача, что ты именно хочешь этим проверить?
    2) Физлицо и УпрОрг элементы одного справочника.. у физ тч пустая у орг нет?
    3)Тебе надо проверить на правильность занесения данных между ТЧ и Договорами?
  3. TopicStarter Overlay
    st88
    Offline

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

    Регистрация:
    18 окт 2012
    Сообщения:
    1.726
    Симпатии:
    28
    Баллы:
    54
    1. Найти контрагентов-физлиц, у которых не выполняется условие:
    "....Если один и тот же, то проверить на равенство ссылку этого контрагента - физлица на управляющую организацию с ссылкой на владельца ТЧ и договора. Если совпадают, то пропускаем этого контрагента-физлицо, если нет, то выводим в отчет его."

    2. Да. Да.
    3. На правильность между ссылкой у Контрагента - физлица, наличием его ссылки в ТЧ и в Договоре. Причем только в одной ТЧ и в одном договоре с одинаковым владельцем и с ссылкой на этого владельца (упр. орг)
  4. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    1.вот этот бред кто придумал?
    То есть, первый элемент: Контрагент - физлицо, он имеет ссылку на второй элемент справочника Контрагент - управляющая организация.
    У элемента Контрагент - управляющая организация также есть ТЧ в которой одна колонка со ссылками контрагентов - физлиц, которые должны на неё иметь ссылку

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

    а теперь по вопросам
    1. Насчет быстрее в каком плане имеется (разработка или быстродействие), в обоих случаях при такой постановке сказать сложно. кто с чем умеет работать
    2. Опять же 1С рекомендует работать с ВТ, если у вас достаточно памяти на ПК
    3.Ну я бы сначало разбил запросы на подзаросы, вытягивал оттданужные данные,а потмом уже смотрел бы как условие делать
  5. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Draco в принципе написал уже что архитектура решения - хрень, повторяться поэтому не буду.

    По теме как сделать: вообще все равно. Хоть перебором. Главное чтобы было понимание как оно работает. Перебор и понимание как он работает будет гораздо лучше чем СКД и "да хрен его знает как оно работает, как-то что-то выводит вроде то что нужно, пойдет".
  6. TopicStarter Overlay
    st88
    Offline

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

    Регистрация:
    18 окт 2012
    Сообщения:
    1.726
    Симпатии:
    28
    Баллы:
    54
    тест.jpg
    --- Объединение сообщений, 10 июн 2015 ---
    почему бред то ? всё вполне логично сделано...
    --- Объединение сообщений, 10 июн 2015 ---
    вот это и надо проверить, чтобы всё четко было)
  7. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Вот я и говорю что из за такого построения решения получается бред.

    Вот возьмем первый твой скрин.
    Там есть физ лицо и гиперссылка на управляющую организацию - скажи это просто гиперссылка или это реквизит в конфигураторе?
  8. TopicStarter Overlay
    st88
    Offline

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

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

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Сразу же смотрю на эту структуру и понимаю что неправильно. Потому как там вид абонента Физ лицо (по моему вид абонента должна быть квартира)
    Потому как ситуация есть два дома раядом есть одно физ лицо у него квартира в одном доме и во втором.
    По структуре этой схемы я так понимаю что у вас заводятся два контрагента Иванов иван иванович кв 31 и Иванов Иван Иванович кв 32
    а не просто Иванов и подтягиваются две управляющие
    Т.е правильнее не физ цило а квартира
  10. TopicStarter Overlay
    st88
    Offline

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

    Регистрация:
    18 окт 2012
    Сообщения:
    1.726
    Симпатии:
    28
    Баллы:
    54
    Всё правильно в структуре. Заводится два лицевых счета, на две разные точки врезки и весь учет ведется по разным точкам. А ФИО собственника будет одно и тоже, затем сменился у одной из кв владелец, меняется в элементе справочника инф о собственности и далее ведется учет по этой точке.
  11. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Да не фига.
    Я не знаю нюансов, поэтому оно может быть и не так как я скажу сейчас:
    У контрагента в один момент времени может быть только одна УК? Так?
    Тогда нужен РС, периодический (периодичность вероятно сутки), Измерение - Контрагент, Ресурс УК.
    Все. Мы на любую дату можем посмотреть какая была УК у контрагента, и можем без проблем вытащить Контрагентов которые числятся за этой УК. Проверка того что в один день не записали контрагента за двумя разными УК - будет на уровне платформы.
    djekting нравится это.
  12. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Хорошо, тогда в Управляющей комании зачем ТЧ редактируется? она же то же могла автоматом меняться при проведении и распроведении договора, в договре же указана управляющая и абонент
    Принцип же должен быть такой же
    Провел договор, установился реквизит и в ТЧ управляющей добавилась строка, распровел - строка удалилась.
    А то получается на половину сделано, почему тогда у абонента нельзя реквизит редактировать так же как ТЧ
    Получается я могу абанета добавить, а договора у него может и не быть
  13. TopicStarter Overlay
    st88
    Offline

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

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

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

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

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

    Регистрация:
    18 окт 2012
    Сообщения:
    1.726
    Симпатии:
    28
    Баллы:
    54
    есть регистр сведений периодический, там всё фиксируется в какой момент времени контрагент был в какой ук, откуда убыл, куда прибыл и тд. всё фиксируется.
    речь не об этом...
    --- Объединение сообщений, 10 июн 2015 ---
    есть регистр сведений периодический, там всё фиксируется в какой момент времени контрагент был в какой ук, откуда убыл, куда прибыл и тд. всё фиксируется.
    речь не об этом...
  16. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Ой вы тут уже понаписали.
    А где эти л/сч на скринах. Если у Тестового контрагента 2 лицевых счета (с двумя разными ук например), почему я в карточке контрагента вижу только одну УК?
  17. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Скажи разве было бы не логично вместе с реквизтом абонента заполнять и ТЧ УК? и не было бы тогда гемора с проверками?
    у тебя же нет гемора с проверкой правильная ли ссылка у Абонента на УК.
    Весь гемор в том что у УК ТЧ может свободно редактироваться и удаляться абонеты у которых есть договр и добавляться те у которых его нет
  18. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    ну в принципе да. согласен, далеко полез.
  19. TopicStarter Overlay
    st88
    Offline

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

    Регистрация:
    18 окт 2012
    Сообщения:
    1.726
    Симпатии:
    28
    Баллы:
    54
    Принцип с точностью до наоборот, договор заключается на основании данных из ТЧ, и если вносятся изменения в ТЧ, то и делается допизменения в договоре и он соотв. пересчитывается.
  20. TerANik
    Offline

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

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Я бы для начала переделал справочник под иерархию элементов хотя бы.
    Управляющая организация
    Физлицо1
    Физлицо2

    И добавил им признак, ЮрФизЛицо..

    Думаю такая структура решила бы много проблем с точки зрения алгоритмики в конфигурации.

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