Имя: Пароль:
1C
1С v8
Как правильно поставить дату в условии?
,
0 GaikA_13rus
 
03.04.13
09:27
Помогите пожалуйста. Есть справочник с полем ввода. Нужно чтобы для пользователя это поле можно было менять только до 5-го числа текущего месяца. Сделала вот такое условие:

Если РольДоступна ("ИгорьОлегович") Тогда
Если Дата < (НачалоМесяца(ТекущаяДата() ) + 5 * 86400)
Тогда
ЭлементыФормы.ПоКонтрагену.ТолькоПросмотр = Истина;
Иначе
ЭлементыФормы.ПоКонтрагену.ТолькоПросмотр = Ложь;
КонецЕсли;
КонецЕсли;

Только вот он работает не так как надо. Если я оставляю так то он мне вообще не дает менять. А если убираю (+ 5 * 86400) тогда можно. Почему так?
1 Wobland
 
03.04.13
09:29
жди 6го, тогда даст
2 forforumandspam
 
03.04.13
09:29
3 Галахад
 
гуру
03.04.13
09:29
Прикольная роль.

Что такое "Дата"?
4 Wobland
 
03.04.13
09:29
(2) ага. я там в (3) отметился ;)
5 Крутил_
Вертел_1С
 
03.04.13
09:30
Если РольДоступна ("ИгорьОлегович") Тогда

просто в голос!
6 PCcomCat
 
03.04.13
09:30
Если День(Дата) < 5 тогда
7 Wobland
 
03.04.13
09:31
(3) (5)  вы ещё почитайте, почему так ;)
(6) а текущий месяц?
8 salvator
 
03.04.13
09:32
(0) Отладчик запускали?
9 GaikA_13rus
 
03.04.13
09:33
Ну помогите пожалуйста ((( Вы же наверное знаете как правильно написать ((( Уже третий день мучаюсь (((
10 PCcomCat
 
03.04.13
09:33
(7)А самим слабо додуматься???

Если День(Дата) < 5 И НачалоМесяца(Дата) = НачалоМесяца(ТекущаяДата()) тогда
11 Wobland
 
03.04.13
09:38
(10) да не, я уже высказался
12 ICWiner
 
03.04.13
10:00
Если Дата < (НачалоМесяца(ТекущаяДата() ) + 5 * 86400)
Тогда
ЭлементыФормы.ПоКонтрагену.ТолькоПросмотр = Истина;
Иначе
ЭлементыФормы.ПоКонтрагену.ТолькоПросмотр = Ложь;
КонецЕсли;
Тебя самого это не смущает? Если <, то ТОЛЬКО ПРОСМОТР. Наоборот условие надо ставить.
13 Cyberhawk
 
03.04.13
10:05
А потом меняем дату на компьютере и чхать на любую проверку.
14 Wobland
 
03.04.13
10:05
(13) Игорь Олегович не умеет
15 ICWiner
 
03.04.13
10:05
(13) Зачем ж так сложно? Залазим в конфигуратор -  комментируем условие - профит.
16 ICWiner
 
03.04.13
10:06
(14) lol :)))
17 Jonny_Khomich
 
03.04.13
10:07
(13) у нас на работе домент и правами запрещено менять дату на компе
18 ICWiner
 
03.04.13
10:07
А еще есть групповая обработка.
19 GaikA_13rus
 
03.04.13
10:07
Может мне кто-нибудь поможет за скромную плату? Пишите на почту [email protected]
20 Wobland
 
03.04.13
10:08
(19) инвертируй условие, плин
21 GaikA_13rus
 
03.04.13
10:08
(13) (15) У него нет прав на изменение даты и в конфигураторе у него тоже прав нет.
22 ICWiner
 
03.04.13
10:08
(19) Читай (12). Условие наоборот поставь и все заработает.
23 GaikA_13rus
 
03.04.13
10:14
;(  Если я пишу так:

Если РольДоступна ("ИгорьОлегович") Тогда
       Если ТекущаяДата() > (НачалоМесяца(ТекущаяДата()) + 5 * 86400)
           Тогда
           ЭлементыФормы.ПоКонтрагенту.ТолькоПросмотр = Истина;
       Иначе
           ЭлементыФормы.ПоКонтрагенту.ТолькоПросмотр = Ложь;
       КонецЕсли;
   КонецЕсли;
то у меня ставится запрет по дате на изменение поля.
24 GaikA_13rus
 
03.04.13
10:17
Но проблема в том что там еще и месяца меняются...

И если соответственно пятое число еще не наступило, то пользователь может менять и прошлые месяца... В условии которое я написала в (0) можно было менять только текущий и следующие месяца, а прошедшие нельзя. Как мне объединить эти два условия?
25 GaikA_13rus
 
03.04.13
10:18
Извиняюсь за скудные объяснения. Конфа переписанная, в часности именно этот момент доробатывал программист работающий до меня. И полностью разобраться как это работает я не могу, т.к. знаний не хватает ;(((
26 GaikA_13rus
 
03.04.13
10:20
Повторюсь. Если кто-то может помочь. То я могу заплатить. Ибо сил уже нет разбираться ((( Да и начальник требует чтобы сделала...
27 Fish
 
03.04.13
10:21
(24) А что такое "прошлые месяца"? Ведь у тебя справочник, а не документ?
28 xReason
 
03.04.13
10:21
Если РольДоступна ("Маша")   Тогда
 Игорь = Новое Соедениение(safe);
Конецесли
29 GaikA_13rus
 
03.04.13
10:25
(27) http://s018.radikal.ru/i508/1304/1d/4f5ae7514c36.jpg

При нажатии кнопок назад и вперед соответственно меняется месяц и план. Данные хранятся в регистре сведений.
30 Cyberhawk
 
03.04.13
10:25
(23) вместо "Если ТекущаяДата() > (НачалоМесяца(ТекущаяДата()) + 5 * 86400) Тогда" напиши "Если День(Дата) > 5 И НачалоМесяца(Дата) = НачалоМесяца(ТекущаяДата()) Тогда"
31 Wobland
 
03.04.13
10:25
(27) у ней период (месяц) выбирается на форме
32 GaikA_13rus
 
03.04.13
10:27
(30) Если написать так, то вообще все разрешает менять.
33 Fish
 
03.04.13
10:31
(29) Ну так и сравнивай дополнительно с твоим реквизитом формы (я так понял, что "месяц" у тебя - это реквизит формы), чтобы был текущий месяц.
34 Cyberhawk
 
03.04.13
10:31
(32) истину и ложь местами поменяй тогда ))
35 GaikA_13rus
 
03.04.13
10:33
(34) Теперь ему ничего нельзя менять
36 GaikA_13rus
 
03.04.13
10:36
Что означает:
Перем Дата, стрМесяц, ПланНеобходимоСохранить, НеобходимоИзменитьПланПоГруппе;
37 Cyberhawk
 
03.04.13
10:39
(35) все и ничего - а о чем речь-то? В описании задачи вроде как "Есть справочник с полем ввода"
38 GaikA_13rus
 
03.04.13
10:45
(37) Я с переменами месяцев задачу уже решила. Мне нужно было в условие добавить на текущий месяц ограничение по дате. Поэтому и не стала писать про смены месяцев и т.д.

Т.е. при открытии у меня всегда план открывается на текущий месяц, а уже при смене месяцев соответственно меняется и план. Может мне тогда проще и условия в разные действия проставить. Например при открытии у меня будет одно условие, а при смене месяцев другое? они между собой будут конфликтовать?
39 Cyberhawk
 
03.04.13
10:47
У меня одного картинка на радикале нереально долго открывается?
40 GaikA_13rus
 
03.04.13
11:23
Никто не может помочь?
41 Fish
 
03.04.13
11:27
(38) "они между собой будут конфликтовать?" - нет.
42 lapinio
 
03.04.13
11:29
Почему роль ИгорОлегович а не ИмяПользователя()
43 lapinio
 
03.04.13
11:37
Если МояДата <>Дата(Год(ТекущаяДата),Месяц(ТекущаяДата)05) Тогда ТолькоПросмотр = Ложь
Иначе
ТолькоПросмотр = Истина;
КонецЕсли

а так?
44 PCcomCat
 
03.04.13
12:55
(40)  Ты в (10) смотрела???
45 PCcomCat
 
03.04.13
13:01
(40) А еще единственное, чем могу помочь, так это научить читать. ;)
46 GaikA_13rus
 
04.04.13
10:21
(43) Если Дата > Дата(Год(ТекущаяДата()),Месяц(ТекущаяДата()),5) Тогда
           ЭлементыФормы.ПоКонтрагенту.ТолькоПросмотр = Ложь;
       Иначе
           ЭлементыФормы.ПоКонтрагенту.ТолькоПросмотр = Истина;
       КонецЕсли;


День почему-то все равно не работает.
47 Jonny_Khomich
 
04.04.13
10:30
(46)
Если Дата > Дата(Год(ТекущаяДата()),Месяц(ТекущаяДата()),5) Тогда
           ЭлементыФормы.ПоКонтрагенту.ТолькоПросмотр = Истина;
       Иначе
           ЭлементыФормы.ПоКонтрагенту.ТолькоПросмотр = Ложь;
       КонецЕсли;

Если условие выполняется, делаем только просмотр.
48 Jonny_Khomich
 
04.04.13
10:32
(46) Стаж: 9 мес. - рожать уже пора, а ты до сих пор тупишь.
49 1Сергей
 
04.04.13
10:39
Может, ты F5 забыла нажать?
50 Ctyd
 
04.04.13
10:46
Если РольДоступна ("ИгорьОлегович") Тогда
Если НачалоМесяца(Дата)+ 5 * 86400 < ТекущаяДата()
Тогда
ЭлементыФормы.ПоКонтрагену.ТолькоПросмотр = Истина;
Иначе
ЭлементыФормы.ПоКонтрагену.ТолькоПросмотр = Ложь;
КонецЕсли;
КонецЕсли;

от так попробуй=)
51 1Сергей
 
04.04.13
10:47
А ещё лучше, ТолькоПросмотр  заменить на Доступность, ну и сделать наоборот
52 GaikA_13rus
 
04.04.13
11:04
(49) А я смотрю ты только начинаешь тупить...
53 GaikA_13rus
 
04.04.13
11:04
Всем спасибо. Ничего не работает. (((
54 1Сергей
 
04.04.13
11:05
Поняли, да. Это мы все дураки, оказывается
55 Wobland
 
04.04.13
11:06
(53) можешь постучаться в аську часов через шесть. тут только удалёнка спасёт
56 Cyberhawk
 
04.04.13
12:32
(53) и мне постучи, у меня короче! :о)
Ошибка? Это не ошибка, это системная функция.