среда, 28 октября 2015 г.

1С: Эксперт. Решение билета №9

Вопрос 09.1
В конфигурации определен регистр накопления «ОстаткиТоваровНаСкладах», который имеет следующий набор измерений:
·        Склад
·        Товар

Измерения регистра не проиндексированы.

Пользователь А выполняет в транзакции запрос следующего вида:

Запрос.Текст = “ВЫБРАТЬ
| Остатки.Склад КАК Склад,
| Остатки.Товар КАК Товар,
| Остатки. КоличествоОстаток КАК Остаток
| ИЗ
|  РегистрНакопления.ТоварыНаСкладах.Остатки(,Товар=&Товар) КАК Остатки”;
Запрос.УстановитьПараметр(“Товар”, Справочники.Товары.НайтиПоКоду(“00001”));

Пользователь Б выполняет в запись следующего набора записей  регистра ТоварыНаСкладах:

Склад
Товар
ОсновнойСклад
Телевизор SHARP
ОптовыйСклад
Телевизор SHARP

Смогут ли два этих действия выполнится параллельно? Обоснуйте свой ответ. Как измениться ситуация, если Пользователь А укажет условие по складу «Резервный склад». Почему?


Ответ:
В первом случае скорее всего будет выполнен запрос со сканированием и на весь регистр во время выполнения запроса будет наложена S блокировка.
Соответственно вторая транзакция не сможет наложить свою X блокировку при записи.
Если Пользователь А укажет условие по складу «Резервный склад» то сможет использоваться поиск по кластерному индексу при выполнении запроса и транзакции смогут выполнится параллельно.


Вопрос 09.2
Код конфигурации содержит следующий фрагмент:

НачатьТранзакцию();
            Процедура1();
            НачатьТранзакцию();
                        Процедура2();
                        НачатьТранзакцию();
                        Процедура3();
                        ОтменитьТранзакцию();

Какие действия будут отменены в результате выполнения функции ОтменитьТранзакцию() в 7 строке.

Ответ:
Будут отменены все действия, так как вложенные транзакции не поддерживаются.

Вопрос 09.3
Для работы системы используется сетевой ключ на 50 пользователей, который установлен на сервере предприятия. Во время работы системы у различных пользователей периодически возникает ошибка «Не обнаружен ключ защиты программы». Укажите возможные причины возникновения ошибки и предложите способы их устранения.
Ответ:
1) Скорее всего сервер не успевает выдавать лицензии, поэтому требуется настроить  файл nethasp.ini.
2) Проверить используемый протокол. Если используется ipv6, то  следует перейти на протокол ipv4 так как HASP License Manager работает только с IPv4.
3) Установка HASP License Manager на терминальный сервер
4) Возможно сам ключ поврежден.



Комментариев нет:

Отправить комментарий