Фондовым биржам предоставили возможность разделения торгового дня на предсессионный и послесессионный. Это позволит разделить торговый день на соответствующие периоды и торговые сессии для представления соответствующих заявок на куплю-продажу ценных бумаг, других финансовых инструментов и заключения биржевых контрактов. Ожидается, что такое решение будет способствовать увеличению количества маркет-мейкеров и ликвидности рынка ценных бумаг.
Соответствующие изменения в Положение о функционировании фондовых бирж утверждены решением НКЦБФР от 3 августа 2018 года № 546 и вступили в силу 25 сентября. Фондовым биржам в течение трех месяцев нужно привести свою деятельность в соответствие новым требованиям.
Владельцы ценных бумаг крупных предприятий и публичных акционерных обществ получили право по собственной инициативе включить ценные бумаги в биржевой список путем предоставления соответствующего предложения, но при условии, что суммарная стоимость пакета ценных бумаг, который предложен к продаже, составляет не менее 5 млн грн.
В этом случае фондовая биржа письменно уведомляет эмитента о получении заявки и о внесении ценных бумаг в биржевой список (с указанием даты внесения).
При получении заявки на допуск к торговле других ценных бумаг или акций фондовая биржа направляет такому эмитенту информацию о:
— получении предложения о включении ценных бумаг эмитента в биржевой список;
— последствиях включения ценных бумаг в биржевой список, а именно отнесения эмитента ценных бумаг к категории предприятий, представляющих общественный интерес;
— необходимости получения от эмитента письменного согласия/несогласия на включение его ценных бумаг в биржевой список.
Только после получения письменного согласия эмитента фондовая биржа может включить ценные бумаги в биржевой список.
Допуск ценных бумаг иностранных эмитентов к торгам может осуществляться исключительно в случае допуска таких ценных бумаг к обращению на территории Украины. Порядок внесения таких ценных бумаг в биржевой список и биржевой реестр устанавливается правилами фондовой биржи.
Также установлено, что порядок организации и проведения биржевых торгов, в частности, должен содержать процедуры предотвращения манипулирования ценами во время осуществления операций с ценными бумагами и другими финансовыми инструментами в случае их введения в обращение на фондовой бирже.
Фондовая биржа ежегодно и ежеквартально (в случае раскрытия эмитентом промежуточной финансовой отчетности) будет проверять эмитента, ценные бумаги которого находятся в биржевом списке на соответствие признакам фиктивности.
НКЦБФР также упростила требования к листингу путем отмены нормы о разделе биржевого реестра на два уровня листинга и установления требований о внесении ценных бумаг в биржевой реестр. Требования по внесению и пребыванию ценных бумаг в листинге установлены на условиях второго уровня. В биржевой реестр заносятся ценные бумаги, прошедшие процедуру листинга. Заявка о допуске ценных бумаг к биржевым торгам в части включения в биржевой реестр может подаваться: эмитентом в процессе эмиссии; эмитентом относительно выкупленных ценных бумаг; оферентом относительно продажи принадлежащих ему ценных бумаг. Такая заявка подается при условии действительности проспекта ценных бумаг и его обнародования.
У фондовых бирж есть три месяца, что привести свою деятельность в соответствие с новыми правилами и осуществить следующие действия в отношении ценных бумаг, которые на дату вступления в силу этого решения находятся в биржевом списке, а именно:
— в срок не более одного месяца письменно уведомить эмитентов о необходимости до 1 января 2019 года привести свою деятельность в соответствие с изменениями об условиях пребывания ценных бумаг в биржевом реестре, в частности, оформление проспекта ценных бумаг в соответствии с требованиями действующего законодательства Украины; или в биржевом списке без внесения в биржевой реестр;
— в срок не более 15 дней письменно уведомить эмитентов, которые являются частными акционерными обществами, о необходимости предоставить фондовой бирже информацию о наличии (отсутствии) в уставе такого общества преимущественного права его акционеров на покупку акций, предлагаемых их владельцем к продаже третьему лицу.
Чтобы не пропустить самое важное — подпишитесь на наш канал в Телеграм @jurliga t.me/jurliga
Хотите быть в курсе важнейших событий? Подписывайтесь на ЮРЛІГУ в соцсетях. Выбирайте, что вам удобнее — Телеграм t.me/jurliga, Фейсбук https://www.facebook.com/jurliga/ или Твиттер https://twitter.com/jurligaua.
Два варианта пагинаторов для нашего шаблона сайта
Простой листинг
Организовать просмотр анонсов статей, товаров, услуг в режиме листинга, обычная практика на многих сайтах, но это очень часто приводит к появлению частичных дублей внутри сайта и нестабильной ссылочной структуре сайта. Попробуем решить эти проблемы средствами JS.
Пример можно посмотреть в нашем шаблоне на странице produkt.html
Мы будем реализовывать вариант для сайта без БД, переписать скрипт для работы с БД не составит труда.
В html коде страницы есть конструкция
<p id=»Pages»>Товары</p>
при наличии на странице элемента с ID равным Pages запускается наш JS
$(‘#Pages’).livequery(function(){
…
Первым делом нам необходимо понять, что именно скрипту необходимо отобразить на странице, это возможно получив данные из следующего элемента
<div id=»tov» class=»Listing»> </div>
А конкретно получив значение ID, запишем его в переменную
TypeNew=String(($(‘#Pages ~ div’).attr(‘id’)));
Сформируем имя куки для правильной работы с листингом (что бы правильно передвигаться по сайту и листингу)
cookieName=’coo’+TypeNew;
и попробуем получить в переменную значение этой куки, вдруг оно уже есть (например, мы уже были на этой странице), используем для работы плагин jquery.cookie
var icooc=$.cookie(cookieName);
Т.к. наш шаблон работает без БД, то нам необходимо где-то хранить адреса всех страниц сайта, для этого отлично подходит карта сайта sitemap.html к ней мы и будем обращаться за не обходимыми сведениями.
$.ajax({
type:’POST’,
dataType:’html’,
url:pathmap,
cache:false,
success:function(data){
в переменной pathmap находится адрес карты сайта, его мы установили в самом начале нашего JS. В случае успешного запроса в date будет находиться содержимое карты сайта, из него нам необходимо получить нужные фрагменты данных. Тут мы используем маленькую хитрость, в карте сайта нужные нам данные (URL страниц на которых находятся данные для листинга) находятся в блоке с ID равным ID указанным на странице где необходимо организовать листинг (мы сохранили его значение в переменную TypeNew) плюс map
<ul class=»mapprod» id=»tovmap»>
<a href=»http://www.site.ru/produkt.html»>товары</a>
<li><a href=»http://www.site.ru/tovar1.html»>товар 1</a></li>
<li><a href=»http://www.site.ru/tovar2.html»>товар 2</a></li>
<li><a href=»http://www.site.ru/tovar3.html»>товар 3</a></li>
<li><a href=»http://www.site.ru/tovar4.html»>товар 4</a></li>
<li><a href=»http://www.site.ru/tovar5.html»>товар 5</a></li>
<li><a href=»http://www.site.ru/tovar6.html»>товар 6</a></li>
<li><a href=»http://www.site.ru/tovar7.html»>товар 7</a></li>
<li><a href=»http://www.site.ru/tovar8.html»>товар 8</a></li>
<li><a href=»http://www.site.ru/tovar9.html»>товар 9</a></li>
<li><a href=»http://www.site.ru/tovar10.html»>товар 10</a></li>
</ul></li>
Сформируем три строковые переменные, idUL=’#’+TypeNew; для обращения к элементу на текущей странице для вставки данных, IdMapNew=idUL+’map’; для получения необходимых данных из карты сайта и DataNew=TypeNew+’data’; имя для хранения полученных данных. Сохраним полученный фрагмент данных на текущей странице в блоке idUL под именем DataNew
$(idUL).data(DataNew,$(IdMapNew,data));
Теперь нам необходимо посчитать сколько «страниц» будет в листинге, это зависит от количества данных и количества элементов, которые мы хотим выводить на одном экране (значение NewEventPage установлено в самом начале нашего скрипта), округлим значение до большего целого ds=Math.ceil(($(IdMapNew_Li,data).size())/NewEventPage);
Выводим навигацию пагинатора, она будет выводиться в блок с ID равным Pages.
for(ier=1;ier<ds+1;ier=ier+1){
if(ier!=icooc){ytr=’ <span> ‘+ier+’ </span>’;$(‘#Pages’).append(ytr)}
else{ytr='<span class=»aktiv»> ‘+ier+’ </span>’;$(‘#Pages’).append(ytr)};
};
Учтем, на какой странице пагинатора мы должны находиться и пометим её классом aktiv. Для этого проанализируем куку с именем cookieName (значение переменной icooc), если она null, установим её в значение 1 (первая «страница листинга») или получим её числовое значение
if(icooc==null){icooc=1;$.cookie(cookieName,icooc,cookieOptions);}
icooc=icooc*1;
Получение необходимых данных для конкретной страницы листинга, вынесено в отдельную функцию, т.е. нам необходимо её вызвать, в неё мы передаём номер «страницы листинга» NewIT(icooc);
Из-за того что данные будут получаться асинхронно и необходимости сохранить порядок вывода их на странице сформируем заранее необходимое число контейнеров с уникальными ID
var ht_sh=»;
for(ieri=0;ieri<NewEventPage;ieri=ieri+1){
ht_sh=ht_sh+'<div id=»nn’+ieri+'»></div>’;
};
И добавим их на текущую страницу, в элемент с ID значение, которого храниться в переменной idUL
$(idUL).append(ht_sh);
Рассчитаем порядковый номер элемента, с которого нам необходимо начинать вставку данных, зависит от «страницы листинга» переданного в функцию и количества элементов необходимых на странице
n_P=(n_P-1)*NewEventPage+1;
получим в переменную данные сохранённые нами под именем DataNew (весь список URL)
werty=$(idUL).data(DataNew);
в массив запишем только необходимые для данной «страницы листинга» URL
var arr1=;
for(iir=0;iir arr1=$(‘a’, werty).slice(iir+ n_P).attr(‘href’).replace(‘http://www.site.ru/’,»);
};
Обойдём все элементы массива и получим данные по каждому URL, полученные данные будем записывать под уникальным именем в блок data с ID равным Pages
$(arr1).each(function(i){
var nn=String(this);
$.ajax({
type:’POST’,
dataType:’html’,
url:nn,
cache:false,
success:function(data){
imya=’dop’+i;
$(‘#Pages’).data(imya,data);
rttt=$.inArray(nn,arr1);
Vst1(nn,rttt);
}
});
});
вычисляем текущий индекс элемента в массиве и вызываем функцию вставки Vst1(nn,rttt), которой передаём значение url и индекс текущего элемента
в переменную ht_cod получаем данные сохранённые под именем imya
function Vst1(nn,rttt) {
ht_cod=$(‘#Pages’).data(imya);
далее идёт проверка способа вставки данных (их может быть несколько для разных листингов через конструкцию else if)
if(TypeNew==’tov’){
формируется html кода для вставки и сохраняется в переменную qwe
NewH='<h3>’+$(‘h1′, ht_cod).html()+'</h3>’;
NewImg=($(‘img’, ht_cod).size() > 0) ? ‘<img src=»‘ + $(«img»,ht_cod).attr(‘src’).replace(‘.jpg’, »)+’-s.jpg»>’ : »;
Newprice=($(‘span’,ht_cod).size()>0) ? ‘<p>’+ $(‘span’,ht_cod).html() +’ руб <i class=»col»>смотреть товар</i></p>’ : »;
на блок вешается класс loc с URL страницы (без расширения) с которой получены данные, для возможности перейти на нужную страницу
qwe='<div class=»loc ‘ + nn.replace(‘.html’, ») + ‘»>’ + NewH + NewImg + Newprice + ‘</div>’;
и html вставляется в нужный блок на нашу страницу
var tex_id=’#nn’+rttt;
$(tex_id).prepend(qwe);
Осталось дело за малым, написать обработчики событий mouseover, mouseout и click для неактивных элементов навигации пагинатора
$(‘#Pages span’).livequery(‘mouseover’,function(){
$(this).css({‘color’:’red’});
});
$(‘#Pages span’).livequery(‘mouseout’,function(){
$(this).removeAttr(‘style’);
});
По событию click на неактивном элементе получается содержимое данного элемента, приводится к числовому значению. У всех элементов навигации удаляется форматирование, добавляется класс aktiv элементу, по которому произошёл клик, удаляются выведенные элементы, в куку записывается новое значение и вызывается функция обработки NewIT(nnum) с эти значением, которую мы рассмотрели выше
$(‘#Pages>span’).livequery(‘click’,function(){
nnum=Number($(this).text());
$(‘#Pages>span’).removeClass(‘aktiv’);
$(this).removeAttr(‘style’);
$(this).addClass(‘aktiv’);
$(‘#Pages ~ div’).html(‘ ‘);
$.cookie(cookieName, nnum, cookieOptions);
NewIT(nnum);
});
С индексируемыми ссылками
Очень часто необходимо иметь индексируемые ссылки с каталога, для этого случая есть немного другой вариант, пример на странице news.html нашего шаблона. Здесь сама страница выступает в роли «мини карты сайта/раздела», если посмотреть исходный код, то можно увидеть почти знакомую конструкцию
<p id=»Pages1″>Новости</p>
<div class=»Listing»>
<a href=»new10.html»>новость 10</a>
<a href=»new9.html»>новость 9</a>
<a href=»new8.html»>новость 8</a>
<a href=»new7.html»>новость 7</a>
<a href=»new6.html»>новость 6</a>
<a href=»new5.html»>новость 5</a>
<a href=»new4.html»>новость 4</a>
<a href=»new3.html»>новость 3</a>
<a href=»new2.html»>новость 2</a>