|
Надо вставить данные в строку | ☑ | ||
---|---|---|---|---|
0
sr_deadman
16.12.12
✎
20:01
|
Я должен взять данные из констант из общего модуля и вставить в прграмный код как сделать
отсюда взять --------------------------- Процедура Время(Час,Минута,Секунда) Экспорт Час = Час(Константы.НачалоРабочегоДня.Получить()); Минута = Минута(Константы.НачалоРабочегоДня.Получить()); Секунда = Секунда(Константы.НачалоРабочегоДня.Получить()); КонецПроцедуры ОбщийМодульСервер.Время(Час,Минута,Секунда); --------------------------- и вставить в --------------------------- Процедура ПередНачаломРаботыСистемы(Отказ) Если ТекущаяДата()<Дата(Год,Месяц,День,Час,Минута,Секунда) ИЛИ ТекущаяДата()>Дата(Год,Месяц,День,Час,Минута,Секунда) Тогда Отказ=Истина; КонецЕсли; КонецПроцедуры -------------------------- |
|||
1
Wobland
16.12.12
✎
20:06
|
ты лучше исходную задачу обозначь
|
|||
2
Wobland
16.12.12
✎
20:06
|
и я никому не расскажу, что я увидел в ЛК
|
|||
3
sr_deadman
16.12.12
✎
20:07
|
Профессиональное программирование в 1С:Предприятии 8.х
www.Spec8.ru Базовый курс Домашнее задание №5. Блок 1. Необходимо хранить время начала и окончания рабочего дня предприятия в константах. Создайте справочник «Варианты обедов». Занесите в него предопределенные элементы • Рыба; • Мясо; • Курица. Создайте роль, которая будет содержать права на все объекты. Для роли отметьте признак установки полных прав на новые объекты. В списке пользователей создайте двух пользователей с полными правами: Администратор и Менеджер. Создайте справочник «Пользователи», в нем определите реквизит «Администратор» булевского типа. Создайте справочник «ОбедыПользователей», подчиненный «Пользователям». Определите реквизиты: • Дата; • Вариант обеда (ссылка на соответствующий справочник). Справочник «Пользователи» должен автоматически синхронизироваться со списком пользователей. Для этого при старте приложения проверяйте есть ли текущий пользователь в справочнике. Если нет, его нужно программно добавить. Опираясь на эти данные, модифицируйте алгоритмы домашнего задания №4: • Проверка при входе и выходе и диалог о запросе обеда не должны осуществляться для пользователей с флагом «Администратор»; • Время работы предприятия берется из констант; • Варианты обеда выбираются из одноименного справочника, но выбирать нужно элементы, не помеченные на удаление; • Результат выбора пользователя записывайте в справочник «ОбедыПользователей». При выборе нескольких вариантов выполняйте запись нескольких элементов справочника; • Вопрос о выборе обеда должен задаваться только в том случае, если ранее пользователь не выбирал обед. Например, при первом входе в систему пользователь указал вариант обеда, тогда при втором запуске в эту же дату вопрос задавать не следует. Работоспособность конфигурации в режиме обычного приложения поддерживать не требуется. |
|||
4
sr_deadman
16.12.12
✎
20:08
|
2 ая задача
|
|||
5
Wobland
16.12.12
✎
20:08
|
(3) ты думаешь, мне охота в там искать место про время входа?
|
|||
6
sr_deadman
16.12.12
✎
20:12
|
ну помоги пожалиуста целый день над этой задачей мучаюсь я пока обучаюсь 1с мне вот это задание дали заранее благодарен
|
|||
7
Wobland
16.12.12
✎
20:14
|
(6) задачу назови. как там время входа контролировать надо? у меня в соседнем окне работа открыта
|
|||
8
sr_deadman
16.12.12
✎
20:36
|
Время работы предприятия берется из констант;
|
|||
9
sr_deadman
16.12.12
✎
20:37
|
отсюда взять
--------------------------- Процедура Время(Час,Минута,Секунда) Экспорт Час = Час(Константы.НачалоРабочегоДня.Получить()); Минута = Минута(Константы.НачалоРабочегоДня.Получить()); Секунда = Секунда(Константы.НачалоРабочегоДня.Получить()); КонецПроцедуры ОбщийМодульСервер.Время(Час,Минута,Секунда); |
|||
10
sr_deadman
16.12.12
✎
20:37
|
и вставить в
--------------------------- Процедура ПередНачаломРаботыСистемы(Отказ) Если ТекущаяДата()<Дата(Год,Месяц,День,Час,Минута,Секунда) ИЛИ ТекущаяДата()>Дата(Год,Месяц,День,Час,Минута,Секунда) Тогда Отказ=Истина; КонецЕсли; КонецПроцедуры -------------------------- |
|||
11
Ork
16.12.12
✎
20:38
|
(9) В чем трудность? Как достать чч, мм, сс из серверного модуля?
|
|||
12
sr_deadman
16.12.12
✎
20:41
|
достать из констант и вставить в програмный код
|
|||
13
Ork
16.12.12
✎
20:44
|
Должно выглядеть примерно так :
Процедура ПередНачаломРаботыСистемы(Отказ) Перем Год, Месяц, День, Час, Минута, Секунда; //Год, Месяц, День берем из ТекущаяДата() или откуда там тебе нужно Год = Год(ТекущаяДата()); Месяц = Месяц(ТекущаяДата()); День = День(ТекущаяДата()); //Остальное из констант ОбщийМодульСервер.Время(Час,Минута,Секунда); //Теперь у нас есть все компоненты эталонной даты //можем начинать проверку //можно вставить твой код Если ТекущаяДата()<Дата(Год,Месяц,День,Час,Минута,Секунда) ИЛИ ТекущаяДата()>Дата(Год,Месяц,День,Час,Минута,Секунда) Тогда Отказ=Истина; КонецЕсли; КонецПроцедуры |
|||
14
Ork
16.12.12
✎
20:47
|
+ (13) Для удобочитаемости лучше ввести еще одну переменную.
примерно так (после получения всех компонент) ЭталоннаяДата = Дата(Год,Месяц,День,Час,Минута,Секунда); //Проверка будет более наглядной Если ТекущаяДата() < ЭталоннаяДата ИЛИ ТекущаяДата() > ЭталоннаяДата Тогда Отказ=Истина; КонецЕсли; |
|||
15
sr_deadman
16.12.12
✎
20:50
|
просто так час минуту секунду объявлять нельзя это уже было это 4 - ое задание а это пятое надо взять из констант и вставить в програмный код
|
|||
16
Ork
16.12.12
✎
21:00
|
(15) Еще раз.
Брать нужно из серверного модуля или из констант? |
|||
17
sr_deadman
16.12.12
✎
21:01
|
из констант
|
|||
18
Ork
16.12.12
✎
21:02
|
(16) Если из констант - перенеси текст из серверного мудуля в ПередНачаломРаботыСистемы и не делай людЯм моск.
Год = Год(ТекущаяДата()); Месяц = Месяц(ТекущаяДата()); День = День(ТекущаяДата()); Час = Час(Константы.НачалоРабочегоДня.Получить()); Минута = Минута(Константы.НачалоРабочегоДня.Получить()); Секунда = Секунда(Константы.НачалоРабочегоДня.Получить()); ЭталоннаяДата = Дата(Год,Месяц,День,Час,Минута,Секунда); Усе. |
|||
19
sr_deadman
16.12.12
✎
21:06
|
ок так сделаю спасибо
|
|||
20
sr_deadman
16.12.12
✎
21:10
|
а из сервера как
|
|||
21
Ork
16.12.12
✎
21:13
|
(20) Таки базар за управляемое приложение?
|
|||
22
sr_deadman
16.12.12
✎
21:16
|
Константа берется из общих модулей
|
|||
23
sr_deadman
16.12.12
✎
21:16
|
---------------------------
Процедура Время(Час,Минута,Секунда) Экспорт Час = Час(Константы.НачалоРабочегоДня.Получить()); Минута = Минута(Константы.НачалоРабочегоДня.Получить()); Секунда = Секунда(Константы.НачалоРабочегоДня.Получить()); КонецПроцедуры |
|||
24
Ork
16.12.12
✎
21:17
|
+ (21) Тогда в том же модуле, где и ПередНачаломРаботыСистемы :
&НаСервере Функция ПолучитьЭталонныйЧас() Возврат Час(Константы.НачалоРабочегоДня.Получить()); КонецуФункции //тоже самое для получения минут, секунд В ПередНачаломРаботыСистемы Час = ПолучитьЭталонныйЧас(); Минута = ... |
|||
25
sr_deadman
16.12.12
✎
21:17
|
ОбщийМодульСервер.Время(Час,Минута,Секунда);
|
|||
26
Ork
16.12.12
✎
21:19
|
(22) Константа не "берется из общих модулей". В общем модуле можно получить ее значение и вернуть куда нужно. Точно также значения констант можно получать и не из общих модулей.
|
|||
27
sr_deadman
16.12.12
✎
21:19
|
вроде теперь доходит
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |