Механизм оценки и получения информации публикуемых разработок на Инфостарте, для 1С 8

Опубликовал Uncore в раздел Администрирование - Поиск данных

Простой механизм добавления информации о публикации, авторе и оценки публикации на Инфостарте в своих разработках.

Создавая публикации, столкнулся с тем, что неплохо бы было добавить кнопки на форму создаваемой обработки/отчета, нажав которые можно проголосовать за публикацию, посмотреть описание по ней или узнать данные автора. Тем более, что замечал у некоторых публикаций подобные кнопки, но совсем у незначительного количества. Сам столкнулся с тем, что скачал какую-нибудь обработку/отчет, проверил ее - понравилась, а чтобы проголосовать за нее или посмотреть описание, нужно заходить на сайт, снова искать публикацию... А так, все будет под рукой для пользователя и без затрат времени для разработчика.

В обработке показан пример двух механизмов оценки размещаемой на Инфостарте публикации, один из которых автор может использовать при разработке.

МЕХАНИЗМ ФОРМИРОВАНИЯ ПОДМЕНЮ ИНФОРМАЦИИ И ОЦЕНКИ ПУБЛИКАЦИИ  

Этот механизм позволяет программно создавать подменю с кнопками оценки публикации и информации о публикации и авторе.

ШАГ 1.   

Объявление переменных в разделе определения переменных:

// содержит номер публикации на Infostart
Перем НомерПубликации;

// содержит номер профайла автора на Infostart
Перем НомерПрофайлаАвтора
;

ШАГ 2. 

Заполнение переменных данными публикации в разделе основной программы:

// объявление пользовательских значений
НомерПубликации = "114938";

НомерПрофайлаАвтора = "121472";

Необходимо обязательно заменить параметры номера публикации и номера профайла автора публикации, показанные в обработке-примере. Информация необходима для перехода на страницы соответсвенно публикации и автора публикации.
Например, эта публикация имеет адрес http://infostart.ru/public/114938/, соответсвенно в переменную "НомерПубликации" нужно установить номер "114938"; страница автора http://infostart.ru/profile/121472/, поэтому у переменной "НомерПрофайлаАвтора" будет значение "121472". Номер публикации появляется после сохранения публикации как "Черновик".

ШАГ 3.

В процедуре "ПриОткрытии" формы создаваемой обработки/отчета вызвать процедуру генерации подменю: 

// формирование подменю
Процедура ПриОткрытии()
   
ГенерацияКнопокГолосования();
КонецПроцедуры

Процедура сформирует подменю с кнопками оценки публикации, перехода на страницы публикации и автора публикации.

У процедуры имеются параметры:
Сверху
   (необязательный)
   Тип: Булево
      Определяет расположение подменю с информацией о публикации в верхней или нижней панели формы. Значение по умолчанию: Истина
      Список используемых панелей:
      - "ДействияФормы" - верхняя панель;
      - "КоманднаяПанель1" - верхняя панель;
      - "ОсновныеДействияФормы" - нижняя панель;
      Они хранятся в таблице значений, куда пользователь может добавить название своей панели, если оно отличается от представленных.
      Если признак установлен в "Истина", тогда процедура попытается создать подменю на одной из верхних панелей, иначе создаст на нижней панели. В случае отсутствия панелей на форме, подменю создано не будет.
ВыводитьКартинки
   (необязательный)
   Тип: Булево
      Определяет необходимость вывода картинок кнопок. Значение по умолчанию: Истина. Причем для версий платформы 8.1 и 8.2 картинки разные.
УдалятьКнопкиПослеГолосования
   (необязательный)
   Тип: Булево
      Определяет признак вывода кнопок голосования за публикацию после голосования, при повторном открытии. Значение по умолчанию: Истина
      Т.е. если пользователь проголосовал за публикацию, то при следующем открытии формы кнопки голосования создаваться не будут.

Подменю сформируется только в том случае, если будет заполнена одна из переменных "НомерПубликации" или "НомерПрофайлаАвтора".

ШАГ 4.

Добавить основную процедуру генерации подменю и связанные с ней процедуры и функции в модуль обработки:

// основная процедура генерации подменю
Процедура ГенерацияКнопокГолосования(Сверху = Истина, ВыводитьКартинки = Истина, УдалятьКнопкиПослеГолосования = Истина)

// возвращает текущую версию платформы
Функция ПолучитьВерсиюПлатформы()

// проставление плюса за публикацию
Процедура ПроголосоватьЗа()

// проставление минуса за публикацию
Процедура ПроголосоватьПротив()

// оценка публикации на сайте
Процедура Проголосовать(За)

// переход на страницу автора
Процедура ОбАвторе()

// переход на страницу публикации
Процедура ОПубликации()

ШАГ 5.

В результате при открытии формы будет создано подменю с информацией о публикации (рис. 2):

Программное создание подменю информации о публикации

МЕХАНИЗМ ОЦЕНКИ ПУБЛИКАЦИИ ПЕРЕД ЗАКРЫТИЕМ С ВОЗМОЖНОСТЬЮ НАПОМИНАНИЯ

Этот механизм позволяет оценить публикации пользователю при закрытии формы.

ШАГ 1 и ШАГ 2. Аналогичны с предыдущим механизмом. 

ШАГ 3. 

В обработчике формы "ПередЗакрытием" нужно вызвать процедуру: 

// механизм вызова опроса о публикации
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
   
ПроголосоватьЗаПубликацию();
КонецПроцедуры

ШАГ 4. 

В модуль обработки скопировать саму процедуру опроса:

Процедура ПроголосоватьЗаПубликацию() 

В процедуре определяется, имеется ли в используемой конфигурации справочник "ВнешниеОбработки". Данный справочник имеется практически во всех типовых конфигурациях. Если он существует, то создается новый элемент справочника с пустым полем "ВидОбработки", поэтому пользователь открывая через "Сервис -> Дополнительные внешние отчеты и обработки -> ..." его не увидит, только через "Операции -> Справочники -> Внешние обработки". Если же справочник отсутствует, данные сохраняются через "СохранитьЗначение()".

ШАГ 5. 

В результате перед закрытием формы пользователю будет выведено диалоговое окно с предложением оценить публикацию (рис. 3). Нажав "Да", если публикация понравилась, пользователь ставит "плюс"; "Нет" - публикация не понравилась и пользователь ставит "минус";  

 Оценка публикации при закрытии

"Отмена" - будет выведен вопрос с текстом "Напомнить позже?" (рис. 4):

Напоминание об оценке позже 

Если пользователь нажмет "Нет, не напоминать" или проголосует, то при следующем закрытии обработка уже не будет предлагать пользователю оценить публикацию; если же будет нажата кнопка "Напомнить", то через несколько открытий пользователю вновь будет выведено диалоговое окно с предложением оценки публикации.

Так же, как и в первом механизме, необходимо заполнить переменные "НомерПубликации" и "НомерПрофайлаАвтора" данными создаваемой публикации. Если переменные будет пустыми, механизм не будет работать.

Файлы

Наименование Файл Версия Размер Кол. Скачив.
ИнформацияОПубликации
.epf 10,20Kb
01.02.12
18
.epf 10,20Kb 18 Скачать

См. также

Лучшие комментарии

1. harisov_r (файл скачал) 05.02.2012 20:47
В свою публикацию хотелось вставить нечто подобное, да руки не дошли. Думал взять пример из обработки "Универсальный журнал документов", а тут как раз публикация на эту тему. Еще мне бы хотелось,чтобы была добавлена информация по проверке, не обновилась ли версия обработки на инфостарте.
Ответили: (2)
+ 1 [ Uncore; ]
# Ответить

Комментарии

1. harisov_r (файл скачал) 05.02.2012 20:47
В свою публикацию хотелось вставить нечто подобное, да руки не дошли. Думал взять пример из обработки "Универсальный журнал документов", а тут как раз публикация на эту тему. Еще мне бы хотелось,чтобы была добавлена информация по проверке, не обновилась ли версия обработки на инфостарте.
Ответили: (2)
+ 1 [ Uncore; ]
# Ответить
2. Uncore 06.02.2012 02:47
(1) спасибо за совет. Что-нибудь придумаем :)
# Ответить
3. unknownDaemon (файл скачал) 21.02.2014 20:55
Спасибо! Утащил ))
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл






IE 2016