Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.79/111: Рейтинг темы: голосов - 111, средняя оценка - 4.79
brymtym
0 / 0 / 0
Регистрация: 09.10.2008
Сообщений: 58
1

Установить значение реквизита

13.09.2011, 18:21. Просмотров 20541. Ответов 9
Метки нет (Все метки)

Здравствуйте. Скорее неприятность чем беда.
Есть один самописный справочник для которого понадобилось написать одну приблуду с периодическими реквизитами. Всё работает, всё чудно, но при изменении этого реквизита 1С предлагает сохранить изменения только на текущую дату. А мне очень надо(бухгалтерия смотрит глазами кота из шрека) что бы при сохранении/закрытии элемента реквизиты сохранялись также как в справочнике Номенклатура например. Т.е. спрашивала бы на какую дату какие реквизиты сохранить.
И ещё, в текущем варианте при закрытии 1С выдаёт окошко "Изменение периодических реквизитов", а в той же Номенклатуре "Запись периодических реквизитов".
1С 7.7. Помогите пожалуйста, не могу что-то понять на что смотреть, куда копать.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2011, 18:21
Ответы с готовыми решениями:

Установить значение реквизита справочника
Пишу курсовую в 1С:Предприятие, 7.7. В обработке документа, в частности, такой код: спр =...

Установить автоматическое заполнение реквизита
Установить автоматическое заполнение реквизита Фирма во всех документах значением по умолчанию...

Изменить значение реквизита справочника
Парни подскажите! Хочу сменить вид номенклатуры с Продукции на Товар, в результате меняется...

Как получить значение реквизита формы в V8.2
Столкнулся с такой проблемой: Есть прикладное решение в V8.1 хочу перевести его на V8.2 В...

Значение реквизита документа записать в справочник
Привет.Народ помогите решиь такую задачку. Есть справочник(Номенклатура, с реквизитом наименование...

9
Дийнеки
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 947
13.09.2011, 18:51 2
Все дело в команде СохранениеПериодическихРеквизитов()
0
vbs
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
13.09.2011, 18:53 3
При сохранении элемента организуй диалог с получением нужной даты,
а в конце процедуры ПриЗаписи() поставь оператор :
ИспользоватьДату(НужнаяДата)
0
brymtym
0 / 0 / 0
Регистрация: 09.10.2008
Сообщений: 58
13.09.2011, 19:33 4
Попробовал СохранениеПериодическихРеквизитов(1, "*"); воткнуть в процедуры ПриЗакрытии() ПриЗаписи() и вешал на кнопку отдельную.
В итоге глухо - никакой реакции. При закрытии также вызывается окно с изменением на текущую дату.
Добавил на форму поле с датой, при сохранении также старое окно.
Я стесняюсь спросить,но у меня в принципе процедура ПриЗаписи() пустая была. Это нормально или там что-то должно быть? ;)
0
13.09.2011, 19:33
vbs
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
13.09.2011, 20:44 5
Цитата Сообщение от bremlin
Я стесняюсь спросить,но у меня в принципе процедура ПриЗаписи() пустая была. Это нормально или там что-то должно быть?
А что стесняться - не знал, вот и спросил ;)
Если надо - ее следует описать в модуле. Если нет - ее может и не быть.
Обычно в ней, например, проверяется, заполнены ли основные реквизиты
0
brymtym
0 / 0 / 0
Регистрация: 09.10.2008
Сообщений: 58
13.09.2011, 21:22 6
Ну а вдруг бы после вопроса словил с десяток *facepalm*-ов
Её в принципе не было. сделал, добавил оба варианта по очереди и увы безрезультатно.

Процедура ПриЗаписи()
СохранениеПериодическихРеквизитов(1, "*");
КонецПроцедуры

также с (5) пробовал(
0
vbs
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
13.09.2011, 22:32 7
Вот 100% работающий кусок из реальной конфигурации :
(Одно отличие - ДатаДействия - реквизит справочника, Процент - периодический реквизит).
Procedure OnWrite()
if EmptyValue(Сотрудник) = 1 then
DoMessageBox("Не указан сотрудник!", 60);
Activate("Сотрудник");
ReturnStatus(0);
Return
endif;
if EmptyValue(ТипБонуса) = 1 then
DoMessageBox("Не указан Тип бонуса!", 60);
Activate("ТипБонуса");
ReturnStatus(0);
Return
endif;
if EmptyValue(Процент) = 1 then
DoMessageBox("Не указан процент!", 60);
Activate("Процент");
ReturnStatus(0);
Return
endif;
UseDate(ДатаДействия);
EndProcedure
0
Дийнеки
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 947
14.09.2011, 12:27 8
СохранениеПериодическихРеквизитов(1, "*"); надо вызвать 1 раз при открытии формы. У меня она стоит в самом конце модуля. Можно в ПриОткрытии().
Смысл в том, что бы программа знала как себя вести к моменту записи.
0
vbs
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
14.09.2011, 14:47 9
Цитата Сообщение от Дайнеко
СохранениеПериодическихРеквизитов(1, "*"); надо вызвать 1 раз при открытии формы. У меня она стоит в самом конце модуля. Можно в ПриОткрытии().
Смысл в том, что бы программа знала как себя вести к моменту записи.
Проверил свой кусок кода
1. СохранениеПериодическихРеквизитов можно вставить явно, можно и на вставлять - диалог все равно появляется
с предложением сохранить на Текущую дату
2. Вне зависимости от п.1 ИспользоватьДату(УстановленнаяДата) отрабатывает как надо, периодические значения устанавливаются
на нужную дату. Неаккуратненько выглядит, ... но работает
0
brymtym
0 / 0 / 0
Регистрация: 09.10.2008
Сообщений: 58
20.10.2011, 15:51 10
Здравствуйте!
Временно перекидывали на другие задачи, поэтому не получалось попробовать описанные варианты!
Сделал, всё получилось. Решил что было бы неправильно не закончить тему)

Помогло вот что:
Ставим кнопочку даты:

Код
Процедура ВыборДаты()
глВвестиДатуПериодическихРеквизитов(Контекст,1);
КонецПроцедуры // ВыборДаты()

Процедура ПриЗаписи()
СтатусВозврата(глБухЗаписьПериодическихРеквизитов(Контекст))
КонецПроцедуры // ПриЗаписи()
Правда теперь выдаёт обе формы сохранения реквизитом, сперва спрашивает какие реквизиты будем сохранять, а потом уже другая форма где и дату поменять можно(хотя она уже указывается кнопкой).

Спасибо вам большое.
0
20.10.2011, 15:51
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2011, 15:51

Получить значение реквизита из не записанного объекта
Доброго времени. Задача: Есть справочник "Номенклатура", у него есть реквизит "Склад". ...

Как присвоить реквизиту ТЧ документа значение реквизита справочника?
Есть справочник "Номенклатура" в нем реквизит РозничнаяЦена, Документ "ПриходнаяНакладная" с...

Как присвоить реквизиту ТЧ документа значение реквизита справочника
Есть справочник Номенклатура, в котором реквизит "Дата выхода" типа Дата И документ "Прием...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru