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


Поля связи


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

#1 jazvenko

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

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

Отправлено 14 Сентябрь 2012 - 10:46

Добрый день,

$line['Населенный пункт'] != '0' and $line['Улица'] != '0' раньше было так, поля связи, и если ничего не выбрано в них то выводился 0 (вместо id), после обновления что то поменялось, теперь там массив на сколько я понял. Вы что то поменяли? Нам теперь переписывать весь код нужно!

#2 Analitic

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

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 14 Сентябрь 2012 - 12:22

Действительно, раньше если не использовались значения по полям связи, они не разворачивались. И у вас были числа. Но данный подход приводит к многочисленным ошибкам. Так если, где то в паралельном вычислении вы используете поле связи, то в вашем вычислении в $line появиться также массив. В этом случае вы работая с одним вычислением свободно можете испортить другое.
Сейчас в любом случае $line разворачивается в массив, если значение 0 - то будет равно array().
В случае использования id поля следует использовать $line['Улица']['raw'] - данная конструкция не измениться в зависимости от других вычислений и всегда будет работать.

В вашем случае код упращаястя с такого:
if ($line['Населенный пункт'] != '0')
на
if ($line['Населенный пункт'] )

#3 jazvenko

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

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

Отправлено 27 Сентябрь 2012 - 04:34

$line['Улица']['raw'] отчищает поле !!!!!!!!!!!! если её использовать вычислениях в форме то запись в поле пропадает и не сохраняется. Почему?

#4 Analitic

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

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 27 Сентябрь 2012 - 08:00

Просмотр сообщенияjazvenko (27 Сентябрь 2012 - 04:34) писал:

$line['Улица']['raw'] отчищает поле !!!!!!!!!!!! если её использовать вычислениях в форме то запись в поле пропадает и не сохраняется. Почему?
Прошу подкреплять свои слова примером. Я создал конфигурацию: https://test-lfield.clientbase.ru/, логин admin, пароль admin. В таблице "Основная", есть поле "Вычисляемое" которое использует $line['Связь']['raw'] при этом запись в поле "Связь" сохраняется.

#5 jazvenko

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

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

Отправлено 27 Сентябрь 2012 - 08:07

Я создал форму http://test-lfield.c...ionare.php?id=1 которая должна выводить $line['Связь']['raw'] при сохранении на экран, И ОНА ВЫВОДИТ ))) но само поле в базе не записывается. Можете сами убедится.

#6 jazvenko

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

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

Отправлено 27 Сентябрь 2012 - 08:12

Кстати не записываются поля все после поля которое я пытаюсь вывести на экран $line['Связь']['raw']

#7 Analitic

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

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 27 Сентябрь 2012 - 08:59

Действительно, в анкетах баг имеет место быть. Сегодня выйдет новая ревизия с исправленным багом.

#8 jazvenko

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

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

Отправлено 27 Сентябрь 2012 - 09:05

Тогда не удаляйте базу я там ещё один пример с ошибкой сделаю только в другой теме отпишусь

#9 Analitic

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

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 27 Сентябрь 2012 - 10:53

Ошибка исправлена. Внимание, при изменении структуры базы, не происходит автоматического пересоздания анкеты. И вам потребуется ее пересохранить. Редактирование формы: test2 \ Настройки \ Сохранить.

#10 arsenal

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

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

Отправлено 02 Сентябрь 2013 - 07:45

После обновления до ревизии 9694 от 2013-08-29 обнаружил следующую ошибку.
В поле связи у меня выводилось основное поле и дополнительное поле.
После обновления ревизии вместо дополнительного поля выводит "нет доступа". Если дополнительное поле сделать основным, то оно выводится нормально. Поэксперимнтировав с настройками доступа, выяснил, что дополнительное поле выводится только если стоит доступ этого поля на просмотр. Хотя раньше такого не было.

#11 Analitic

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

  • Пользователи
  • PipPipPip
  • 700 сообщений
  • Пол:Мужчина

Отправлено 03 Сентябрь 2013 - 11:14

Собственно не ошибка, так и должно быть. То что раньше оно выводилось было ошибкой.

#12 arsenal

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

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

Отправлено 04 Сентябрь 2013 - 19:27

Но если дополнительное поле сделать основным, то оно ВЫВОДИТСЯ. Почему же оно С ТЕМИ ЖЕ НАСТРОЙКАМИ ДОСТУПА не может выводиться в качестве дополнительного?
Объясню поподробней.
Есть два поля "Номер" и "Дата" в таблице "Заявки". Есть поле "Заявка" в таблице "Договора", которое является полем связи на поле "Номер" с дополнительным выводом поля "Дата". У полей "Номер" и "Дата" одинаковые настройки доступа - галочка в "Таблица" (картинку не получается приложить). Если одно поле делать основным в поле связи "Заявка", то оно выводится, а если тоже поле сделать дополнительным, то оно становится недоступным (хотя у него стоит галочка "просмотр в таблице"). Логики не вижу. Если убрать вообще все галочки в настройках доступа (кроме импорта/экспорта), то даже в этом случае поле как "основное" - доступно (хотя это уже не логично, т.к. все настройки на просмотр поля сняты).

Сообщение отредактировал arsenal: 04 Сентябрь 2013 - 19:51


#13 Testman

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

  • Техподдержка ООО "КБ"
  • PipPipPip
  • 49 сообщений
  • Пол:Женщина
  • Город:Казань

Отправлено 05 Сентябрь 2013 - 15:44

Баг принят на исправление.





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

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