|
v7: Дата документа в клюшках (7.7) | ☑ | ||
---|---|---|---|---|
0
shag008
23.07.14
✎
09:22
|
При вводе нового документа необходимо чтобы ДатаДок была пустая. В процедуре ВводНового() пишу ДатаДок = "". Дата всё равно ставится. Возможно очистить дату при вводе нового документа? На вопрос "Зачем?" - так надо. При записи документ будет проверятся на пустую дату.
|
|||
1
tdm
23.07.14
✎
09:23
|
>>ДатаДок была пустая
даже не знаю что и сказать.....зачем? |
|||
2
shag008
23.07.14
✎
09:27
|
(1) чтоб пользователь сам ставил нужную дату. Т.е. при записи документа задумывался на какую дату его записать. В процедуре ПриЗаписи() стоит проверка на пустую дату и выдается соответствующее предупреждение
|
|||
3
ДенисЧ
23.07.14
✎
09:28
|
бред
|
|||
4
1Сергей
23.07.14
✎
09:28
|
(2) можно сделать другой реквизит и играться с его видимостью
|
|||
5
shag008
23.07.14
✎
09:29
|
(3) не спорю
меня сама возможность интересует Или это в платформе зашито? |
|||
6
shag008
23.07.14
✎
09:31
|
(4) скорее всего так и придется. Спасибо.
|
|||
7
ДенисЧ
23.07.14
✎
09:32
|
(5) Да, зашито
|
|||
8
shag008
23.07.14
✎
09:33
|
(7) ок
|
|||
9
kupec
23.07.14
✎
09:38
|
а если попробовать в ПриОткрытии() проверять таким образом
Если Выбран()=0 Тогда ДатаДок=""; КоецЕсли; |
|||
10
oslokot
23.07.14
✎
09:39
|
(0) а это не разве не поможет?
Док.Дата = ПолучитьПустоеЗначение("Дата"); |
|||
11
oslokot
23.07.14
✎
09:40
|
(0) ну или в ПослеСозданияФормы() убирай дату
|
|||
12
shag008
23.07.14
✎
09:43
|
(10) не работает
|
|||
13
kupec
23.07.14
✎
09:43
|
Проверял и так (9) и так (10) не срабатывает, даже если интерактивно удалить дату система не дает править вообще ничего, т.к. не выбрана дата
|
|||
14
kupec
23.07.14
✎
09:44
|
можно ставить дату 01.01.2001 и при сохранении проверять на дату запрета редактирования
|
|||
15
shag008
23.07.14
✎
09:47
|
(14) или так или через доп реквизит
|
|||
16
kupec
23.07.14
✎
09:48
|
решай сам ))
|
|||
17
mishaPH
модератор
23.07.14
✎
09:58
|
(0) датаДок = дата(0);
|
|||
18
shag008
23.07.14
✎
10:02
|
(17) так тоже нет
|
|||
19
Мимохожий Однако
23.07.14
✎
10:05
|
Сделай промежуточную обработку аналогичную форме документа и в ней проставляй дату, а эта обработка при подтверждении будет тебе дальше создавать документ.
ЗЫ. Хотя постановка задачи вызывает удивление. |
|||
20
ProxyInspector
23.07.14
✎
10:05
|
Используй ОбработкаОжидания().
При открытии проверяй Выбран()=0 и один раз запускай процедуру с ДатаДок = "" |
|||
21
mishaPH
модератор
23.07.14
✎
10:05
|
значит это невозможно. зашито на уровне платформы после открытия формы. если дата не назначена назначить рабочую.
|
|||
22
mishaPH
модератор
23.07.14
✎
10:06
|
при вводе нового назнач например 01.01.01. при записи проверяй. чтобы такой даты небыло
|
|||
23
polOwnik
23.07.14
✎
10:07
|
(18)
Попробуй ДатаДок=''; |
|||
24
shag008
23.07.14
✎
10:07
|
(22) см (14) и (15)
Всем спасибо |
|||
25
shag008
23.07.14
✎
10:07
|
(23) так в (0) написано. Не работает
|
|||
26
polOwnik
23.07.14
✎
10:09
|
(25)
Не "", а 2 символа '. |
|||
27
shag008
23.07.14
✎
10:12
|
(19) постановка задачи следующая - есть документ, который устанавливает цены, которые выгружаются на кассы (сторонее ПО, не 1С). Документ можно записывать в будущих датах, т.е. заранее установить цену допустим, на 30 июля. Цены ставятся на дату документа. Директор хочет, чтоб менеджер, при установке цен, задумался на какую дату её устанавливает, а не тупо проводил документ текущей датой. Уменьшить ошибки ввода.
|
|||
28
shag008
23.07.14
✎
10:13
|
(26) нет
|
|||
29
1Сергей
23.07.14
✎
10:13
|
(27) Можно ещё при записи нового документа делать ВвестиДату
|
|||
30
АЧтоТакое1С
23.07.14
✎
10:49
|
(27) Мне кажется самый правильный вариант - это дополнительный реквизит на форме ДатаДок1. А ДатаДок убрать с форы. Ну и соответственно прописать нужные проверки с этой датой.
|
|||
31
АЧтоТакое1С
23.07.14
✎
10:50
|
+(30) Тогда для пользователя вообще ничего не изменится (кроме того, что при создании нового документа дата будет пустая)
|
|||
32
aqua80
24.07.14
✎
23:05
|
Парни, ну Вы чего!?
Пустая дата в семерке - не Дата("") или Дата(0), а Дата(0,0,0) Курите мануал http://www.about1c.ru/v77/language-reference/system/data-types-functions/function-date |
|||
33
Злопчинский
25.07.14
✎
02:15
|
(32)
?(Дата(0,0,0)=ПолучитьПустоеЗначение("Дата"),1,0) = 0 . ??? |
|||
34
1Сергей
25.07.14
✎
08:15
|
(33) хотел сказать, что нельзя сравнивать с пустым значением, но:
?(Дата(0,0,0)=Дата(0,0,0),1,0) = 1 ?(ПолучитьПустоеЗначение("Дата")=ПолучитьПустоеЗначение("Дата"),1,0) = 1 :) ЗЫ ТипЗначенияСтр(Дата(0,0,0)) = Дата ТипЗначенияСтр(ПолучитьПустоеЗначение("Дата")) = Дата |
|||
35
фобка
25.07.14
✎
08:18
|
(32) пустая дата в семерке это '' или дата(0)
|
|||
36
Рэйв
25.07.14
✎
08:19
|
(0)Уверен, твой механизм, при котором нужна пустая дата можно реализовать по другому
|
|||
37
mishaPH
модератор
25.07.14
✎
08:19
|
(32) И давно?
|
|||
38
фобка
25.07.14
✎
08:20
|
(0) "В процедуре вводнового() пишу" - ну пиши в приоткрытии()
|
|||
39
фобка
25.07.14
✎
08:22
|
Делов то отладчиком пройтись + поиск по тексту модуля 2 минуты, а тема уже 2 дня висит
|
|||
40
1Сергей
25.07.14
✎
08:24
|
(39) тему не читал, но осуждаешь? :)
|
|||
41
фобка
25.07.14
✎
08:27
|
(40) чукча не читатель, чукча писатель ;)
|
|||
42
chelentano
25.07.14
✎
08:42
|
(27) тогда, наверное, было бы логичнее ввести новый реквизит "ДатаУстановкиЦены" и устанавливать цены на эту дату. Таким образом можно будет увидеть, когда был заведён документ и на какую дату он установил цену
|
|||
43
1Сергей
25.07.14
✎
08:45
|
(42) если периодический реквизит устанавливается документом (если правильно устанавливается), то Дата значения всегда равна дате документа
|
|||
44
chelentano
25.07.14
✎
08:47
|
(43) УстановитьРеквизитСправочника(<ЭлементСправочника>,<НазваниеРеквизита>,<Значение>,<ДатаУстановки>,<ИмяТипа>,<Длина>,<Точность>)
<ДатаУстановки> - дата установки нового значения периодического реквизита. Дата установки имеет смысл только для не оперативных документов. |
|||
45
chelentano
25.07.14
✎
08:48
|
(43) Хорошая штука СП, правда?
|
|||
46
1Сергей
25.07.14
✎
09:17
|
(45) молодец, подъипнул. Возьми с полки пирожок
|
|||
47
Duke1C
25.07.14
✎
09:26
|
(42) + при записи документа 3 раза спросить "Вы точно хотите установить цены на эту дату???" для надежности )
|
|||
48
NikVars
25.07.14
✎
09:50
|
(0) Ту дату, что торчит на форме дока - спрячь.
Добавь новый реквизит - сделай его выдимым. Изначально он будет пустым. При записи будешь его проверять. Если дата в новом реквизите указана, то копируй ее в "стандартную дату" и проводи. Доработок - минимум! |
|||
49
Барбариска
25.07.14
✎
10:15
|
ДатаДок = Дата(-1)
В процедуре ВводНового() И все ) Только конечно ничего пользователю редактировать не даст, пока дату документа не заполнит правильно. |
|||
51
Ёпрст
25.07.14
✎
11:02
|
(49) можно и так
ДатаДок = Дата(0,0,0); |
|||
52
Ёпрст
25.07.14
✎
11:03
|
Хотя, это кто-то уже предлагал тут..
|
|||
53
Барбариска
25.07.14
✎
12:16
|
(51) забавно, всегда считала, что Дата(0) и Дата(0,0,0) это одно и то же ) оказывается, Дата(0,0,0) это как раз и есть Дата(-1)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |