Базовый курс. Домашнее задание №1

Первое задание по 0-му блоку базового курса.

Для выполнения рекомендуется изучить следующие главы 0-го блока.
Глава 1. Развитие линейки «1С:Предприятие 8»
Глава 2. Базовые понятия
Глава 3. Установка платформы и конфигураций
Глава 4. Общие сведения о платформе
Глава 5. Список информационных баз
Глава 6. Пользовательский режим
Глава 7. Базовые приемы работы в конфигураторе
Глава 8. Средства разработчика
Глава 9. Объекты
Глава 10. База данных
Глава 11. Программный код
Глава 12. Примитивные типы данных

К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь. Если Вы оплачивали курс, у Вас активирован токен доступа, Вы залогинены, но Вы видите эту запись — напишите нам на e-mail поддержки.

комментариев 146 на “Базовый курс. Домашнее задание №1”

  1. stevelagory 12.12.2010 в 01:20

    Добрый день, реализовл задание с отдельной функцией XOR. Понравилось решение преподавателя, красивое!
    Привожу свой код:
    <code>
    &НаКлиенте  
    Функция XOR( Л1, Л2 )
    Возврат ( Л1 И НЕ Л2 ) ИЛИ ( НЕ Л1 И Л2 ) ;
    КонецФункции // XOR()

    &НаКлиенте 
    Функция РазрешенаПродажа( ВидКлиента, СортТовара )
    Возврат XOR( ВидКлиента = “VIP”, СортТовара <> “Высший” ) ;
    КонецФункции // РазрешенаПродажа()

    &НаКлиенте
    Процедура ОбработкаЗаданияN1(Команда)
    //Сообщить( РазрешенаПродажа( “Постоянный”, “Высший” ) ) ;
    //Сообщить( РазрешенаПродажа( “Непостоянный”, “Брак” ) ) ;
    //Сообщить( РазрешенаПродажа( “VIP”, “Брак” ) ) ;
    //Сообщить( РазрешенаПродажа( “VIP”, “Высший” ) ) ;
    КонецПроцедуры
    </code>

  2. красивое решение.  есть куда стремиться.  спасибо)
     

  3. Догоняю. Точно самый последний. Прошел весь нулевой курс две недели назад, но что то затянули заботы и задание решил только сейчас. Функцию РазрешенаПродажа реализовал в виде:
    <code>
    &НаСервере
    Функция РазрешенаПродажа(ВидКлиента, СортТовара)
    Возврат (ВидКлиента = “VIP” И СортТовара = “Высший”) Или (ВидКлиента <> “VIP” И СортТовара <> “Высший”);
    КонецФункции
    </code>

    • ну нет, не самый последний) решение  как у предыдущего оратора. теперь посмотрим вариант мэтров)

  4. Догоняю. Наверное, самая последняя. Решала “в лоб”, почти как авторский первый вариант. Понравилось второе решение, очень изящное :).

  5. Лидия 21.11.2010 в 19:09

    Догоняю догоняющих.  Выполнила.  Авторское решение удивило) И ведь работает!
     

  6. comradeegor 19.11.2010 в 15:08

    Догоняю.

    При решении сделал вид, будто не знаю, что XOR это тоже самое, что не равно, так же сделал вид, что не знаю, что в 1с есть “не равно”.  Сделал всё через операторы И и ИЛИ.

    Функция Ксор(П1, П2)
     Возврат НЕ П1 И П2 ИЛИ П1 И НЕ П2;
    КонецФункции

    А Возврат товара сделал через Ксор
    Функция РазрешенаПродажа(ВидКлиента, СортТовара)
     Возврат Ксор(ВидКлиента = “VIP”, НЕ (СортТовара = “Высший”));  
    КонецФункции // РазрешенаПродажа()

    Хотя на мой взгляд это всё выпендрёж и в таких случаях надо писать через “Если”. Учитывая, что код в 1с на русском языке, в этом случае программный код не отличим от псевдокода и сопровождающий лучше поймёт, о чём идёт речь.

  7. Задание выполнено двумя способами:
    1. С использованием конструкции Если Иначе.
    2.С использованием операторов сравнения
    Функция
    Возврат (ВидКлиента=”VIP” и СортТовара=”Высший”)ИЛИ (НЕ ВидКлиента=”VIP” и НЕ СортТовара=”Высший”)

  8. Андрей 14.11.2010 в 14:01

    Да, к сожалению пошёл по стериотипу через Если :-(

  9. Y_Gavrikov 11.11.2010 в 10:17

    Немного подзадержался с выполнением домашних заданий, но попробую догнать.

    По первому заданию проблем не было. Решение для алгоритма XOR в процедуре ПриСозданииНаСервере() получилось совсем коротким:
    Возврат (ВидКлиента = “VIP”) = (СортТовара = “Высший”);

    В общем виде:
    Функция XOR(Пар1, Пар2)
           Возврат Не Пар1 = Пар2;
    КонецФункции;
     

  10. Андрей 11.11.2010 в 09:39

    Задание выполнил с 4 условиями

  11. Задание выполнил. Из функции РазрешенаПродажа () вызывается функция-аналог XOR : ИсключающееИЛИ()
    Функция ИсключающееИЛИ(ВидКлиента, СортТовара)
    X = ?(ВидКлиента = “VIP”, Истина, Ложь);
    Y = ?(СортТовара = “Высший”, Истина, Ложь);
    Возврат (X И НЕ Y) ИЛИ (НЕ X И Y);
    КонецФункции // ИсключающееИЛИ()

    Функция РазрешенаПродажа(ВидКлиента, СортТовара)
    Возврат НЕ ИсключающееИЛИ(ВидКлиента, СортТовара);
    КонецФункции

    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Сообщить(РазрешенаПродажа(“Постоянный”, “Высший”));
    Сообщить(РазрешенаПродажа(“Непостоянный”, “Брак”));
    Сообщить(РазрешенаПродажа(“VIP”, “Брак”));
    Сообщить(РазрешенаПродажа(“VIP”, “Высший”));
    КонецПроцедуры

  12. Евгений Тюрин 09.11.2010 в 14:52

    Задание выполнил.

  13. Выполнила, зачем-то отдельно запрограммировав свою функцию XOR – не сразу поняла, что РазрешитьПродажи()  просто должна работать по тем же правилам.

  14. Догоняю. Хорошее задание. 
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Сообщить(РазрешенаПродажа(“Постоянный”, “Высший”));
    Сообщить(РазрешенаПродажа(“Непостоянный”, “Брак”));
    Сообщить(РазрешенаПродажа(“VIP”, “Брак”));
    Сообщить(РазрешенаПродажа(“VIP”, “Высший”));
    // Вставить содержимое обработчика.
    КонецПроцедуры

    &НаСервере

    Функция РазрешенаПРодажа(Клиент,СортТовара)
    Если Клиент<>”VIP” или СортТовара<>”Высший” тогда
    Возврат Ложь;
    иначе
    возврат Истина;
    конецЕсли;

    конецФункции

  15. Тоже догоняю, ДЗ решил, как то вот так получилось, может я чего то не понял, но вроде как XOR непричем у меня получился, вот решение:
    Возврат ВидКлиента = “VIP” и СортТовара = “Высший” или ВидКлиента <> “VIP” и СортТовара <> “Высший”;

  16. Выполнил стандартно. В модуле две функции.