AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.10.2019, 18:12   #21  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1630 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Ну это как я понял какой-то сложный отчет с 2 строковыми секциями. Какие данные в диалоге вводит пользователь?
Стандартно такой начинается от недели разработки(плюс описание, плюс тест). А за счет чего достигается скорость по сравнению с X++? все запросы все равно надо реализовать
Старый 21.10.2019, 18:32   #22  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от trud Посмотреть сообщение
Ну это как я понял какой-то сложный отчет с 2 строковыми секциями. Какие данные в диалоге вводит пользователь?
Стандартно такой начинается от недели разработки(плюс описание, плюс тест). А за счет чего достигается скорость по сравнению с X++? все запросы все равно надо реализовать
Данные в диалоге - это выбор кода проекта.

Я тоже считаю, что на разработку в SSRS уйдет неделя + deployment каждой версии (!) после работы над ошибками. Таких версий у меня оказалось штук 15. Разработка в PowerBI невозможна из-за отсутвия сущностей, их тоже надо программировать и добавить в оценку, ну и потом делать и переделывать UNION в "PowerQuery M", еще то удовольствие.

Так вот, сделано было за 34 рабочих часа.

Скорость достигается за счет мгновенной проверки и быстрого тестирования (не нужно компилировать), а также практически мгновенного развертывания. Кроме того, не нужно создавать временных таблиц.

Последний раз редактировалось EVGL; 21.10.2019 в 18:35.
Старый 21.10.2019, 20:53   #23  
axm2017 is offline
axm2017
Участник
 
1,884 / 295 (13) ++++++
Регистрация: 15.05.2017
Цитата:
Сообщение от trud Посмотреть сообщение
..
Стандартно такой начинается от недели разработки(плюс описание, плюс тест)...
Кстати из общения как понял что стандартный фреймворк для использования вместо
SSRS отчета GER отчёта существует и вполне работает (коллеги из мс раша наверное могут подтвердить или опровергнуть этот слух) для большинства случаев.

Поэтому оценка сверху по сложности для ер отчёта без собственно формата отчёта сводится к оценке времени ssrs отчёта без дизайна.
Excel дизайн по мне так набросать гораздо проще чем ssrs дизайн.

А вот тестирование ссрс отчётов для меня тёмный лес: как понял опять же из общения сейчас опять же по слухам трэшевый тренд на авто тесты.

Как сделать автотест для ссрс слабо представляю, возможно по причинам слабого знания предмета.
Старый 22.10.2019, 10:16   #24  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от mazzy Посмотреть сообщение
...
требование сделать систему, которая берет данные откуда угодно, тут же привело к тому, что модель и датасорс стали различными
...
Это уже изначально так было в семействе классов CustVendOutPayment: содержание было абстрагировано от модуля (клиент/поставщик) и направления платежа (входящий/исходящий).

Действительно, формат SEPA (ISO20022) практически не отличается для credit transfer (исходящий платеж поставщику, модуль AP) и direct debit (инициированное поставщиком автоматическое списание со счета клиента по выданному тем мандату, модуль AR).

Так что есть вполне себе внятное бизнес-обоснование.

Для справки: https://ru.wikipedia.org/wiki/%D0%9F...BD%D0%B8%D0%B5

Последний раз редактировалось EVGL; 22.10.2019 в 10:29.
Старый 22.10.2019, 11:30   #25  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от EVGL Посмотреть сообщение
Цитата:
Сообщение от mazzy Посмотреть сообщение
...
требование сделать систему, которая берет данные откуда угодно, тут же привело к тому, что модель и датасорс стали различными
...
Так что есть вполне себе внятное бизнес-обоснование.
и ведь даже цитата приведена.
в которой говорится не про требование, а о том что с этим требованием модель и датасорс стали различными

полностью уверен, что человек умеет читать тексты и четко осознает что там написано.
но приписывает другой смысл, с которым эффективно спорит.

----
вот так мы жили,
вот так и живем.
и будем так жить
пока не помрем.

и если мы живем вот так
значит так надо!
__________________
полезное на axForum, github, vk, coub.
Старый 22.10.2019, 12:11   #26  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Вы написали, что требование было "сделать систему, которая берет данные откуда угодно". У меня такой информации нет (хотя я могу просто чего-то не знать), но я привел пример, где решение с абстракцией внутреннего представления от модели БД проистекает из задачи поставленной к одной системе. Более того, это решение в этой форме существовало уже лет 10 (соотв. классы для абстракции появились где-то в AX2009).

Где я извратил ваши доводы?

Нажмите на изображение для увеличения
Название: CustVendPaym.jpg
Просмотров: 279
Размер:	127.0 Кб
ID:	12402

Последний раз редактировалось EVGL; 22.10.2019 в 12:15.
Старый 22.10.2019, 12:17   #27  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от EVGL Посмотреть сообщение
Вы написали, что требование было "сделать систему, которая берет данные откуда угодно".
У меня такой информации нет.
...
Более того, это решение в этой форме существовало уже лет 10 (соотв. классы для абстракции появились где-то в AX2009).

Где я извратил ваши доводы?
можно я просто оставлю эту цитату.
можно я не буду обсуждать где именно вы извратили.

а просто процитирую свой текст:
Цитата:
Сообщение от mazzy Посмотреть сообщение
требование сделать систему, которая берет данные откуда угодно, тут же привело к тому, что модель и датасорс стали различными.
...
а главное - для ER тут же потребовался DBadmin, который сделает связь между датасорсами и моделью.
__________________
полезное на axForum, github, vk, coub.
Старый 22.10.2019, 12:45   #28  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Ну то есть ушли от ответа. Тоже вариант, можно конечно.

Я не отрицаю наблюдений о том, что нужен многосторонне одаренный человек, чтобы все это обслуживать, более того, я подтвердил это.

Вы, однако, сформулировали это так, что модель и не нужна бы (я могу ошибаться, но это был конструктивный посыл в вашей критике). Предположим так, те же CustVentOutPaym классы сущестовали 20 лет назад в форме, где не было абстракций. Только сразу возникает вопрос: если работать напрямую и только с объектами системы, то DBadmin был бы необходим при каждом использовании инструмента. При использовании же связки DB -> Model -> Format в 50% случаев по факту можно обойтись работой с только форматом. Т.е. настройщик должен знать "лишь" уровень абстракции Model.

Это - лишнее, говорят читатели форума. Ок, у меня тоже сносит крышу, когда я пытаюсь вспомнить кто такой будет Debtor в конкретном случае, поэтому я и написал самому себе памятку http://erconsult.eu/blog/electronic-...g-er-cookbook/. От класса CustVendPaym, который был предтечей, мне тоже сносило крышу.

Мы сделаем все на PowerBI, говорят читатели форума. Только PowerBI near-realtime и не поддерживает страницы. Т.е. инвойс на нем принципиально не напечатать. А сколько стоит сделать новый SSRS layout, мы знаем. Наверное, не одна продажа сорвалась из-за этого: "Чтоооо!!?? Две недели на счет?! Он же должен быть в стандарте!"
Старый 23.10.2019, 10:03   #29  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,907 / 5717 (196) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Я, пожалуй, не буду пока высказывать оценку ER в целом. Просто вспомнил, как в далеком 2001ом году я видел список резюме потенциальных разработчиков на X++, с пометками директора по консалтингу. На паре резюме было написано что-то типа "Звезд с неба не хватает. Готов/Готова лепить отчеты".
А теперь пишут:
Цитата:
опытный программист или функциональный онсультант с опытом 10+ вроде Ties Philippi или Ludwig Reinhard.
За это сообщение автора поблагодарили: Vadim Korepin (12).
Старый 23.10.2019, 12:52   #30  
mnt_dx is offline
mnt_dx
Участник
Axapta Retail User
Лучший по профессии 2014
 
1,747 / 188 (10) ++++++
Регистрация: 17.02.2011
Адрес: К Северу через Северо-Запад
Цитата:
Сообщение от fed Посмотреть сообщение
Я, пожалуй, не буду пока высказывать оценку ER в целом. Просто вспомнил, как в далеком 2001ом году я видел список резюме потенциальных разработчиков на X++, с пометками директора по консалтингу. На паре резюме было написано что-то типа "Звезд с неба не хватает. Готов/Готова лепить отчеты".
А теперь пишут:
Этот директор из тех, кто с гордостью говорит, что в их решении от стандартной АХ ничего не осталось?
Старый 23.10.2019, 13:08   #31  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,907 / 5717 (196) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от mnt_dx Посмотреть сообщение
Этот директор из тех, кто с гордостью говорит, что в их решении от стандартной АХ ничего не осталось?
Вообще-то он году в 2005ом ушел в клиентские Айтишники и хотя аксаптой там время от времени занимается, вряд ли он о "нашем решении" говорит. Так что - вероятно путаешь с кем-то.
Старый 23.10.2019, 15:20   #32  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
см также докуметацию

Цитата:
Сообщение от trud Посмотреть сообщение
А кто предполагается как пользователь этого ER модуля?
2 вида пользователей: разработчик и функциональный консультант.
Разработчик может сконфигурировать модель данных и добавить новые виды источников данных (например, написать специальный класс, чтобы работало быстро). Функциональный консультант может сконфигурировать как выводить эти данные в каком-то формате. Консультант также может вносить небольшие правки в том, что сконфигурировано разработчиком, делать модели и простые меппинги на структуру данных.

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

Цитата:
Ну т.е. вы по сути создали свою среду разработки с собственной версионностью, компонентами тестирования, профайлинга и т.п. в браузере. Выглядит конечно круто, но если пользователь - это консультант - то после фразы "Этот компонент используется в качестве источника данных в следующей компоненте в формате. Формат-это компонент который содержит в себе описание структуры документа.." - будет замечание что это too technical
Мне не очень понятно какой именно слово тут техническое - компонент, структура, формат? Там нет регистров процессора или чего-то типа этого, я думаю, это общечеловеческие слова.

Цитата:
Если разработчик - какое преимущество перед X++? Т..е подобные интеграции о которых тут рассказывали стандартно разрабатывают в Х++ и непонятно зачем переходить на ER.
Выше уже что-то написали, я могу добавить что мы видим что многие предпочитают делать свои отчеты, хотя есть возможность сделать что-то на X++, powerbi, DIXF и так далее.

Microsoft поддерживает 37 стран, отчеты запускаются более чем в 90 странах.


Цитата:
Вообще конечно интерестно кто был автором идеи и кто разрабатывал интерфейс. ну т.е. на первый взгляд мне кажется очень сложным и непонятным, даже посмотрев семинар я по памяти не настрою выгрузку о которой там рассказывалось, очень много неочевидных кликов и действий. Показывали ли вы это не-программистам из западного мира, как они на это смотрели/что говорили?
Перед выпуском мы делали UX тестирование именно на западных пользователях. Кому-то было понятно, кому-то нет, кое-что мы по результатам поправили.

Цитата:
Бухгалтерская отчетность - тоже вызывает вопросы.
Откуда в этих сделанных отчетах берутся данные?
Если напрямую запросы к проводкам, это же перестанет работать на миллионах/десятках миллионах записей
ER позволяет использовать таблицы с почти всеми методами и классы. Можно использовать как готовые, так и разрабатывать специально для конкретного отчета и передавать туда временные таблицы, коллекции и т.п.

Т.е. чувствительные к быстродействию части отчета можно реализовать на X++.
Старый 23.10.2019, 15:29   #33  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от mazzy Посмотреть сообщение
Макс Белугин показывал ранний прототип - логичная и привычная штука.
Мне кажется хорошо бы отделить в твоих сообщениях наблюдаемые факты от логических заключений. А то непонятно, про что ты точно знаешь, а про что догадываешься.

Я присоединил один из ранних документов со скриншотами вычистив персональные данные (прототип на Ax2012).

Надо заметить, что там нет дерева конфигураций а только грид, но источники данных - это дерево и они никогда по другому не отображались.

Так же можно заметить что контроль версий уже был и все внутри дизайнеров было похоже на то, что сейчас.
Вложения
Тип файла: docx GER Proto step by step tutorial.docx (1.40 Мб, 234 просмотров)
За это сообщение автора поблагодарили: EVGL (3).
Старый 23.10.2019, 15:37   #34  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от EVGL Посмотреть сообщение
При использовании же связки DB -> Model -> Format в 50% случаев по факту можно обойтись работой с только форматом. Т.е. настройщик должен знать "лишь" уровень абстракции Model.
В принципе изначально идея была в том, чтобы model был просто классом, который писал X++ программист, а формат был как движок шаблонов. Потом, решили сделать это тоже конфигурируемым для простых случаев и мелких правок программист ну нужен. Слой model нужен чтобы:
  1. Скрыть от функционального консультанта сложности модели данных AX
  2. При изменениях модели данных разные виды отчетов оставались совместимыми
    (вспомните, например, что произошло при переходе с Ax2009 на Ax2012 - понятие счета ГК осталось, но способ получения их разный)
  3. То, про что сказал Маззи - возможность добавлять принципиально другие источники данных
Старый 23.10.2019, 17:29   #35  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1630 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от belugin Посмотреть сообщение
2 вида пользователей: разработчик и функциональный консультант.
Разработчик может сконфигурировать модель данных и добавить новые виды источников данных (например, написать специальный класс, чтобы работало быстро). Функциональный консультант может сконфигурировать как выводить эти данные в каком-то формате. Консультант также может вносить небольшие правки в том, что сконфигурировано разработчиком, делать модели и простые меппинги на структуру данных.
А зачем они это будут делать? Ну т.е. я вот к примеру делал один из бесконечных вариантов выгрузки платежей в банк(по моему похожее на класс CustVendChequeUS). Т.е. изначально пользователи запросили выгрузку в текстовый файл определенной структуры. Передали ее консультанту. Он разработал дизайн, что нужен текстовый файл, и как эти поля заполнять. Этот дизайн передали в разработку. Я задублировал текущий класс, сделал свои исправления. Передал на тест. Они в форматах платежа выбрали этот класс, протестировали. Консультант совсем не горел желанием "вносить небольшие правки" т.е. файл утверждается банком и не меняется.
Изменения там не сказать что были элементарные, т.е. потребовалось лезть в таблицы SpecTrans, как-то замороченно вычислять суммы, вычислять итоговые строки, т.е. писать код.
Это как-бы стандартная задача, на каком этапе тут возникает ER?
Ну т.е. расчитывать что типичный консультант не знающий структуры данных будет что-то конфигурировать нельзя, ему нужен уже готовый файл платежа. Как разработчику зачем мне выбирать для разработки ER рискуя налететь на то, что какое-то требование/запрос трудно или нельзя реализовать в ER?
Старый 23.10.2019, 19:48   #36  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
672 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от trud Посмотреть сообщение
А зачем они это будут делать? Ну т.е. я вот к примеру делал один из бесконечных вариантов выгрузки платежей
...
Ну т.е. расчитывать что типичный консультант не знающий структуры данных будет что-то конфигурировать нельзя, ему нужен уже готовый файл платежа. Как разработчику зачем мне выбирать для разработки ER рискуя налететь на то, что какое-то требование/запрос трудно или нельзя реализовать в ER?
может, это для стороннего разработчика, который будет потом эти отчёт раздавать или продавать другим клиентам?

а так-то ты прав, конечно, на кой чёрт тратить время на изучение такого инструмента, не оч понятно
__________________
Felix nihil admirari
Старый 23.10.2019, 19:54   #37  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
672 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от belugin Посмотреть сообщение
2 вида пользователей: разработчик и функциональный консультант.
фу-у-у-ух... а то я уж испугался, что скоро без работы останусь!
__________________
Felix nihil admirari
Старый 23.10.2019, 21:50   #38  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от trud Посмотреть сообщение
Это как-бы стандартная задача, на каком этапе тут возникает ER?
С любым интерфейсом приходится делать и переделывать. Быстрее, чем в ER я еще нигде не мог переделать, поэтому даже самостоятельно переписал формат перевода NACHA с класса (который остался в D365FO в виде исключения) на ER. Клиент, наверное, не раз мысленно благодарил: я видел, как они вносили изменения после go-live.
Старый 23.10.2019, 22:06   #39  
axm2017 is offline
axm2017
Участник
 
1,884 / 295 (13) ++++++
Регистрация: 15.05.2017
Цитата:
Сообщение от trud Посмотреть сообщение
... Как разработчику зачем мне выбирать для разработки ER рискуя налететь на то, что какое-то требование/запрос трудно или нельзя реализовать в ER?
Если завтра банк вдруг решит изменить структуру файла например переставил местами поля или изменив названия каких либо тегов, уменьшить /увеличить точность числа или куча ещё подобных оформительских причуд, либо бухгалтер захочет складировать все запросы в банк виде бумажек екселя с человеческими словами помимо цифирок у себя в папочке и много много чего еще то при реализации в ер разработчик уже возможно не потребуется. Формат может поменять/ создать и консультант.
Старый 23.10.2019, 22:12   #40  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от belugin Посмотреть сообщение

Цитата:
...too technical...
Мне не очень понятно какой именно слово тут техническое - компонент, структура, формат? Там нет регистров процессора или чего-то типа этого, я думаю, это общечеловеческие слова.
Справедливости ради, я слышу замечание "too technical" (именно так, слово в слово) каждый раз. Что и позволило в одном только 2019 году заработать ~10 kEUR только на ER, поскольку клиентам приходится искать кого-то, для кого это "not technical enough", а таких людей в настоящий момент в Европе действительно можно пересчитать по пальцам на одной руке.

Если критиковать всерьез, то по связанной теме Electronic messaging. Это - чудовище Франкенштейна, какой-то безумный конгломерат настроек, электронных отчетов, пишущих в обе стороны, ненужного включения ссылок на объекты X++ в настройках при наличии ER. Ни документации, ни готовых настроек под страну - ничего. Ноль.
Я имел удовольствие наблюдать, как одному консультанту пришлось одному из первых настроить передачу испанских счетов. Я все удивлялся: о чем можно беседовать с поддержкой MSFT в течении ПОЛУГОДА? А потом мне весной достался итальянский ESTEROMETRO и я все понял. Это был один из немногих случаев в моей карьере, когда я хотел сдаться от безнадеги и в переносном смысле "вернуть деньги" клиенту. Но повезло добраться до базы данных другого клиента с типовыми настройками.
Теги
generic electronic reporting, ger

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ievgensaxblog: MSDyn365FO. How to Import CSV file using Electronic Reporting. Part 2 – Format. Blog bot DAX Blogs 0 06.02.2019 07:12
ievgensaxblog: MSDyn365FO. How to Import CSV file using Electronic Reporting. Part 1 – Data Model. Blog bot DAX Blogs 0 06.02.2019 07:12
erconsult: Electronic Reporting (ER) Cookbook 2: new tips from the kitchen Blog bot DAX Blogs 0 06.08.2018 17:11
powerobjects: Electronic Reporting in Dynamics 365 for Finance and Operations Blog bot DAX Blogs 0 14.02.2018 03:28
erconsult: Electronic Reporting (ER) Cookbook Blog bot DAX Blogs 24 09.10.2017 08:47

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:28.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.