|   |   | 
| 
 | Надо вставить данные в строку | ☑ | ||
|---|---|---|---|---|
| 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 | 
        вроде теперь доходит     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |