К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

БП 3.0 дополнительные реквизиты

0 - 14.04.2017 - 05:30
В БП 3.0 завел дополнительный реквизит у справочника "Контрагенты", тип булево. Выставил "Истина" двум контрагентам, все сохраняется, где надо использую, все прекрасно работает. Но флажки регулярно слетают в "Ложь", уже несколько раз Когда это происходит, непонятно. Грешил на процесс установки обновлений, еще раз проверю, но вроде они не причем. Кто-нибудь сталкивался с такой фигней ?


1 - 14.04.2017 - 09:48
Конфигурация стандартная?
2 - 14.04.2017 - 09:59
0-USSR > Обмен с УТ ?
Гость
3 - 14.04.2017 - 10:13
Так "флажки слетают" (меняется значение) или удаляется реквизит?
Гость
4 - 14.04.2017 - 10:26
0-USSR > И вообще, ты извращенец :) - "тип булево" довольно странен именно для дополнительного реквизита: его (реквизита) наличие само по себе является булевым значением: мёд или есть, или его уже/ещё нет.
5 - 14.04.2017 - 11:04
Слетает значение, проверил - не при обновлении
(4)не понял в чем извращение. Мне надо выделить двух покупателей.
Обмена с УТ нет. Конфигурация слегка подправленная, но справочник контрагентов на замке и изменения никак его не касаются
Гость
6 - 14.04.2017 - 11:32
5-USSR > Слетает, значит... Наиболее вероятно - при записи.
Возможно, косяк БСП: не различаются состояния "Ложь" и "Отсутствие реквизита". Жалуйся разработчикам.

"Извращение" в том, что ты хочешь ввести переключатель "Да-Нет", а фактически получается "Да-Нет-ХЗ".
Избегай неопределеностей.
7 - 14.04.2017 - 12:48
(6)Так никто не открывает карточки этих контрагентов и не записывает. Я не понял все-так про "да,нет,хз"
В чем неопределенность и как добавить реквизит правильно ? Мне нужен флажок, чтобы выделить нескольких контрагентов из остальных. Ну, например, [X]Особенный
Гость
8 - 14.04.2017 - 13:29
7-USSR > Ну так и введи строковый реквизит. И пиши в нем "Х". "Особенный", "Любимый", ...
И этот реквизит будет иметь какое-то значение. Даже если нет записи (NULL).
Но тебе придется самому это как-то обрабатывать.
Не создавай неопределенности. Вводи строку. И настучи юзерам в тыковку правило: "Ввод пустой строки удаляет реквизит".
Uho
9 - 14.04.2017 - 13:40
0-USSR > ну так посмотри по ЖР как изменяется контрагент. Ведь дополнительный реквизит храниться в ТЧ объекта.
Гость
10 - 14.04.2017 - 14:15
9-Uho > Не хранится реквизиты "в ТЧ объекта". Там могут хранятся ссылки. А могут и не хранятся.
В отличии от реквизита "классической" ТЧ: сразу считывается вся запись со всеми полями, при записи записываются все поля, даже если их никто не формировал (вместо текста - пустая строка, булево - ЛОЖЬ, число - 0, и т.д.). Включишь в менеджер проверку на какие-то условия - получишь прерывание. Нет - значит нет.
А вот значение дополнительного реквизита надо искать отдельно. Пошарить по Плану видов характеристик. По регистру сведений потом. И в сабжевом случае получим что-то булево. Одно и двух. Если есть этот дополнительный реквизит.
А что мы получим, если этого (сабжевого) реквизита нет?
Вопрос.
Собственно, что задумано в данном случае: поставить булеву пометку в знак того, что-то находится в голове пользователя. Или на промакашке написано. Или ничего, ибо у пользователя склероз, а промакашку уборщица выкинула.

Подозреваю, что подобная "потребность" не пришла в голову разработчикам ;)
11 - 14.04.2017 - 14:39
Длрлднительный реквизит достается через ПланВидовХарактеристик, есть даже функция в общих модулях, которая для объекта возвращает массив дополнительных реквизитов, потом нужный еще нужно искать. А у меня слетает зряче, в форме контрагента. А флажок этот не просто пометка, а нужен ) Я конечно могу переделать на "Общий реквизит", я точнее уже сделал, но вот общий реквизит спрятан, его не видно без доработки формы элемента справочника. Хотелось типовым механизмом. И он работает, и все получается, пока флажок не слетит ) Но кто-то тли что-то же его сбрасывает )
(10)Когда я "тащу" значение реквизита, то там и определяется третья ситуация, это либо массив пустой, либо в нем нет реквизита с нужным именем. А если он есть, то уже Истина/ложь. С этим то проблем не было
Гость
12 - 14.04.2017 - 14:47
Функция СвойствоДополнительногоРеквизита(ИмяРеквизита,Назв Справочника) Экспорт //VZ
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Свойство.Ссылка,
| Свойство.Наименование,
| Свойство.ТипЗначения,
| Свойство.Заголовок
|ИЗ
| ПланВидовХарактеристик.ДополнительныеРеквизитыИСве дения КАК Свойство
|ГДЕ
| НЕ Свойство.ПометкаУдаления
| И НЕ Свойство.ЭтоДополнительноеСведение
|";

НачатьТранзакцию();
Попытка
Выборка = Запрос.Выполнить().Выбрать();
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
СвойствоСсылка = Неопределено;
Пока Выборка.Следующий() Цикл
СвойствоНаименование = ВРЕГ(Выборка.Наименование);
Если Найти(СвойствоНаименование,Врег(ИмяРеквизита))<>0 И Найти(СвойствоНаименование,Врег("("+НазвСправочник а+")"))<>0 Тогда
Возврат Выборка.Ссылка
КонецЕсли;
КонецЦикла;
Возврат СвойствоСсылка
КонецФункции
13 - 14.04.2017 - 14:51
УправлениеСвойствами.ПолучитьЗначенияСвойств(ТребО бъект, Истина, Ложь);
14 - 14.04.2017 - 14:52
а зачем выборка в транзакцию обернута ?
Гость
15 - 14.04.2017 - 15:25
14-USSR > Мне не жмет в данном случае ;)
13-USSR > Угу. Хорошо, коль знаешь. А мне искать надо было в этих макаронах под названием Общие модули. Как, по словосочетанию "ДополнительныеРеквизитыИСведения"? Нехилый списочек вылез... Плюнул ;)
Гость
16 - 14.04.2017 - 15:43
+(15) Тут (в БСП-ном модуле) еще результат надо распаковывать, а меня интересовал конкретный идентификатор.
17 - 14.04.2017 - 16:09
(15)Искать в общих модулях, которых сотни, и под сотню "не использовать" становится уже уделом избранных ) Так все таки промышленные продукты не делаются ) Но меня сейчас конкретный случай интересует, я конечно еще понаблюдаю
Гость
18 - 14.04.2017 - 17:37
17-USSR > Ну почему "не использовать" ;) Я использовал структуру, уже имеющейся после открытии формы объекта. И эта структура была получена штатными средствами именно УправлениеСвойствами.ПолучитьЗначенияСвойств
Причем доп.реквизит принадлежал не основному объекту, а объекту ТЧ. Работает...

А тебе советую не бодаться с БСП, а просто ввести ДР "Маркер" типа строка длиной в 1 символ.
19 - 14.04.2017 - 18:16
Не пойму я все-таки, чем строковый ДР лучше булевого )
Гость
20 - 14.04.2017 - 18:22
19-USSR > Всего два состояния: либо символ, либо Неопределено
Uho
21 - 14.04.2017 - 18:49
10-VZ > значение реквизита хранится в ТЧ объекта, а у USSR слетает именно значение.
22 - 14.04.2017 - 19:02
(20) +
(10) +
Допреквизиты вместе со своими значениями "живут" в ТЧ объекта. Так что в ЖР

Отредактировано roma n; 14.04.2017 в 19:03. Причина: пропуск
23 - 14.04.2017 - 19:16
Да, живут они в ТЧ "ДополнительныеРеквизиты", попробую что-нибудь выловить, но как то странно это все, c программой работает бух и ему нафиг не надо это менять, она и знать не знает про реквизит
24 - 14.04.2017 - 19:45
Посмотрел жо по одному элементу. Вопреки моему убеждению, он регулярно менялся бухом и редко мной (я восстанавливал флажок). Включу хранение изменений у справочника и посмотрю, может что и выловлю. Сам для пробы поменял пару раз, при установке в "ложь" ДР удаляется из ТЧ. Но важно понять что с ним бух делает и зачем. Вот засада )
25 - 21.04.2017 - 16:04
Разгадка как всегда проста и банальна. Ведь спрашивал же меня умный человек - "Есть обмен с УТ 10.3"? И я ведь ответил - нет, и ведь правда - нет, не соврал. Но ведь есть обмен ТИС -> БП 3.0,который сам писал ...и при импорте чистятся табличные части справочников, где и сидит на жердочке мой флажок и ждерт очередного уничтожения. Всем приношу извинения за беспокойство и свою тупость.


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены