Имя: Пароль:
1C
 
Ожидается символ ')'
0 alexskorpion
 
27.10.10
09:19
Помогите исправить ошибку!
при выполнении:
Макет.Параметры.ИспытательныйСрокСтрокой = ?(НЕ ЗначениеЗаполнено(Выборка.ИспытательныйСрок),"Без испытательного срока", ВЫБРАТЬ ДобавитьКДате(Выборка.ДатаПриема, "МЕСЯЦ", Выборка.ИспытательныйСрок));

выдает ошибку:
{ОбщийМодуль.СотрудникиОрганизацийПереопределяемый.Модуль(283,135)}: Ожидается символ ')'
           Макет.Параметры.ИспытательныйСрокСтрокой = ?(НЕ ЗначениеЗаполнено(Выборка.ИспытательныйСрок),"Без испытательного срока", ВЫБРАТЬ<<?>> ДобавитьКДате(Выборка.ДатаПриема, "МЕСЯЦ", Выборка.ИспытательныйСрок));   (Проверка: Толстый клиент (обычное приложение))
1 Aloex
 
27.10.10
09:20
"ВЫБРАТЬ ДобавитьКДате(Выборка.ДатаПриема, "МЕСЯЦ", Выборка.ИспытательныйСрок)"
2 Rebelx
 
27.10.10
09:22
(0) посчитай скобки - количество открывающихся должно быть равно количеству закрывающихся
3 Mitriy
 
27.10.10
09:25
(2) да там вообще чушь какая-то...
4 Diabolicum 1C
 
27.10.10
09:25
(0) А что за оператор такой "ВЫБРАТЬ" и что за функция "ДобавитьКДате"? Насколько я знаю это ключевое слово запроса, но тут оно явно используется вне запроса. Так что же должна эта строка вообще делать?
5 Diabolicum 1C
 
27.10.10
09:26
(3) +1
6 alexskorpion
 
27.10.10
09:42
по заданию нужно вывести дату окончания испытательного срока. Делается это так: к дате приема прибавляется испытательный срок в месяцах.
А функцию ВЫБРАТЬ ДобавитьКДате я нашел в справке
7 alexskorpion
 
27.10.10
09:46
вот пример:
ДОБАВИТЬКДАТЕ(<Исходная дата>, СЕКУНДА | МИНУТА | ЧАС | ДЕНЬ | НЕДЕЛЯ | МЕСЯЦ | КВАРТАЛ | ГОД | ДЕКАДА | ПОЛУГОДИЕ, <Величина увеличения>)

Функция предназначена для прибавления к дате некоторой величины.
Примеры:
ВЫБРАТЬ ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2002, 10, 12, 10, 15, 34), МЕСЯЦ, 1)
Результат:
12.11.2002 10:15:34
8 hhhh
 
27.10.10
09:46
(6) вообще-то 2 языка существуют в 1с: встроенный язык и язык запросов. Твоя программа на встроенном языке, а "ВЫБРАТЬ" и "ДобавитьКДате" - это из языка запросов.
9 ivan-black
 
27.10.10
09:47
Тогда уж так надо делать:
Макет.Параметры.ИспытательныйСрокСтрокой = ?(НЕ ЗначениеЗаполнено(Выборка.ИспытательныйСрок),"Без испытательного срока", ДобавитьМесяц(Выборка.ДатаПриема, Выборка.ИспытательныйСрок));

ВЫБРАТЬ - используется в запросах, ДобавитьКДате - тоже в запросах!

Читай внимательно Справку!!!
10 Адинэснег
 
27.10.10
09:49
(0) руки прочь от Конфигуратора!!! Вот так вот юзерам админский пароль давать...
11 Mitriy
 
27.10.10
09:49
(10) а теперь поведай, как ты начинал...
12 Адинэснег
 
27.10.10
09:51
начинал в институте программить по специальности, потом решил податься в 1С, кодить начинал с большой книги Радченко, а не на базе клиента...
13 Megas
 
27.10.10
09:51
(6) Это запросом...
То есть если оч хочется то:
Запрос = новый Запрос();
Запрос.Текст =
"ВЫБРАТЬ ДОБАВИТЬКДАТЕ(&Дата, МЕСЯЦ, 1) как НоваяДата"
Запрос.УстановитьПараметр("Дата",Дата);
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
МояДата = Выборка.НоваяДата;

Но это как то по извращенски =)
А надо
ДобавитьМесяц (AddMonth)
Синтаксис:
ДобавитьМесяц(<Дата>, <Число месяцев>)
Параметры:
<Дата> (обязательный)
Тип: Дата. Исходная дата.
<Число месяцев> (обязательный)
Тип: Число. Количество месяцев, которое необходимо добавить к исходной дате. Если принимает отрицательное значение, то число месяцев вычитается.
Возвращаемое значение:
Тип: Дата. Дата, полученная в результате добавления.
Описание:
Добавляет (или вычитает) к указанной дате заданное число месяцев.
Пример:
МояДата = ДобавитьМесяц(Дата,1);
14 Mitriy
 
27.10.10
09:53
(12) а с чего ты взял, что автор мучает базу клиента?
15 alexskorpion
 
27.10.10
09:53
спасибо получилось))
а можно сделать чтобы к дате приема прибавить месяцы и вычесть 1 день?
16 Megas
 
27.10.10
09:53
(12) Двоечник... =)
Давай я поведаю=)
Я закончил техникум на программиста, и  работал разноробочим, потом попал в франч и развозил "Конслатинг стандарт", а потом ИТС, а потом не было прога а сделать надо было , вот меня и послали к клиенту =)
17 Рэйв
 
27.10.10
09:54
(15)
МинусДень=ТоЧтоПолучилось-86400;
18 Megas
 
27.10.10
09:54
МояДата = ДобавитьМесяц(Дата,1) - 24*60*60
(24*60*60) - это день в секундах
19 Megas
 
27.10.10
09:56
(17) Мда... а потом гадай что за магическое число =)

Кстати можно ещё;
МинусДень = НачалоДня(ТоЧтоПолучилось) -1;
Будет -1 день а время 23:59:59
20 Адинэснег
 
27.10.10
09:56
(16)Ы =) а теперь история ТС
Работаю менеджером, бухгалтер попросила сделать кнопку, потому что я один в фирме в компах разбираюсь. Зашел в яндекс. Попал сюда. Интересное это дело 1С... Щас мне код скинут, если заработает, пойду в программисты :D
21 alexskorpion
 
27.10.10
09:56
я так сделал:
Макет.Параметры.ИспытательныйСрокСтрокой = ?(НЕ ЗначениеЗаполнено(Выборка.ИспытательныйСрок),"Без испытательного срока", ДобавитьМесяц(Выборка.ДатаПриема, Выборка.ИспытательныйСрок)-1);
это правильно?
22 Рэйв
 
27.10.10
09:57
(19)Не надо гадать.Надо запомнить число как отче наш и все:)..
23 ivan-black
 
27.10.10
10:01
(21) Макет.Параметры.ИспытательныйСрокСтрокой = ?(НЕ ЗначениеЗаполнено(Выборка.ИспытательныйСрок),"Без испытательного срока", ДобавитьМесяц(Выборка.ДатаПриема, НачалоДня(Выборка.ИспытательныйСрок)-1)); - Так будет правильно, а ты просто вычел одну секунду...
24 ivan-black
 
27.10.10
10:04
(23) Сорри, не так...
Вот так надо:
Макет.Параметры.ИспытательныйСрокСтрокой = ?(НЕ ЗначениеЗаполнено(Выборка.ИспытательныйСрок),"Без испытательного срока", ДобавитьМесяц(НачалоДня(Выборка.ДатаПриема)-1, Выборка.ИспытательныйСрок));
У тебя ж испытальный срок в месяцах...
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс