Русский и английский синтаксис. Болтуны и труженники.

Любые разговоры которые хоть как-то связаны с тематикой форума

Модератор: Модераторы разделов

trdm
Сообщения: 266
ОС: Window XP

Русский и английский синтаксис. Болтуны и труженники.

Сообщение trdm »

Развлекают меня такие ветки.
Кто хочет конкретно поучаствовать в проекте?
Проект Ананас!

Вот скажите, хлопцы, кто из вас ежедневно занимается автоматизацией
предприятий? Пишет отчеты, обработки, конструирует документы?
А то горазды только поносить руский синтаксис.
Хочу знать, кто из вас болтун, а кто девелопер.
Перечислите свои вчерашние и сегодняшние "работы". На сколько они ложатся в тематику этой ветки.
+
Вот сейчас работаю с документом "ЦеноваяАкция", его смысл: приказ при розничных продажах зафиксировать рощзничную цену в определенное значение.
Попробуйте переложить хотя-бы текст проверки документа при записи на JS или Руби. Хочу посмотреть, что в результате получится. Вот текст:

Код: Выделить всё

//==============================================================================
// документВалиден() © trdm 2009
Функция документВалиден()
    ЗначВозврата = 1;
    вСтрокаПлохо = "";
    Если ТипАкции = Перечисление.ТипыЦеновыхАкций.ЦеноваяАкция Тогда
        Если ПустоеЗначение(КатегорияЦен) = 0 Тогда
            Если КатегорияЦен.ИспользоватьВЦеновыхАкциях = 0 Тогда
                вСтрокаПлохо = "Данная категория цен не помечена к использованию в документе ""Ценовая акция""";
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;

    Если ПустоеЗначение(вСтрокаПлохо) = 0 Тогда
        Предупреждение(вСтрокаПлохо);
        ЗначВозврата = 0;
    КонецЕсли;
    Возврат ЗначВозврата;
КонецФункции // документВалиден()


//============================================================
Процедура ПриЗаписи()
    вСтрокаАтрибутов = гСтрокаАтрибутовОЗ; //"ТипАкции,Дата_Начала,Дата_Окончания,КатегорияЦен,Товар";
    Если ТипАкции = Перечисление.ТипыЦеновыхАкций.ЦеноваяАкция Тогда
        вСтрокаАтрибутов = вСтрокаАтрибутов +  ",Цена";
    ИначеЕсли ТипАкции = Перечисление.ТипыЦеновыхАкций.ПодарочнаяАкция Тогда
        вСтрокаАтрибутов = вСтрокаАтрибутов +  ",Подарок,Количество";
    КонецЕсли;
    Если документВалиден() = 0 Тогда
        СтатусВозврата(0); Возврат;
    КонецЕсли;
    глПриЗаписиДокумента(Контекст,КонтекстФормыДокумента);
    Если Дата_Начала>Дата_Окончания Тогда
        Предупреждение("Период неверен!");
        СтатусВозврата(0); Возврат;
    КонецЕсли;
    Если СтатусВозврата() <> 0 Тогда
        Если ИдентификаторАкции = 0 Тогда
            заполнитьИДентификаторАкции();
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры


Хочу посмотреть, как выглядит англоязычный синтаксис, за который все так ратуют, применительно к этой задаче....
Denjs писал(а):
04.12.2009 15:12
предлагаю "портировать" все ваши объекты как классы-расширения для моего скриптового фреймворка QDroid :happy:

Денис, к тебе это особенно относится. Ты у нас тут ура пэтриот на эту тему.

Хочу посмотреть, как будет выглядеть кусочек модуля в вашем исполнении...
Покажи, можешь ли ты реально работать, или только языком трепать...
qt1L, 2C и прочие "аналоги" 1С.
Смертельная доза aлкoгoля 8 гр. на 1 кг вeсa тела: 80 кг * 8 = 640 гр.
Хотите знать больше?
Спасибо сказали:
trdm
Сообщения: 266
ОС: Window XP

Re: Русский и английский синтаксис. Болтуны и труженники.

Сообщение trdm »

qt1L, 2C и прочие "аналоги" 1С.
Смертельная доза aлкoгoля 8 гр. на 1 кг вeсa тела: 80 кг * 8 = 640 гр.
Хотите знать больше?
Спасибо сказали:
antares0
Сообщения: 92

Re: Русский и английский синтаксис. Болтуны и труженники.

Сообщение antares0 »

Код: Выделить всё

(валидатор ((|Категория цен| |Категория цен|))
  (if (|Использовать в ценовых акциях| |Категория цен|)
          t
          (warn "~a  не помечена к использованию в документе ~a" |Категория цен| context)))
;На самом деле валидатор ценовой категории сработает еще в момент установки этой категории, но стараюсь следовать примеру
(валидатор ((акция |Ценовая акция|) &aux |Категория цен|)
  (if |Категория цен|
   (проверить |Категория цен|)
  t))
;Для чего работаем с строками аттрибутов не понял по этому пропустил
;Рестарты позволяют исправлять или скомпенсировать ошибку автоматически или попросить пользователя елать это.
;Вобще рестарты конечно описываются  вместе с классом но для наглядности я определил их здесь
  (запись  :around ((акция |Ценовая акция|) &aux |Дата начала| |Дата конца|)
           (when (> |Дата начала| |Дата конца|)
                 (error '|Неверный период| |Дата начала| |Дата конца|))
           (when |Идинтификатор акции|
                 (error '|Заполнить идентификатор|))
           (call-next-method)
           (рестарты |Неверный период| |Пустой идентификатор|))

P. S. Такой код конечно предполагает большой подвал куда засунуты механизмы позволяющие этому работать. Но и 1С не святым духом работает.
P.P.S В раскрашенном виде оно конечно красивее.
Спасибо сказали:
trdm
Сообщения: 266
ОС: Window XP

Re: Русский и английский синтаксис. Болтуны и труженники.

Сообщение trdm »

Жуть какая-то.
Ха хаскел случаем?
qt1L, 2C и прочие "аналоги" 1С.
Смертельная доза aлкoгoля 8 гр. на 1 кг вeсa тела: 80 кг * 8 = 640 гр.
Хотите знать больше?
Спасибо сказали:
antares0
Сообщения: 92

Re: Русский и английский синтаксис. Болтуны и труженники.

Сообщение antares0 »

Common Lisp.
Видовой признак лиспа - обилие скобок, хаскеля - полное их отсутсвие.

Там правда пара ляпов есть. Не досмотрел.
Спасибо сказали: