Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как задать тип реквизита при выборе?

Как задать тип реквизита при выборе?
Я
   Мисти
 
19.03.19 - 20:56
Документ-основание может быть 4 типов, но если он не выбран, но выбрать его можно только одного типа.
Как это ограничить?
Процедура ДокументОснованиеНачалоВыбора(Элемент, СтандартнаяОбработка)
Если Элемент.Значение = Неопределено Тогда    

и как тип определить? Чтобы избавиться от предложения выбрать тип один из 4?
 
 
   lubitelxml
 
1 - 19.03.19 - 21:01
ОписаниеТипа = Новый ОписаниеТипов("Число");
ПолеВвода1 = ОписаниеТипа.ПривестиЗначение(ПолеВвода1);
ЭлементыФормы.ПолеВвода1.ВыбиратьТип = Ложь;

вместо "Число" напиши ДокументСсылка.Х
   Мисти
 
2 - 19.03.19 - 21:03
Вах. Спасибо.
   МимохожийОднако
 
3 - 19.03.19 - 21:06
ОФФ: Миста-СП рулит
   Мисти
 
4 - 19.03.19 - 21:11
Там всё самодельное, открывается документ, форма "список выбора", но кнопки "выбрать там нет. Это тоже надо как-то руками писать?
   palsergeich
 
5 - 19.03.19 - 21:12
(4) да
ищи свойство ограничение т\ипа
   Мисти
 
6 - 19.03.19 - 21:22
Ограничит тип удалось, даже отбор сработал. Вижу свой документ, но не могу его выбрать!
Нет такой кнопке в списке выбора. Я думала - "оно само!"
   Мисти
 
7 - 19.03.19 - 21:53
Вставила стандартную кнопку "выбрать", но она не работает.
Всё равно - открывается документ на просмотр.
   palsergeich
 
8 - 19.03.19 - 23:05
(7) Ты тформу списка или выбора открыла?
   Мисти
 
10 - 20.03.19 - 01:32
Всё равно документ не выбирается, а открывается!
ФормаВыбора =Документы.ОбъектныйЛист.ПолучитьФормуВыбора(,Элемент,);


ОтборЭлемента=ФормаВыбора.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = Контрагент;


ФормаВыбора.ОткрытьМодально();
   Mankubus
 
11 - 20.03.19 - 06:04
(10) почитай в СП про РежимВыбора
   МимохожийОднако
 
12 - 20.03.19 - 07:31
(11) ОФФ. Ты с ума сошёл? ))
   Мисти
 
13 - 20.03.19 - 22:02
ау?
   Мисти
 
14 - 20.03.19 - 22:08
Спасибище!!! (11)
   МимохожийОднако
 
15 - 20.03.19 - 23:08
(14) Ты меня порадовала этим
   Мисти
 
16 - 21.03.19 - 22:48
&НаСервере
Процедура КонтрагентОбработкаВыбораНаСервере()
    КурирующийМенеджер = Rem.ПолучитьОсновногоМенеджераПокупателя(, Объект.Контрагент);
    Объект.КурирующийМенеджер = КурирующийМенеджер.ФизЛицо;
    Объект.МенеджерПоПродажам = КурирующийМенеджер.ФизЛицо// Юля март 2019

КонецПроцедуры

&НаКлиенте
Процедура КонтрагентОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    КонтрагентОбработкаВыбораНаСервере();
КонецПроцедуры

Пришла беда, откуда не ждали.
Почему-то перестала программа попадать "на сервер", и, вроде, дело не в отладчике - ни так и ни сяк - не отрабатывает.
   palsergeich
 
17 - 21.03.19 - 22:52
(16) По листингу очень похоже именно на отладку.
Почисти кеш, бывает такое.
   Мисти
 
18 - 21.03.19 - 22:56
В копии попадает, а в рабочей версии нет.
   palsergeich
 
19 - 21.03.19 - 22:58
(18) Ну а кто тебе сказал что в рабочей базе включена отладка?
+ чистку кеша таки сделай
   palsergeich
 
20 - 21.03.19 - 22:59
Точнее включена отладка на сервере
   Мисти
 
21 - 21.03.19 - 23:02
Так и не попадает и не отрабатывает.
   palsergeich
 
22 - 21.03.19 - 23:03
Поставь точку останова в модуле сеанса и перезапусти отладку.
Если остановится - значит отладка на сервере есть. Давай начнем с этого
   Мисти
 
23 - 21.03.19 - 23:18
Ага, может, и отключили - то включают, то выключают.
   palsergeich
 
24 - 21.03.19 - 23:22
(23) Но рекомендую кеш почистить, просто удали базу из списка и добавь, редко но бывает, что изза кеша отладка не работает
   Мисти
 
25 - 21.03.19 - 23:25
Ну не важно - попадает-не попадает - не отрабатывает кусочек на рабочем сервере. А на запасном - пожалуйста.
   palsergeich
 
26 - 21.03.19 - 23:28
(25) Может он и отрабатывает, но вот этот кусок Rem.ПолучитьОсновногоМенеджераПокупателя(, Объект.Контрагент) возвращает не то что на тестовом
   palsergeich
 
27 - 21.03.19 - 23:29
Например пустую ссылку и тогда будет казаться что код не работает
   Мисти
 
28 - 21.03.19 - 23:30
Так по тому же объекту! Пока загадки одни.
   palsergeich
 
29 - 21.03.19 - 23:32
(28) И что, я же не вижу что там в коде Rem.ПолучитьОсновногоМенеджераПокупателя(, Объект.Контрагент)
Но по своему опыту - обращение к какому нибудь регистру сведений.
А там к примеру сегодня этого менеждера уволили или перевели и привет пустая ссылка
   Мисти
 
30 - 21.03.19 - 23:33
Теоретически - да, но практически - нет.
 
 Рекламное место пустует
   Мисти
 
31 - 21.03.19 - 23:34
И, главное, там тоже работала 2 дня назад! И я в тот документ лазила, но не в этом месте!
Убей, не пойму, что могло случиться.
   palsergeich
 
32 - 21.03.19 - 23:35
(30) Я не могу с Вами на эту тему спорить, потому что не вижу листинга.
Но могу Вас заверить, что чудес не бывает. Если код залит в базу и база обновлена - то ищи разницу в данных.
Экзотику пока не рассматриваем, там как правило не одно место отваливается.
   palsergeich
 
33 - 21.03.19 - 23:35
Есть еще вариан с расширениями)
   Мисти
 
34 - 21.03.19 - 23:52
Попроще вопрос! Как мне получить таблицу товаров текущую? До сохранения?
Т.е. Объект.Товары - не годится.
   palsergeich
 
35 - 21.03.19 - 23:53
Событие передЗаписью запрос в БД. Там будут лежать данные до модификации документа
   palsergeich
 
36 - 21.03.19 - 23:54
Ну или любой момент ДО сохранения запросом.
   Мисти
 
37 - 22.03.19 - 00:00
Товары.Выгрузить(,"ХарактеристикаНоменклатуры,Номенклатура, Количество") - не то.
Надо как-то из формы.
   Мисти
 
38 - 22.03.19 - 00:00
Мне наоборот нужно что я вижу, а не что сохранено.
   Мисти
 
39 - 22.03.19 - 00:03
ЭтаФорма.Товары - тоже дает то, что уже сохранено.
   palsergeich
 
40 - 22.03.19 - 00:04
Давай уточним.
В какой момент тебе это надо?
   palsergeich
 
41 - 22.03.19 - 00:05
Вот есть какой то документ.
Ты внесла туда изменения
Нажала кнопку сохранить
работаешь дальше

В какой момент времени ты находишься и что то хочешь узнать?
   Мисти
 
42 - 22.03.19 - 00:13
Я еще не нажала кнопку сохранить (ну или нажала), и мне нужно до сохранения проверить количество товара в таблице. А вообще, его нужно проверять при каждом изменении строчки. По всему документу.
   Мисти
 
43 - 22.03.19 - 00:23
Товары.Выгрузить(,"ХарактеристикаНоменклатуры,Номенклатура, Количество") - вроде, нормально, это я что-то путаю.
   palsergeich
 
44 - 22.03.19 - 00:32
Запрос = Новый Запрос;
Запрос.Текст = "Выбрать * из Документы.МойДокумент.имяТЧ где Ссылка = &Ссылка"
Запрос.УстановитьПараметр("Ссылка", объект.Ссылка);
ТаблицаДо = Запрос.Выполнить().Выгрузить();
   palsergeich
 
45 - 22.03.19 - 00:33
Это если от руки по быстрому
   Dmitriy_ Kolesnikov
 
46 - 22.03.19 - 10:09
А не проще при открытии документа в дополнительные свойства копировать табличные части, а в обработке заполнения уже с этими сохраненными заранее таблицами сравнивать?


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.