Имя: Пароль:
1C
1С v8
Привязка данных между реквизитами
, , ,
0 Riko669
 
14.11.16
14:33
Добрый день! Подскажите, пожалуйста! У меня есть документ "ПакетРасписаний" в котором есть реквизит "Сотрудник" (СсылкаСправочник.Сотрудники) и тч "ТабПриемов", где содержиться реквизит "НомерКресла" (СсылкаСправочник.Кресла).
Для каждого сотрудника устанавливается свое кресло, но как сделать так чтобы при заполнении документа любого другого сотрудника не могли поставить на кресло, которое уже занято?
Пример. Иванов Иван Иванович 12 кресло
        Смирнов Иван Иванович (выбираем 12 кресло) должно выдать сообщение, что данное кресло уже занято.

Как сделать эту вот привязку одного кресла к одному сотруднику?
1 разработчик 1с
 
14.11.16
14:39
ну у тебя есть кресло. есть документ, где каждому креслу сопоставляется сидящий в кресле. как узнать, сидит в кресле кто-то или нет?
2 Riko669
 
14.11.16
14:40
Что-то вроде того. Просто выходит так, что документ заполняется, проводится, а потом я могу спокойно любого другого сотрудника посадить на тоже самое место.
3 Riko669
 
14.11.16
14:42
В самом справочнике сотрудники, есть реквизит "НомерКресла", в самом документе, при выборе сотрудника, у меня автоматически заполняется табличная часть со всеми реквизитами, что там есть.
4 Riko669
 
14.11.16
14:46
Грубо говоря мне нужна привязка одного сотрудника к одному креслу (чтобы исключить возможность назначить двух сотрудников на одно кресло)
Что мне для этого использовать? Помогите, пожалуйста
5 butterbean
 
14.11.16
14:50
(4) да документа в принципе достаточно. Просто добавь проверку при проведении или при записи этого документа
6 Riko669
 
14.11.16
14:53
Хорошо, попробую, спасибо!
Если что, позже еще скину чего да как получается
7 Riko669
 
14.11.16
16:33
&НаКлиенте
Процедура ПроверкаПриПроведении(Отказ, РежимЗаписи, РежимПроведения)
    НомерКресла="";
    Если Не ЭтоНовый() Тогда
        Запрос = Новый Запрос;
        Запрос.Текст = "ВЫБРАТЬ
        | ПакетРасписаний.НомерКресла
        |ИЗ
        | Документ.ПакетРасписаний КАК ПакетРасписаний
        |ГДЕ
        | ПакетРасписаний = &Ссылка";

        Запрос.УстановитьПараметр("Ссылка", Ссылка);

        Результат = Запрос.Выполнить();
        Выборка = Результат.Выбрать();
        
        Если Выборка.Следующий() Тогда
            НомерКресла = Выборка.НомерКресла;
        КонецЕсли;
    КонецЕсли;

    Если НомерКресла <> НомерКресла Тогда
        Сообщить("Кресло заято");
    КонецЕсли;
КонецПроцедуры

Выдает ошибку: {Документ.ПакетРасписаний.Форма.ФормаДокумента.Форма(463,18)}: Тип не определен (Запрос)
        Запрос = Новый <<?>>Запрос;  (Проверка: Тонкий клиент)


Что не так?
8 Riko669
 
14.11.16
16:36
На сервере нужно было указать. По поводу ошибки вопрос отпал
9 разработчик 1с
 
14.11.16
16:36
почему ты решил стать программистом?
10 Riko669
 
14.11.16
16:38
Сложилось так. Изначально расчет был на то, что буду просто в ремонте железа именно, но вышло совсем по другому, долго объяснять
11 Riko669
 
14.11.16
16:39
{Документ.ПакетРасписаний.Форма.ФормаДокумента.Форма(462,10)}: Процедура или функция с указанным именем не определена (ЭтоНовый)
    Если Не <<?>>ЭтоНовый() Тогда  (Проверка: Сервер)

Теперь такую ошибку выдает
12 Garykom
 
гуру
14.11.16
16:40
ТС ты проверку хочешь в момент заполнения или в момент (перед) проведения документа?
13 Garykom
 
гуру
14.11.16
16:41
(12)+ Если в момент заполнения/добавления строки то запросы в топку и простой перебор ТЧ
14 Riko669
 
14.11.16
16:43
Я думаю именно в сам момент заполнения. Т.е. создаем документ, заполняем, проверяется занято кресло или нет, если нет проводим, если до, то меняем кресло на свободное
15 Riko669
 
14.11.16
16:44
*если да
16 Garykom
 
гуру
14.11.16
16:47
(14) Запросы низзя по не сохраненным данным делать, пока документ не записан. Ну извраты с ВТ исключаем.
17 iITmenedger
 
14.11.16
16:49
(0)я бы создал РН остатки "РезервыКресел". Когда проводил документ писал бы туда Приход. Измерения: НомерКресла, сотрудник; ресурсы: Количество
18 Garykom
 
гуру
14.11.16
16:52
(17) У него резервирование чиста внутри документа, а не по мероприятию с кучей доков прихода/заказа посетителей/мест
19 Riko669
 
14.11.16
16:53
РН уже и так есть, но сказали, что делать это все на основании документа
20 iITmenedger
 
14.11.16
16:54
(18)в одном документе все делается. В документ статус добавить: Занято/Свободно. Когда Занято приход по остаткам. когда Свободно приход и расход.
21 Riko669
 
14.11.16
16:56
Что-то не совсем понимаю Вашу мысль. Зачем мне сейчас приход и расход по остаткам?
22 iITmenedger
 
14.11.16
16:58
(21)у тебя задача проверять резерв на кресла. Когда приход - резерв ставится. Когда расход - резерв снимается. Движения регулируешь статусами. Задача проще простого решается.
23 Riko669
 
14.11.16
16:58
Это ведь не перемещение товара и т.д.
Мне просто нужно проверить занято кресло или нет
24 iITmenedger
 
14.11.16
16:59
(21) при проведении проверяешь остатки в РН
25 Riko669
 
14.11.16
16:59
Не совсем так. Моя задача заключается в разработке механизма привязки одного кресла к одному сотруднику (чтобы исключить возможность назначить двух сотрудников на одно кресло)
26 Riko669
 
14.11.16
16:59
При проведении проверяю через РС
27 Riko669
 
14.11.16
17:00
РН в данном случае я не трогаю
28 Garykom
 
гуру
14.11.16
17:00
(23) Представь что можно на одно мероприятие в один зал на одинаковые места бронировать разными документами.

Тогда требуется нечто внешнее (регистр брони с измерениями) чтобы "между доками" отслеживать/контролировать занятость кресел.
29 Riko669
 
14.11.16
17:03
Касательно РС он состоит у меня из
Измерений: Сотрудник, Дата, Кабинет, Кресло
Ресурсы: Время1, Время2
30 iITmenedger
 
14.11.16
17:04
(29) я тебя понял. это типичная задача резервирования. и она решается так как я тебе написал. РС не совсем подходит для решения твоей задачи.
31 Garykom
 
гуру
14.11.16
17:04
(29) Если два мероприятия в день то кресло на целый день один фиг занято?
32 Riko669
 
14.11.16
17:07
Garykom, можно сказать и так, один фиг кресло будет занято (если конечно человек не уйдет в отпуск, но это будет уже другая история) )
33 Riko669
 
14.11.16
17:07
iITmenedger, т.е. использовать РН, так?
34 iITmenedger
 
14.11.16
17:08
(33) Да
35 Riko669
 
14.11.16
17:12
Хорошо, тогда займусь пока переделкой РН
36 Riko669
 
14.11.16
17:28
Допустим, но после проведения документа, в РН ничего не отображается, а РС все есть
37 iITmenedger
 
14.11.16
17:33
(36)?????
38 Riko669
 
14.11.16
17:39
ахах, да, что-то сегодня вообще никак ничего не складывается...
Ладно, забейте, спасибо за помощь)
Хз конечно как дальше буду выкручиваться, если все получится, то сюда все скину
39 iITmenedger
 
14.11.16
17:41
(38) прорешай задачи по оперативному учету из сборника задач для подготовки к экзамену Специалист по платформе. Сразу куча вопросов отпадет и эта задача сразу понятнее станет.
40 Riko669
 
14.11.16
17:44
Хорошо, спасибо за совет.
41 Fragster
 
гуру
14.11.16
17:44
на первый взгляд очень похоже на периодический РС с измерением Кресло и ресурсом Сотрудник
42 Riko669
 
14.11.16
17:45
Fragster, к ресурсам только время1 и время2 относится, сотрудник находится в измерениях, как и кресло
43 разработчик 1с
 
14.11.16
17:46
(40) начни с рисования на бумажке диаграмм данных
такие тонкости как накопления или сведений, при проведении или когда не важны. можно и в справочнике и в регистре расчёта хранить какие кресла за кем числятся
44 Riko669
 
14.11.16
17:49
разработчик 1с, в данном случае мне сказали сделать только РС, ни РН, ни тем более РР как Вы сказали, поэтому в моем случае разница есть.
45 Garykom
 
гуру
14.11.16
17:51
46 Fragster
 
гуру
14.11.16
17:51
(42) а зачем сотрудник в измерениях, если не может быть один сотрудник на двух креслах и два сотрудника на одном кресле?
47 Fragster
 
гуру
14.11.16
17:51
(46)в один момент времени
48 Garykom
 
гуру
14.11.16
17:52
Ну и старенькая но не потерявшая актуальности http://www.inf.tsu.ru/library/DiplomaWorks/CompScience/2011/Schukova/diplom.pdf
49 Riko669
 
14.11.16
17:56
Garykom, спасибо за ссылки, домой вернусь, прочту, посмотрю.
50 Riko669
 
14.11.16
17:56
Fragster, эээ...тип должен быть в ресурсах?
51 Fragster
 
гуру
14.11.16
17:58
(50) ну посмотри, какое поведение при этом будет. вроде бы совпадает с тем, что тебе требуется, но окончательный вывод сможешь сделать только ты сам
52 Riko669
 
14.11.16
17:59
Хорошо, учту тоже
53 Riko669
 
14.11.16
17:59
Попробую по изменять, как предложили
54 Riko669
 
14.11.16
18:02
Garykom, ссылка "Элементы модели "сущность-связь" - это же ервин, с ним у меня все в порядке и ранее проблем не возникало)