рег номер https://portal.1c.ru/software/3554817 10729556 Обновил общепит на версию 3.0.73.54Платформа 8.3.15.1830 регламентное задание «Создание целевых документов по чекам общепита» перестало работать из-за лицензии, картинка прикреплена Полагаю что из-за обновления вряд ли ключи слетели в менеджере СЛК, скорее всего это случилось ранее, просто работало всё и не было проблем. что предпринять, переустановить чтобы заработало всё? Прикрепленные файлы |
|
Добрый день. У Вас используется очень старая версия сервера СЛК. https://rarus.ru/downloads/2553/ ( Сервер лицензирования v.2.0.8.360 и Сервер СЛК v.3.0.20.8469 ). Обращаем Ваше внимание, что установку системы защиты необходимо проводить при закрытых программах 1С, остановленном сервере 1С . |
|
Виктор Рудаков Заглянувший Сообщений: 128 |
#3
13.01.2020 10:18:38
Переустановку буду выполнять удаленно. |
||
Ключ извлечь желательно, но можно проводить переустановку и с установленными ключами, на большей части операционных систем установка системы защиты проходит корректно. |
|
Всё как то фантомно работает. После переустановки всех компонентов СЛК и перезагрузки сервера все ключи были ОК. Затем при первом входе в 1с стало так как на картинке. При попытке перейти на использование СЛК получаю сообщение. Документ «Выпуск продукции» не проводится с таким содержательным сообщением Что сделать чтобы всё работало корректно??? |
|
Добавка к предыдущему сообщению
|
|||
Здравствуйте!
вот подробнее в ветке об этом — https://rarus.ru/forum/forum58/topic13245/ Все проблемы должны уйти в этом случае. |
|
Виктор Рудаков Заглянувший Сообщений: 128 |
#8
13.01.2020 14:40:42
Можете какую нибудь ссылку дать для ознакомления с процессом замены? https://solutions.1c.ru/catalog/slk такой подойдет? |
||
Алексей Павлов, рук. направления HoReCa Заглянувший Сообщений: 49 |
#9
13.01.2020 14:55:24 Ключ нужен конечно не просто СЛК (как формат носителя), а именно от 1С:Общепит — https://solutions.1c.ru/catalog/public-catering/buy нужной серии… Замена через обслуживающего партнера-франчайзи производится. Как стандартный апгрейд продуктов 1С. |
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 9
1
18.01.2015, 15:25. Показов 8874. Ответов 4
помогите пожалуйста разобраться при запуске программы выдает ошибку. ошибка: проект вызвал класс исключения ‘EConvertError’ с сообщением is an invalid integer
сама задача: Создать класс обыкновенная дробь, поля класса — числитель и знаменатель.
Методы класса: сокращение дроби, вывод дроби. В классе предусмотреть
методы перегрузки операций: сложение, вычитание, деление и умножение
дробей.
Pascal | ||
|
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
1С 8 СЛК. Ошибка: (EServerResult.ELicenceNotFound) Ключ защиты серии 6E30 не обнаружены
Описание ошибки:
Ошибка при запуске базы конфигурации 1С: Управление аптечной сетью 1.4:
Установка параметров СЛК
Укажите параметры соединения с сервером СЛК
Внимание! В клиент-серверном режиме сервер СЛК должен быть доступен на стороне сервера 1С:Предприятие
Ошибка:
(EServerResult.ELicenceNotFound) Ключ защиты серии 6E30 не обнаружены
Найденные решения:
Возможно, что на сервере, где размещается СЛК произошли какие-то изменения, о которых не оповестили программиста 1С, поэтому данная проблема возникла при запуске конфигурации 1С: Управление аптечной сетью, редакция 1.4 на базе 1С: Управление торговлей редакции 11.4 и не позволяла вести дальнейшую работу с базой.
Нажатие на изображении увеличит его
Надо обратить внимание, что в данном случае в поле «Компьютер» по умолчанию установлено не «localhost», как это устанавливается по умолчанию, а имя сервера, на котором установлена «Консоль сервера СЛК». Ее нужно будет запустить для устранения проблемы. Подробно про Систему лицензирования конфигураций можно прочитать на сайте Рарус.
В браузере откроется «Сервер СЛК». Видно, что есть неопределенные ключи: S/N is not detected Closed: (EReadError) Stream read error
Нажатие на изображении увеличит его
Слева переходим по ссылке «Обновление/восстановление лицензии». И в открывшемся окне нажимаем кнопку «Восстановить/ Обновить автоматически через Интернет» при условии, что интернет на сервере доступен. Если нет, то тогда придется воспользоваться кнопкой «Создать файл» и следовать дальнейшим инструкциям.
Нажатие на изображении увеличит его
В результате успешных операций — Ключ успешно обновлен.
Нажатие на изображении увеличит его
Возвращаемся в активное окно базы 1С 8, если не закрывали и нажимаем кнопку «Применить». Если все удачно, то работа в программе станет возможна. Если базу закрыли, то уже при открытии окно с ошибкой (EServerResult.ELicenceNotFound) Ключ защиты серии 6E30 не обнаружены не возникнет и работа будет возможна.
Нажатие на изображении увеличит его
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
11-10-2021
Журавлев А.С.
(Сайт azhur-c.ru)
Ошибка СЛК в момент открытия базы |
Я |
15.05.18 — 17:31
Ошибка создания менеджера объектов СЛК!: {ОбщийМодуль.СЗК_МодульЗащиты.Модуль(287)}: Ошибка при вызове метода контекста (Подключить): Ошибка подключения внешних метаданных: Ошибка при выполнении файловой операции ‘e1cib/tempstorage/a7dc2b72-1a6a-4c7b-a089-4631b53432b5’: Неверный формат хранилища данных ‘e1cib/tempstorage/a7dc2b72-1a6a-4c7b-a089-4631b53432b5’
Кэш чистил, чек делал. ЧТо еще может быть?
1 — 15.05.18 — 17:38
зеркала протирал?
2 — 15.05.18 — 17:39
(0) После чего вылезло?
3 — 15.05.18 — 17:41
(2) а хер его знает, вроде ничего не происходило
4 — 15.05.18 — 17:41
(3) Не обновляли? Чей ключ?
5 — 15.05.18 — 17:43
Вроде нет, конфа 1С:Учет в управляющих компаниях ЖКХ, ТСЖ и ЖСК, редакция 3.0 (3.0.60.2)
6 — 15.05.18 — 17:43
(0) Защита от опасных действий у пользователя отключена?
7 — 15.05.18 — 17:46
(5) Кэш, удалить-добавить…
8 — 15.05.18 — 17:49
(6) Отключил не помогло
(7) КЭШ удалял. БАзу и списка тоже несколько раз удалял / добавлял
9 — 15.05.18 — 17:51
(8) Очень похоже, что обновили платформу. А ключ не арбайтэн под новую платформу. Стучать разрабу… По разным местам…
10 — 15.05.18 — 17:52
1С:Предприятие 8.3 (8.3.10.2667)
11 — 15.05.18 — 17:52
Вроде не последняя
12 — 15.05.18 — 17:53
+ (9) Как вариант — попробуй на более старой платформе.
13 — 15.05.18 — 17:53
(11) А с ключом все нормально? Может тупо ключ накрылся?
14 — 15.05.18 — 17:54
Ну в СЛК ключ видит все без ошибок.
15 — 15.05.18 — 17:55
(14) В конфигуратор пускает?
16 — 15.05.18 — 17:55
Платформа только одна на компе, значит не должны были обновлять.
17 — 15.05.18 — 17:55
В Конфигуратор пускает
18 — 15.05.18 — 17:56
Саму службу слк перепнули?
19 — 15.05.18 — 17:56
(18) ДА комп перезагружали
20 — 15.05.18 — 17:57
(17) Копию и чеком попробуй — ошибки есть?
21 — 15.05.18 — 17:58
(20) ошибок нет
22 — 15.05.18 — 18:01
Пытаюсь запустить другие базы демо базу, вообще вылетает.
23 — 15.05.18 — 18:03
ТУт наверно либо прав в ОС не хватает либо платформа буду чекать
24 — 16.05.18 — 10:07
При запуске 1с под админскими правами, ошибка исчезает. Как можно определить на что не хватает прав?
25 — 16.05.18 — 10:55
Как я понял, обработка СЛК сохраняется в какое то место на диске и на него прав не хватает. Кто нибудь подскажет где она может находиться
26 — 16.05.18 — 10:59
(25) можно банально открыть монитор ресурсов и смотреть куда система или 1с пишут при запуске. это если прям в лоб и сразу.
27 — 16.05.18 — 11:05
(25) Большой не факт, что на диск.
28 — 30.05.18 — 14:34
Апну тему. Не в правах дело, дал пользователю админские права, результат тот же. Дело в кеше каком то похоже, вроде все чистил у кого есть идеи?
29 — 30.05.18 — 14:38
А если жму запустить от имени администратора, но все норм, что то я запутался
30 — 30.05.18 — 15:29
(29) я бы запустил что-то вроде filemon.exe и regmon.exe — и посмотрел все отказы, после чего думал, почему прав не хватает.
Сияющий в темноте
31 — 30.05.18 — 21:10
Если от администратора все работает,то смотри отображение каталогов в виртуализации VirtualStorage,у пользователя там могут быть кривые данные и они перекроют даже то,что запишут под админом,в запуске в режиме администратора виртуализация гарантированно отключена.
Можно просто попробовать ее отключить.
Я пытаюсь создать программу, которая принимает вводимые пользователем данные и проверяет, действительна ли она как дата (2000-2099 годы). когда я проверял код на ошибку, я дважды подряд вводил ввод в качестве ввода, при первом вводе ошибки не возникало, но во второй раз консоль мигает сообщением и вылетает. Я сделал снимок экрана, когда он разбился, и это ошибка, которую он показал
An unhandled exception occured at $0040CDE1
EConvertError : "" is an invalid integer
Я предполагаю, что ошибка была вызвана одним из моих StrToInt
из-за EConvertError
, но мне неясно, почему он выбрасывает его только при втором прохождении, а не при первом. Я подозреваю, что ошибка возникает в любой строке: 85, 98, 111 или 195.
Когда я изначально писал эту программу, я был новичком в Паскале, поэтому заранее прошу прощения за любой небрежный код.
Ниже приведен весь код, если вы хотите запустить его самостоятельно.
program DateVerifierAssignment;
uses crt, sysutils;
var
userInputArray: array[0..7] of string;
len, i, day, month, year: integer;
date, userInput, stringDay, stringMonth, stringYear: string;
errorCatch: boolean;
//DECLARING FUNCTIONS & PROCEDURES
procedure TitleScreen();
begin
//prints a coloured wall of text to give information like name and instructions
WriteLn(' o-------------------------o');
Write(' | ');TextColor(White);Write('Date Validation Program');TextColor(Cyan);WriteLn(' |');
WriteLn(' o-------------------------o');
WriteLn();
WriteLn(' o-------------------------o');
Write(' | ');TextColor(White);Write('Instructions');TextColor(Cyan);WriteLn(' |');
WriteLn(' o-------------------------o');
Write(' | ');TextColor(White);Write('Enter a date and the');TextColor(Cyan);WriteLn(' |');
Write(' | ');TextColor(White);Write('program will verify it');TextColor(Cyan);WriteLn(' |');
Write(' | ');TextColor(White);Write('and convert it to its');TextColor(Cyan);WriteLn(' |');
Write(' | ');TextColor(White);Write('long form');TextColor(Cyan);WriteLn(' |');
WriteLn(' o-------------------------o');
WriteLn();
TextColor(White);
Write(' press any key to begin');
//waits for user input then clears the screen and returns the text color to white
ReadKey();
ClrScr;
end;
function DateVerification(var userInput: string): boolean;
var
errorLimit : boolean;
bounds: integer;
begin
errorLimit := True;
//stores the length of the string as a variable
len := Length(userInput);
//checks to see if entry is 8 chracters long and displays an error message and returns user to input screen if it doesn't fit
if (len <> 8) and (errorLimit = True) then
begin
ClrScr();
TextColor(Red);
WriteLn('input was not the right length (8 characters)');
TextColor(White);
Write('make sure date fits format ');
TextColor(LightGreen);
WriteLn('dd/mm/yy');
TextColor(White);
Readkey();
ClrScr();
errorLimit := false;
Dateverification := false;
end;
//spits each character into its own spot in an array
for i := 1 to len do
userInputArray[i - 1] := userInput[i];
//tests if every slot in the array where a slash should be is a slash
for i := 0 to len-1 do
begin
if (userInputArray[2] <> '/') or (userInputArray[5] <> '/') and (errorLimit = true) then
begin
ClrScr();
TextColor(Red);
WriteLn('input did not have slashes in correct locations ');
TextColor(LightGreen);
WriteLn('dd/mm/yy');
TextColor(White);
Readkey();
ClrScr();
errorLimit := false;
Dateverification := false;
end;
end;
year := ((StrToInt(userInputArray[6]))*10) + StrToInt(userInputArray[7]);
if (year < 1) or (year > 99) and (errorLimit = true) then
begin
ClrScr();
TextColor(Red);
WriteLn('year was not from 0 to 99');
TextColor(White);
Readkey();
ClrScr();
errorLimit := false;
Dateverification := false;
end;
month := ((StrToInt(userInputArray[3]))*10) + StrToInt(userInputArray[4]);
if (month < 1) or (month > 12) and (errorLimit = true) then
begin
ClrScr();
TextColor(Red);
WriteLn('month was not from 1 to 12');
TextColor(White);
Readkey();
ClrScr();
errorLimit := false;
Dateverification := false;
end;
day := ((StrToInt(userInputArray[0]))*10) + StrToInt(userInputArray[1]);
if (month = 4) or (month = 6) or (month = 9) or (month = 11) then
bounds := 30;
if (month = 2) then
begin
if (IsLeapYear(year) = true) then
bounds := 29
else
bounds := 28;
end
else
bounds := 31;
if (day < 1) or (day > bounds) and (errorLimit = true) then
begin
ClrScr();
TextColor(Red);
WriteLn('day was not from 1 to days in month');
TextColor(White);
Readkey();
ClrScr();
errorLimit := false;
Dateverification := false;
end;
if (errorLimit = true) then
DateVerification := True;
end;
function IsLeapYear(var year: integer): boolean;
//simple function to determine if a year is a leap year on the gregorian calender
begin
if (year mod 4) = 0 then
if (year mod 100 <> 0) then
if (year mod 400 = 0) then
IsLeapYear := true
else
IsLeapYear := false
else
IsLeapyear := false
else
IsLeapyear := false
end;
procedure DateToAlpha(var userInput: string);
begin
end;
//MAIN PROGRAM
begin
//preparing for while loop later in code and changes text colour to cyan
errorCatch := true;
TextColor(Cyan);
//Displays a title screen and instruction about how to use(stored in a procedure to help with readability)
TitleScreen();
//begins a loop so that if an error is to occur the program can easily ask for a new date and try again
while (errorCatch = true) do
begin
//sets error catch to 0 so that if there a no errors the program will not loop
errorCatch := false;
//displays information on how to input a date as well as an example with different colours for better readability
Write('Enter a date in the format');TextColor(LightGreen); WriteLn(' dd/mm/yy');TextColor(White);
Write('e.g. ');TextColor(LightGreen);WriteLn(' 09/07/20'#13#10);TextColor(White);
//takes date user inputs and stores it
ReadLn(userInput);
//calls the date verification function to see if the date is valid
//(refer to dateVerification at the top of the program for more info and comments)
if (DateVerification(userInput) = false) then
errorCatch := true;
len := Length(userInput);
for i := 1 to len do
userInputArray[i - 1] := userInput[i];
year := ((StrToInt(userInputArray[6]))*10) + StrToInt(userInputArray[7]);
readKey();
end;
end.
1 ответ
Лучший ответ
Обычно в SO мы не даем полностью закодированных ответов на вопросы, которые, очевидно, являются курсовой работой.
В этом случае я подумал, что сделаю исключение, потому что было очевидно, что вы создаете излишне тяжелую погоду, и то, как вы это кодировали, скорее всего, действительно помешает отладке и правильной работе.
Итак, в приведенном ниже примере показан очень простой и понятный способ проверки даты в 21 веке, представленный в формате дд / мм / гггг. Он показывает правильный порядок этапов обработки и проверки; если он обнаруживает ошибку на любом этапе, он сообщает, в чем проблема, и останавливается. Если выполнение прерывается до конца, указанная строка даты должна быть действительной.
Я намеренно пропустил петли или приукрашивания кода, потому что для правильного первого важна ясная и лаконичная кодирование этапов обработки и проверки. Если вы хотите использовать петли, хорошо, но так, как вы использовали например errorCatch, держу пари, что если вы вернетесь к своему коду через 6 месяцев, вы не вспомните, как это должно работать. Для этой задачи вам не нужны какие-либо сложные флаги или циклы — пользователь просто должен иметь возможность ввести ровно восемь символов (за которыми следует [Enter]), и тогда код скажет, действительно ли это или нет.
Примечание. Я использовал стандартную функцию копирования, чтобы выделить различные части введенной даты. Кстати, твое заявление
userInputArray: array[0..7] of string;
Просто неправильно. Если вам нужен массив из определенного количества символов , хорошо, но это просто без нужды усложняют обработку и обработку того, что вводит пользователь. Это далеко проще и, следовательно, менее подвержено ошибкам принимать одну строку из 8 символов и просто смирись с этим. Но в любом случае, чтобы разрешить строку включать символы /
после цифр дня и месяца, длина строкиg должна быть 10, а не восемь, чтобы учесть эти цифры и четыре года.
program DateVerification;
uses
SysUtils;
var
sUserInput,
sDay,
sMonth,
sYear : String;
iDay,
iMonth,
iYear,
iDays: Integer;
bIsLeapYear : Boolean;
function DaysInMonth(iMonth, iYear : Integer) : Integer;
begin
Result := -1; // you supply the code for this taking into account leap year for February
end;
begin
writeln('Please enter a date between 01/01/2000 and 31/12/2099 in the format shown');
readln(sUserInput);
if Length(sUserInput) <> 10 then begin
writeln('Input is wrong length.');
Halt;
end;
if (sUserInput[3] <> '/') or (sUserInput[6] <> '/') then begin
writeln('Input is incorrectly delimited.');
Halt;
end;
sDay := Copy(sUserInput, 1, 2);
sMonth := Copy(sUserInput, 4, 2);
sYear := Copy(sUserInput, 7, 4);
iYear := StrToInt(sYear);
if (iYear < 2000) or (iYear > 2099) then begin
writeln('Invalid year : ', sYear);
Halt;
end;
bIsLeapYear := IsLeapYear(iYear); // you supply the code for IsLeapYear
iMonth := StrToInt(sMonth);
if (iMonth < 1) or (iMonth > 12) then begin
writeln('Invalid month : ', sMonth);
Halt;
end;
iDay := StrToInt(sDay);
if (iDay < 1) or (iDay > DaysInMonth(iMonth, iYear)) then begin
// You need to supply the DaysInMoth function, which of course
// needs to account for February in a leap year
writeln('Invalid day of month: ', sMonth);
Halt;
end;
writeln(sUserInput, ' is a valid date.');
readln;
end.
3
MartynA
21 Авг 2020 в 20:42