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


Вопросы по вычислениям


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

#1 zloi_geolog

    Участник

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

Отправлено 24 Август 2013 - 01:02

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

Вопрос 1.
1. У меня есть таблица "Клиенты" и подчиненная таблица "Работа с клиентом".
2. В карточке клиента есть поле "Последн. действие", которое отображается в основной таблице "Клиенты"
3. Я создаю новое действие в "Работе с клиентом", в т.ч. вносится информация в поле "Описание"
4. Мне нужно, чтобы в поле "Последн. действие" таблицы "Клиенты" появилась информация из "Описания" сразу после сохранения действия в работе с клиентом.

Попытался сделать вычисление на основе документации - но оно не работает :(/> Какой должен быть правильный текст вычисления?

Также, не понял, куда должно быть вписано вычисление. В настройки "Редактирование настроек таблицы "Клиенты" "-"Вычисления"-"Добавить вычисление", или в настройках конкретных полей таблицы.

Заранее благодарен за помощь!

#2 CbCoder

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

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

Отправлено 24 Август 2013 - 13:57

Вычисление на изменение поля "Описание" в "Работа с клиентом":

$line['Поле связи с клиентом']['Последн. действие'] = $line['Описание'];

'Поле связи с клиентом' - подставляете реальное имя поля связи подтаблицы с основной таблицей.

#3 zloi_geolog

    Участник

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

Отправлено 24 Август 2013 - 21:39

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

Прошу Вас пошагово написать порядок действий, или ответить на несколько вопросов (разберусь, дальше станет легче :)

Прикрепленное изображение: Структура связи КЛИЕНТ.jpg

1. По поводу связи между полем ПОСЛЕДНЕЕ ДЕЙСТВИЕ главной таблицы и полем ОПИСАНИЕ подчиненной.
- Должны ли оба поля быть типа СВЯЗЬ?
- Или связь имеет направление (одно СВЯЗЬ, другое ТЕКСТ)?
- Или оба поля должны быть типа ТЕКСТ, а связь идет только через вычисление?

2. В Вашем ответе "реальное имя поля связи подтаблицы с основной таблицей" - не понял, что это. У меня участвует всего два поля: ПОСЛЕДНЕЕ ДЕЙСТВИЕ в КЛИЕНТАХ и ОПИСАНИЕ в РАБОТЕ С КЛИЕНТОМ.
3. Прошу, по возможности, дать ответ типа: в поле 1 выставить тип такой-то, во втором такой-то. Формулу вычисления вставить туда-то. Я хоть на подробном примере разберусь и буду задавать меньше глупых вопросов.

Спасибо!

#4 zloi_geolog

    Участник

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

Отправлено 24 Август 2013 - 23:14

И еще вопрос по ходу... В настройках таблицы есть раздел Вычисления, и в настройках каждого поля тоже есть Вычисления. Это одно и то же, или разные вещи? Есть ли разница, куда вносить код, который вы предлагаете?

#5 CbCoder

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

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

Отправлено 26 Август 2013 - 10:38

Цитата

Прошу Вас пошагово написать порядок действий

Порядок именно такой, как у вас на картинке.

Цитата

1. По поводу связи между полем ПОСЛЕДНЕЕ ДЕЙСТВИЕ главной таблицы и полем ОПИСАНИЕ подчиненной.
- Должны ли оба поля быть типа СВЯЗЬ?
- Или связь имеет направление (одно СВЯЗЬ, другое ТЕКСТ)?
- Или оба поля должны быть типа ТЕКСТ, а связь идет только через вычисление?

Верный последний вариант: оба поля "текст", связаны через вычисление.

Цитата

2. В Вашем ответе "реальное имя поля связи подтаблицы с основной таблицей" - не понял, что это. У меня участвует всего два поля: ПОСЛЕДНЕЕ ДЕЙСТВИЕ в КЛИЕНТАХ и ОПИСАНИЕ в РАБОТЕ С КЛИЕНТОМ.

В любой подчиненной таблице есть поле связи с родительской таблицей. Без него программа не сможет определить, к какой именно основной записи относится запись подчиненная. В вашем случае, там должен быть клиент, к которому привязаны записи по работе с этим клиентом. По умолчанию, при просмотре подчиненной таблицы из основной записи, это поле скрыто. Однако, если вы нажмете на значок лупы и перейдете в просмотр подчиненной записи, либо перейдете в подчиненную таблицу через список связанных таблиц, вы это поле увидите. Также, его можно увидеть в списке полей в Настройках конфигурации.

Цитата

Прошу, по возможности, дать ответ типа: в поле 1 выставить тип такой-то, во втором такой-то. Формулу вычисления вставить туда-то. Я хоть на подробном примере разберусь и буду задавать меньше глупых вопросов.

Порядок действий я уже полностью описал в своем первом сообщении. Заходите в Настройки, ищите таблицу "Работа с клиентом", напротив нее - вычисления, добавляете вычисление на событие изменения поля "Описание", вставляете туда предложенный код, заменив имя поля связи. Тип полей менять не надо, оба "текст", как я выше написал.

Цитата

И еще вопрос по ходу... В настройках таблицы есть раздел Вычисления, и в настройках каждого поля тоже есть Вычисления. Это одно и то же, или разные вещи? Есть ли разница, куда вносить код, который вы предлагаете?

В настройках полей есть т.н. "Конструктор вычислений", для автоматического создания простейших вычислений. В данном случае он не нужен (и не подходит), готовый код я уже вам дал.

#6 zloi_geolog

    Участник

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

Отправлено 27 Август 2013 - 05:46

CbCoder, спасибо! Именно то, что нужно. Теперь работает! :)

Сообщение отредактировал zloi_geolog: 27 Август 2013 - 05:47


#7 zloi_geolog

    Участник

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

Отправлено 29 Август 2013 - 13:30

Господа, подскажите, как реализовать следующую задачу:

В ПОЗИЦИИ СЧЕТА нужно подтянуть строку из прайса. Из всей строки нужны поля АВТОР, НАЗВАНИЕ, ГОД, ЦЕНА.

В силу специфики товара (книги), могут быть такие вариации:
1. один автор - одно название - один год - одна цена (идеальная ситуация)
2. один автор-разные названия
3. разные авторы-одинаковые названия
4. один автор и названия, но разные года выпуска
5. автора нет, есть только название
(скриншоты не могу подгрузить, к сожалению)

Какой может быть алгоритм выбора нужной строки? Может быть по условиям?
Например: 1. Выбрал автора (или нет автора)-2. Если у него только одна книга, то все поля заполнились сразу. 3. Если у автора несколько книг, то идет выбор по названию из этих нескольких-4. Дальше, если не совпадают года, то по году и т.п. Как это технически реализовать через вычисления???

Есть ли более простой и разумный вариант?
Может быть, например, присвоить каждой строке номер, находить книгу через поиск (чтобы узнать номер строки) и сделать связь только по этому полю?

#8 CbCoder

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

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

Отправлено 29 Август 2013 - 14:05

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

#9 zloi_geolog

    Участник

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

Отправлено 29 Август 2013 - 22:10

Просмотр сообщенияCbCoder (29 Август 2013 - 14:05) писал:

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

Спасибо, за оперативный ответ! Все работает. Правильной работе мешало вычисление Данные номенклатуры.
Отключил его, все стало работать. Кстати, для чего оно?

#10 zloi_geolog

    Участник

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

Отправлено 30 Август 2013 - 00:11

Уважаемый CbCoder, поясните, пожалуйста еще такой момент. В ПОЗИЦИЯХ СЧЕТА я сделал связь с ПРАЙСОМ по полю НАЗВАНИЕ КНИГИ и через конструктор вычислений подтянул поля АВТОР и ЦЕНА. Как можно дописать удаление выбранной строки из прайса после нажатия кнопки СОХРАНИТЬ?

Сообщение отредактировал zloi_geolog: 30 Август 2013 - 00:32


#11 CbCoder

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

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

Отправлено 31 Август 2013 - 13:00

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

#12 yuriygrad

    Участник

  • Пользователи
  • PipPip
  • 26 сообщений
  • Пол:Мужчина
  • Город:Кореновск

Отправлено 29 Июнь 2014 - 09:34

Просмотр сообщенияCbCoder (29 Август 2013 - 14:05) писал:

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

Напишите, пожалуйста, как сделать чтобы при выводе таблицы она представлялась в развернутом виде, а не сокращенном. Рисунок во вложении.

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

  • Прикрепленное изображение: Безымянный.png


#13 CbCoder

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

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

Отправлено 29 Июнь 2014 - 13:35

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

#14 yuriygrad

    Участник

  • Пользователи
  • PipPip
  • 26 сообщений
  • Пол:Мужчина
  • Город:Кореновск

Отправлено 29 Июнь 2014 - 15:52

Спасибо за ответ!





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

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