Перейти к содержимому


Связанные таблицы


Сообщений в теме: 26

#1 Никита Оптимизация

    Активный участник

  • Пользователи
  • PipPipPip
  • 57 сообщений

Отправлено 27 Январь 2010 - 10:13

Пытаюсь реализовать такой момент - при просмотре Задания (например Продвижение сайта) можно посмотреть Доступы для этого сайта.
Сделал связанные таблицы Между Заданиями и Доступом по полю Сайт. Но вот почему-то сайт ищется не в текстовом виде, а в виде цифр. В итоге выдаёт: "Поиск: поле "Сайт (задания)" равно "67355"" и естественно ничего не находит.

Помогите, пожалуйста.

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Январь 2010 - 11:01

Опишите подробнее какие поля вы добавляли и как их настраивали.

#3 Никита Оптимизация

    Активный участник

  • Пользователи
  • PipPipPip
  • 57 сообщений

Отправлено 27 Январь 2010 - 11:25

в таблице Клиенты поле Название. Тип поля - текст.
в таблице Задания есть поле Компания. Настройки: Тип поля - связь; Поле связи - Клиенты.Название
в таблице Доступы есть так же поле Компания. В настройках этого поля: Тип поля - связь; Поле связи - Задания.Компания

#4 Никита Оптимизация

    Активный участник

  • Пользователи
  • PipPipPip
  • 57 сообщений

Отправлено 27 Январь 2010 - 11:27

т.е. цепочка такая. Менеджер создаёт задание в котором выбирает Компанию. Работник смотрит задание и у него висит ссылка на доступы к этой Компании, которую выбрал менеджер.

#5 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Январь 2010 - 11:51

Дело в том что нельзя в поле связи ссылаться на другое поле связи. Только на простое поле (текст, число, список). Множественные цепочки пока не поддерживаются.

#6 Никита Оптимизация

    Активный участник

  • Пользователи
  • PipPipPip
  • 57 сообщений

Отправлено 27 Январь 2010 - 12:00

очень жаль :) не поддерживаются многие функции, которые очень даже логичны. программа сырая совсем.

может быть Вы мне подскажите как это можно реализовать?

менеджер дал задание работнику с указанием фирмы. работник открывает задание и может оттуда по ссылке перейти к доступам именно для этой фирмы.

#7 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Январь 2010 - 12:12

Просмотр сообщенияНикита Оптимизация (27.1.2010, 12:00) писал:

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

Просмотр сообщенияНикита Оптимизация (27.1.2010, 12:00) писал:

может быть Вы мне подскажите как это можно реализовать?

менеджер дал задание работнику с указанием фирмы. работник открывает задание и может оттуда по ссылке перейти к доступам именно для этой фирмы.
Укажите в качестве поля связи с Заданиями другое поле, например описание или номер задания. Это к тому же и более правильно, т.к. может быть несколько заданий с одной и той же компанией.

Если же доступ у вас привязан к конкретному клиенту, а не к заданию, то и связываться он должен непосредственно с таблицей Клиенты.

#8 Никита Оптимизация

    Активный участник

  • Пользователи
  • PipPipPip
  • 57 сообщений

Отправлено 27 Январь 2010 - 12:59

1. Если в таблице занесены данные, а потом я меняю тип поля с Текста на Число, например. А потом опять восстанавливаю тип поля Текст - почему у меня не восстанавливаются мои данные, которые были до смены типа поля?

#9 Никита Оптимизация

    Активный участник

  • Пользователи
  • PipPipPip
  • 57 сообщений

Отправлено 27 Январь 2010 - 13:34

2. Если данные по Клиенту внесены администратором импортированием из Excel файла - почему Менеджер не может их изменять? Надо где-то галку поставить в настройках?

#10 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Январь 2010 - 13:38

Просмотр сообщенияНикита Оптимизация (27.1.2010, 12:59) писал:

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

#11 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Январь 2010 - 13:40

Просмотр сообщенияНикита Оптимизация (27.1.2010, 13:34) писал:

2. Если данные по Клиенту внесены администратором импортированием из Excel файла - почему Менеджер не может их изменять? Надо где-то галку поставить в настройках?
Если менеджер что либо не может менять - значит у него запрещен доступ к редактированию данного поля. Доступ к полям регулируется через Группы доступа в Настройках.

#12 Никита Оптимизация

    Активный участник

  • Пользователи
  • PipPipPip
  • 57 сообщений

Отправлено 27 Январь 2010 - 14:03

Просмотр сообщенияРазработчик (27.1.2010, 13:40) писал:

Если менеджер что либо не может менять - значит у него запрещен доступ к редактированию данного поля. Доступ к полям регулируется через Группы доступа в Настройках.

Я знаю про Настройки доступа. Менеджер может редактировать других Клиентов, которых он сам добавил. Но он не может редактировать тех Клиентов, которых импортировал из Excel администратор базы. Так понятнее? Прилагаю принтскрин - поля просто засвечены серым цветом и их поменять нельзя

Прикрепленные изображения

  • Прикрепленное изображение: screencb.jpg


#13 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Январь 2010 - 14:29

Просмотр сообщенияНикита Оптимизация (27.1.2010, 14:03) писал:

Я знаю про Настройки доступа
Видимо не всё знаете. Права доступа на редактирование регулируются отдельно для "своих" (добавленных пользователем) и "чужих" записей.

#14 Никита Оптимизация

    Активный участник

  • Пользователи
  • PipPipPip
  • 57 сообщений

Отправлено 27 Январь 2010 - 14:57

Значит надо было в мануале написать, что значит СВОИ и ЧУЖИЕ. Т.к. для менеджера они все СВОИ, т.к. у каждого клиента стоит один и тот же менеджер. Но одних он может исправлять, а других - нет.

Логичнее: если менеджер заходит под своим именем, значит он может редактировать ВСЕХ клиентов, в которых он записан менеджером. ЧУЖИЕ, лично для меня, это Клиенты, у которых записан другой менеджер.

#15 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Январь 2010 - 15:27

Свежего мануала у нас пока нет, это действительно наша недоработка на данный момент.

#16 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Январь 2010 - 15:31

Просмотр сообщенияНикита Оптимизация (27.1.2010, 14:57) писал:

Логичнее: если менеджер заходит под своим именем, значит он может редактировать ВСЕХ клиентов, в которых он записан менеджером. ЧУЖИЕ, лично для меня, это Клиенты, у которых записан другой менеджер.
Это уже будет доступ к полю по условию, заданному администратором системы. Пока такая возможность только в планах.

#17 DarkNight

    Активный участник

  • Пользователи
  • PipPipPip
  • 181 сообщений

Отправлено 01 Февраль 2010 - 10:01

На самом деле, это поле "свой" "чужой" заполняется текущим пользователем автоматически, при создании записи или импорте, не зависимо от того что стоит в поле менеджер для это записи.

Я импортировал более 10000 записей, для разных менеджеров. которым права на импорт не нужны.

После импорта, напрямую в базе, запросом перезаписал поле "свой" "чужой" = менеджер.

#18 DarkNight

    Активный участник

  • Пользователи
  • PipPipPip
  • 181 сообщений

Отправлено 01 Февраль 2010 - 10:10

Да и еще то что при использовании напоминаний возникают жуткие тормоза это 100% зависит от того что база не оптимизирована. На данный момент в базе индексы есть только на id полях.

Неплохо было бы доработать чтоб в месте с полем "Ссылка" создавался индекс на это поле, производительность повышается, заметно на глаз.

Возможно пересмотреть еще и запросы к базе на счет оптимизации.

Я так подозреваю что пока у всех базы еще не большие пока работает сносно, но когда объемы перевалят за пару миллионов начнутся проблемы.

#19 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 01 Февраль 2010 - 10:43

Да, мы в курсе этих проблем, работаем над этим. В любом случае спасибо за конструктивные замечания.

#20 Никита Оптимизация

    Активный участник

  • Пользователи
  • PipPipPip
  • 57 сообщений

Отправлено 01 Февраль 2010 - 14:24

Никак не могу разобраться со связями таблиц. Есть 2 таблицы - Продвижение сайтов и Доступы к сайтам.

Требуется - зайти в таблицу Продвижение, кликнуть на строку с заданием. И в задании увидеть ссылку на Доступы к этому сайту, который записан в Продвижении.

Поле Сайт таблица Продвижение
Тип поля: связь
Поле связи: Доступы.Сайт

Поле Сайт таблица Доступы
Тип поля: текст

Итог выдаёт какой-то уж совсем странный. "Поиск: поле "Продвижение" равно "32"" И никаких доступов к сайту не показыват.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных