Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » 1С Программирование и поддержка (1C)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тема для программирования 1С!!!
Это продолжение темы, предыдущие части доступны тут


 Программы » 1С:Предприятие 1C - 1C: Вопросы по конфигурациям

 Варезник » 1C:Предприятие 7.7 - 1С:Предприятие v.8.x - 1C Диск ИТС - 1С: Совместимо 8.х
Топик 1C Ebooks
ЗДЕСЬ  (обновлено 22.02.14) - небольшая библиотечка (книги, документация, видео, утилиты) по 1С, финансам, бухучету и т.п.
Все рассортировано по версиям...
Для заблудившихся в трех соснах >>> FAQ по форуму RU.Board
 
Предыдущие темы были здесь часть 5 | часть 4 | часть 3 | часть 2 | часть 1
 
Как убить рекламу при обновлении отчетности | конфигурации (ИБ)?

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 09:50 30-10-2009 | Исправлено: M_Volkov, 08:35 05-09-2020
iRiverStone

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
M_Volkov
Правильно - отправить чек коррекции на лишний чек возврата прихода. С указанием причин коррекции. Только уточните в вашей налоговой, надо ли давать письменное пояснение к нему. По закону сейчас не надо, но у местечковых налоговых бывает свой взгляд на законы.

Всего записей: 3250 | Зарегистр. 29-03-2016 | Отправлено: 10:37 02-11-2020 | Исправлено: iRiverStone, 10:38 02-11-2020
M_Volkov



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
iRiverStone
Цитата:
Правильно - отправить чек коррекции на лишний чек возврата прихода. С указанием причин коррекции.
Какой чек коррекции, чем отличается? Просто чек отбить по тому же документу основанию. Где писать причину, разве комментарии в Чек на оплату передаются в ОФД?

Всего записей: 5783 | Зарегистр. 23-06-2008 | Отправлено: 13:00 02-11-2020 | Исправлено: M_Volkov, 13:01 02-11-2020
iRiverStone

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
M_Volkov
Кассовый чек коррекции - это не обычный чек. Это совершенно отдельный вид фискального документа. 54-ФЗ.
Цитата:
Кассовый чек коррекции (бланк строгой отчетности коррекции) формируется пользователем в целях исполнения обязанности по применению контрольно-кассовой техники в случае осуществления ранее таким пользователем расчета без применения контрольно-кассовой техники либо в случае применения контрольно-кассовой техники с нарушением требований законодательства Российской Федерации о применении контрольно-кассовой техники.

Всего записей: 3250 | Зарегистр. 29-03-2016 | Отправлено: 17:24 02-11-2020
M_Volkov



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
iRiverStone
Цитата:
Кассовый чек коррекции - это не обычный чек. Это совершенно отдельный вид фискального документа.
У нас вроде и нет такого в Альфа-Авто 4.1.

Всего записей: 5783 | Зарегистр. 23-06-2008 | Отправлено: 18:11 02-11-2020
iRiverStone

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
M_Volkov
А что за ККМ на местах стоят? Например, для Штрихов и Атолов чек коррекции можно сформировать из утилиты управления драйвером. а в АА тогда просто грохнете любым доступным способом чек возврата да и дело с концом.

Всего записей: 3250 | Зарегистр. 29-03-2016 | Отправлено: 18:29 02-11-2020
M_Volkov



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
iRiverStone
Атол-11Ф. Да в Альфа-Авто у нас все нормально, 2-й возвратный чек даже не записался. А в ОФД ушел, теперь у них по отчету 2 возвратных чека на один чек оплаты. Вроде как часть выручки скрыли. Собираемся отбить еще чек оплаты по том уже основанию, отправить его в ОФД, затем его удалить, чтобы в Альфа-Авто все осталось по-прежнему.

Всего записей: 5783 | Зарегистр. 23-06-2008 | Отправлено: 18:55 02-11-2020
iRiverStone

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
M_Volkov
Штраф за нарушение порядка применения ККТ для юрлиц - от 5 000 до 10 000 рублей. Но дело ваше, можно и так сделать, деньга не велика. Разве что дир орать будет за то, что его на комиссию стаскают

Всего записей: 3250 | Зарегистр. 29-03-2016 | Отправлено: 19:07 02-11-2020
M_Volkov



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
iRiverStone
Цитата:
Штраф за нарушение порядка применения ККТ...
У нас нарушений нет, это в ОФД нарушения хотим исправить...

Всего записей: 5783 | Зарегистр. 23-06-2008 | Отправлено: 19:54 02-11-2020
iRiverStone

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
M_Volkov
Т.е. это не вы пробили лишний чек на возврат? То, что отправлено в ОФД - лишь отражение фискальной операции, которую вы произвели на своей ККМ и которая сохранена в её фискальном накопителе. И есть определённый законом порядок исправления таких ошибочных операций. А вы хотите действовать не в соответствии с действующим порядком. Но нарушений у вас нет, да
Не поленитесь, погуглите как через драйвер Атола отправить чек коррекции. Там всё примитивно просто, зато с гарантией, что у налоговой претензий не будет.

Всего записей: 3250 | Зарегистр. 29-03-2016 | Отправлено: 20:11 02-11-2020 | Исправлено: iRiverStone, 20:14 02-11-2020
M_Volkov



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
iRiverStone
Цитата:
погуглите как через драйвер Атола отправить чек коррекции.
Вроде нашел Кассовый чек коррекции по 54-ФЗ - знакомая картинка, но не пользовался. Только не понял: какой ставить тип чека (Коррекция прихода или возврата прихода), и где в нем писать причину (на какой вкладке)?

Всего записей: 5783 | Зарегистр. 23-06-2008 | Отправлено: 20:38 02-11-2020 | Исправлено: M_Volkov, 06:51 03-11-2020
M_Volkov



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Может здесь программисты помогут с ОС-аутентификацией
Можно при запуске проверять включена ли Аутентификация ОС у пользователя, заполнено ли его доменное имя. Если заполнено \\ИмяДомена\ИмяПользователяОС, то возможно он зашел с ОС-аутентификацией. Но не факт, запись \\ИмяДомена\ИмяПользователяОС может быть устаревшей, например имя домена поменялось.
Есть статья Полезные процедуры работы с AD, но не полная: в ней есть функция ПолучитьСписокПользователейВГруппеДомена(СокрЛП(ИмяДомена), ИмяГруппы), но нет ПолучитьСписокПользователейДомена(ИмяДомена). Оказывается у меня домены содержат много групп (в котором я - 37 групп), как их искать - не знаю
Код:
// Возвращает Истина, если пользователь имеет аутентификацию ОС
//
Функция АутентификацияWindows(Пользователь = Неопределено, ИмяДомена = "", ИмяПользователяОС = "") Экспорт
    ИмяДоменаПользователяОС = СокрЛП(мвДоработкиНаСервере.ПользовательИБ(Пользователь).ПользовательОС);
    Если ПустаяСтрока(ИмяДоменаПользователяОС) Или Найти(Сред(ИмяДоменаПользователяОС, 3), "\") = 0 Тогда
        Возврат Ложь;
    КонецЕсли;
    ИмяДомена = Сред(ИмяДоменаПользователяОС, 3, Найти(Сред(ИмяДоменаПользователяОС, 3), "\") - 1);
    ИмяПользователяОС = СтрЗаменить(ИмяДоменаПользователяОС, "\\" + ИмяДомена + "\", "");
    ГруппыДомена = ПолучитьСписокГруппВДомене(ИмяДомена);
    Сообщить("ИмяДомена: " + ИмяДомена + ", ИмяПользователяОС: " + ИмяПользователяОС + ", ГруппыДомена: " + ГруппыДомена.Количество(), СтатусСообщения.Внимание);
    
    Массив = ПолучитьСписокПользователейВГруппеДомена(СокрЛП(ИмяДомена));
    Для каждого элМассив из Массив Цикл  
        Если ВРег(элМассив) = ВРег(СокрЛП(ИмяПользователяОС)) Тогда   // пользователь уже в группе    
            Возврат Истина;    
        КонецЕсли;  
    КонецЦикла;  
    Возврат Ложь;
КонецФункции // АутентификацияWindows()
Может кто подскажет как написать функцию ПолучитьСписокПользователейДомена(ИмяДомена)?

Всего записей: 5783 | Зарегистр. 23-06-2008 | Отправлено: 16:13 04-11-2020
M_Volkov



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Может кто подскажет как написать функцию ПолучитьСписокПользователейДомена(ИмяДомена)?

Без нее обошелся:
Код:
Функция АутентификацияWindows(Пользователь = Неопределено, ИмяДоменаПользователяОС = "", Ошибка = "") Экспорт
    ИмяДоменаПользователяОС = СокрЛП(мвДоработкиНаСервере.ПользовательИБ(Пользователь).ПользовательОС);
    Если Не мвДоработкиНаСервере.ПользовательИБ(Пользователь).АутентификацияОС Или ПустаяСтрока(ИмяДоменаПользователяОС) Или Найти(Сред(ИмяДоменаПользователяОС, 3), "\") = 0 Тогда
        Возврат Ложь;
    КонецЕсли;
    ИмяПользователяОС = СтрЗаменить(ИмяДоменаПользователяОС,"\","/");
    Попытка
        ПользовательОС = ПолучитьCOMОбъект("WinNT:" + ИмяПользователяОС + ",user");    // http://catalog.mista.ru/1c/articles/22314/
    //    Сообщить("Найден пользователь домена: " + Сред(ИмяДоменаПользователяОС, 3, Найти(Сред(ИмяДоменаПользователяОС, 3), "\")) + ПользовательОС.FullName + " с ОС-аутентификацией: " + ИмяДоменаПользователяОС, СтатусСообщения.Внимание);
        Возврат Истина;    
    Исключение
        Ошибка = "Пользователь домена: " + ИмяДоменаПользователяОС + " не найден.";
    //    Сообщить(Ошибка, СтатусСообщения.Внимание);
    КонецПопытки;  
    Возврат Ложь;
КонецФункции // АутентификацияWindows()
А еще вставил проверку на правильность имени домена\пользователя ОС, совпадет ли с ТекущийПользовательОС. А то встречаются неправильные, устаревшие записи (например, имя домена или учетки сменилось).
Код:
Функция ПервоначальнаяИнициализация(ЕстьПраваАдминистратора,ОбнаруженПервыйЗапуск,НеобходимоОбновлениеБазыДанных) Экспорт
    
    Пользователь = ПараметрыСеанса.Пользователь;
    ИмяПользователя = ИмяПользователя();
    ПолноеИмяПользователя = ПолноеИмяПользователя();
    
    // Переопределим текущий компьютер (в клиентской сессии пользователя он может
    // отличным от того что был определен в УстановкаПараметровСеанса)
    Состояние("Обновляем информацию о компьютере ...");
    Имя = мвДоработки.ПолучитьИмяКомпьютераТО();    //+МВ 10.10.2017
    Если Не ПустаяСтрока(Имя) Тогда
        Ошибка = "";    ИмяДоменаПользователяОС = "";    АутентификацияОС = мвДоработки.АутентификацияWindows(Пользователь, ИмяДоменаПользователяОС, Ошибка);
        ЗаписьЖурналаРегистрации("Терминальный вход пользователя: " + СокрЛП(Пользователь.Код),
                                 УровеньЖурналаРегистрации.Информация,
                                 ?(ТипЗнч(Пользователь) = Тип("СправочникСсылка.Пользователи"), Пользователь.Метаданные(), Неопределено),
                                 Пользователь,
                                 "с компьютера: " + Имя + ", " + ?(ПустаяСтрока(Ошибка), ?(АутентификацияОС, "ОС", "1С") + "-аутентификация", Ошибка));    //+МВ 02.11.2020
        //+МВ 05.11.2020 Проверим правильность имени домена\пользователя ОС, совпадет ли с ТекущийПользовательОС
        Если АутентификацияОС Тогда
            СоединенияИнформационнойБазы = ПолучитьСоединенияИнформационнойБазы();
            Фильтр = Новый Структура("Событие", "_$Session$_.Authentication");    
            ТЗ = Новый ТаблицаЗначений;
            ВыгрузитьЖурналРегистрации(ТЗ, Фильтр, "Сеанс, Данные, Дата", , 200);
            ТЗ.Сортировать("Дата Убыв");  
            ТекущийПользовательОС = Неопределено;
            Для Каждого Соединение Из СоединенияИнформационнойБазы Цикл
                НайденнаяСтрока = ТЗ.Найти(Соединение.НомерСеанса, "Сеанс");
                Если НайденнаяСтрока <> Неопределено Тогда
                    ДанныеСобытия = НайденнаяСтрока.Данные;
                    Если ДанныеСобытия.Свойство("ТекущийПользовательОС") Тогда
                        Если Соединение.Пользователь.Имя = СокрЛП(Пользователь.Код) Тогда
                            ТекущийПользовательОС = ДанныеСобытия.ТекущийПользовательОС;
                        //    Сообщить(СокрЛП(Пользователь.Код) + " - " + ТекущийПользовательОС);
                            Прервать;
                        КонецЕсли;
                    КонецЕсли;
                КонецЕсли;
            КонецЦикла;
            Если ТекущийПользовательОС <> Неопределено И СокрЛП(ТекущийПользовательОС) <> Сред(ИмяДоменаПользователяОС, 3) Тогда
                ЗаписьЖурналаРегистрации("Для пользователя: " + СокрЛП(Пользователь.Код),
                                         УровеньЖурналаРегистрации.Предупреждение,
                                         ?(ТипЗнч(Пользователь) = Тип("СправочникСсылка.Пользователи"), Пользователь.Метаданные(), Неопределено),
                                         Пользователь,
                                         "неверно указана учетная запись ОС: " + ИмяДоменаПользователяОС + ", не соответствует пользователю ОС: " + СокрЛП(ТекущийПользовательОС));
            КонецЕсли;
        КонецЕсли;    //-МВ
Может можно попроще ТекущийПользовательОС получить? Написал по примеру.

Всего записей: 5783 | Зарегистр. 23-06-2008 | Отправлено: 16:38 05-11-2020 | Исправлено: M_Volkov, 14:48 06-11-2020
greenpiss

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые форумчане, добрый день!
 
Не работают PUSH-уведомления в оф. мобильном приложении 1С Документооборот на iOS. Версия конфигурации сервера Документооборот 8 КОРП, редакция 2.1 (2.1.26.2).
 
Публикацию веб-сервера выполнил, включая http-сервис mobileapp. Мобильное приложение прекрасно синхронизируется с базой, идут задачи. Но нет PUSH!
В настройках 1С установил сертификат APNS.pem для iOS, который идет с официальным дистрибутивом.
Очистил внешней обработкой записи о старых PUSH (по оф. инструкции).
В персональных настройках уведомления PUSH включены.
Регламентное задание по отправке PUSH завершается без ошибок.
В самом моб. приложении уведомления PUSH также включены.
 
Куда копать? Может сталкивался кто. Спасибо заранее.

Всего записей: 1 | Зарегистр. 05-11-2020 | Отправлено: 13:29 17-11-2020
karko99

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый вечер, коллеги.
В горестных раздумьях - 1с77 - хотелось бы поменять проводки в реализации без перепроведения документов -попробовать обработкой -удалить старые проводки и подложить новые - по идее платформа не должна разрешить, даже если все разрешения на документ повключать - идей нет надо пробовать - может кто делал - возможно ли - не уверен - заранее спасибо

Всего записей: 80 | Зарегистр. 25-03-2011 | Отправлено: 21:32 17-11-2020
M_Volkov



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Есть функция:
Код:
Функция ДоступностьКомпьютера(ИмяКомпьютера, ТекстСообщения = "") Экспорт
    
    objShell = Новый COMОбъект("WScript.Shell");
    objScriptExec  = objShell.Exec("ping.exe -n 1 " + ИмяКомпьютера);
    strPingResults = НРег(objScriptExec.StdOut.ReadAll());
    Если Найти(strPingResults, "ttl=") = 0 Тогда
        ТекстСообщения = "Компьютер: '" + ИмяКомпьютера + "' - недоступен!";
        Результат = Ложь;
    Иначе
        ТекстСообщения = ?(Найти(strPingResults, "[") = 0, "", "IP-адрес: " + Сред(strPingResults, Найти(strPingResults, "[") + 1, Найти(strPingResults, "]") - Найти(strPingResults, "[") - 1));
        Результат = Истина;
    КонецЕсли;
    Возврат Результат;
    
КонецФункции // ДоступностьКомпьютера()
Работает, но черное окно мелькает... Посоветовали:
Код:
    objShell = Новый COMОбъект("WScript.Shell");
    Возврат objShell.Run("ping -n 1 " + ИмяКомпьютера, 0, Истина) = 0;
Доступность компьютера правильно срабатывает, без черного окна, но его IP-адрес не выдает.
Говорят код надо VBS-скриптами оборачивать. Это как?

Всего записей: 5783 | Зарегистр. 23-06-2008 | Отправлено: 09:45 18-11-2020 | Исправлено: M_Volkov, 19:06 18-11-2020
us0r



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть 1С 8.3, файловая. Ковыряю создание пользователей. Написал такой код на Powershell:

Код:
 
$v83Connect= New-Object -ComObject v83.COMConnector
$OneAssV83= $v83Connect.Connect("File=D:\1c_base\1c8\test;Usr=Администратор;Pwd=123456")
$OneAssUsers= $OneAssV83.Справочник.ПользователиСистемы
$OneAssUsersNewUser= $OneAssUsers.СоздатьПользователя()
$OneAssUsersNewUser.Имя= "Test"
$OneAssUsersNewUser.ПолноеИмя= "Powershell Created User"
$OneAssUsersNewUser.АутентификацияСтандартная = Истина
$OneAssUsersNewUser.АутентификацияОС = Ложь
$OneAssUsersNewUser.Пароль = '123456'
 
# -----------------------------------------------------------------
$OneAssUsersNewUser.Добавить(Метаданные.Роли.Администратор)
# -----------------------------------------------------------------
 
$OneAssUsersNewUser.ПоказыватьВСпискеВыбора = Истина
$OneAssUsersNewUser.Записать()
 

 
Он у меня падает, судя по ошибке приведённой ниже, на этом строке:
$OneAssUsersNewUser.Добавить(Метаданные.Роли.Администратор)
 
Ошибка с которой он падает:

Код:
+ $OneAssUsersNewUser.Добавить(Метаданные.Роли.Администратор)
+                              ~
Отсутствует ")" в вызове метода.
C:\Users\Администратор\Desktop\1cuserwork.ps1:18 знак:30
+ $OneAssUsersNewUser.Добавить(Метаданные.Роли.Администратор)
+                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Непредвиденная лексема "Метаданные.Роли.Администратор" в выражении или операторе.
C:\Users\Администратор\Desktop\1cuserwork.ps1:18 знак:59
+ $OneAssUsersNewUser.Добавить(Метаданные.Роли.Администратор)
+                                                           ~
Непредвиденная лексема ")" в выражении или операторе.
    + CategoryInfo          : ParserError: ( [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MissingEndParenthesisInMethodCall

 
Как мне его заставить работать?

Всего записей: 406 | Зарегистр. 06-12-2007 | Отправлено: 14:01 18-11-2020
M_Volkov



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Говорят код надо VBS-скриптами оборачивать. Это как?
Вроде попробовал VBS-скрипт написать
Код:
Функция ДоступностьКомпьютера(ИмяКомпьютера, ТекстСообщения = "") Экспорт
    Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
    Скрипт.Language = "vbscript";
    ТекстСкрипта = "
    |Function Ping (Name)
    |Set Cmd = CreateObject(""WScript.Shell"")
    |Set WshExec = Cmd.Exec (""cmd.exe /q /k echo off"")
    |WshExec.StdIn.WriteLine ""chcp 1252>nul""
    |WshExec.StdIn.WriteLine ""ping -n 1 "" & Name & "" ""
    |WshExec.StdIn.WriteLine ""exit""
    |Ping = WshExec.StdOut.ReadAll()
    |End Function";
    Скрипт.AddCode(ТекстСкрипта);
    strPingResults = НРег(Скрипт.Run("Ping", ИмяКомпьютера));    // Строка для разбора
    Результат = Найти(strPingResults, "ttl=") > 0;
    Если Результат Тогда
        ТекстСообщения = ?(Найти(strPingResults, "[") = 0, "", "IP-адрес: " + Сред(strPingResults, Найти(strPingResults, "[") + 1, Найти(strPingResults, "]") - Найти(strPingResults, "[") - 1));
    Иначе
        ТекстСообщения = "Компьютер: '" + ИмяКомпьютера + "' - недоступен!";
    КонецЕсли;
    Возврат Результат;
 
КонецФункции // ДоступностьКомпьютера()
Работает, но черное окно опять мелькает... Что посоветуете?

Всего записей: 5783 | Зарегистр. 23-06-2008 | Отправлено: 19:05 18-11-2020 | Исправлено: M_Volkov, 10:52 20-11-2020
nehalem



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста разобраться, есть самодельная конфигурация в 1с 8, там код загрузки курсов валют с сайта Нацбанка Беларуси,
на днях Нацбанк отключил доступ по HTTP, оставили только HTTPS (сама ссылка не поменялась)
Так вот этот код перестал загружать файл. Что изменить, чтобы и по HTTPS он срабатывал?
 
было http://www.nbrb.by/Services/XmlExRates.aspx?ondate=
стало https://www.nbrb.by/Services/XmlExRates.aspx?ondate=
 
UPD: замена  просто адреса на https не помогает, висит полминуты, но курсы не загружает
 

Код:
Функция ЗагрузитьКурсыВалютПоПараметрам(знач Валюты, знач НачалоПериодаЗагрузки, знач ОкончаниеПериодаЗагрузки,  
    ПриЗагрузкеВозниклиОшибки = Ложь) Экспорт
    
    // 1С-Минск                                    
    СтатусОперации = Истина;
    
    СерверИсточник = "www.nbrb.by";
    
    ОдинДень = 0;
    Пока (НачалоДня(НачалоПериодаЗагрузки)+ОдинДень) <= НачалоДня(ОкончаниеПериодаЗагрузки) Цикл
        ФайлНаВебСервере = "http://www.nbrb.by/Services/XmlExRates.aspx?ondate=";
        
        // адрес для запроса
        ДеньВФормате = Формат((НачалоДня(НачалоПериодаЗагрузки)+ОдинДень), "ДФ=MM/dd/yyyy");
        ФайлНаВебСервере = ФайлНаВебСервере + ДеньВФормате;
        
        #Если НаКлиенте Тогда
        Результат = ПолучениеФайловИзИнтернетаКлиент.СкачатьФайлНаКлиенте(ФайлНаВебСервере);
        #Иначе
        Результат = ПолучениеФайловИзИнтернета.СкачатьФайлНаСервере(ФайлНаВебСервере);
        #КонецЕсли
        
        Если Результат.Статус Тогда
            #Если НаКлиенте Тогда
            ДвоичныеДанные = Новый ДвоичныеДанные (Результат.Путь);
            АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
            РаботаСКурсамиВалютРБ.ОбработатьФайлСКурсамиВалют(АдресВоВременномХранилище, НачалоПериодаЗагрузки, ОдинДень);
            #Иначе
            РаботаСКурсамиВалютРБ.ОбработатьФайлСКурсамиВалют(Результат.Путь, НачалоПериодаЗагрузки, ОдинДень);
            #КонецЕсли
            УдалитьФайлы(Результат.Путь);
        Иначе
            СтатусОперации = Ложь;
            СообщениеОбОшибке= НСтр("ru = 'Ошибка при получении курсов валют (%1 - %2):'")
                                  + Символы.ПС + "%3";
            СообщениеОбОшибке =  
                 СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                                       СообщениеОбОшибке,
                                       "",
                                       "",
                                       Результат.СообщениеОбОшибке);
        КонецЕсли;
        // увеличим счетчик
        ОдинДень = ОдинДень + 60*60*24;                            
    КонецЦикла;
    
    // 1С-Минск    
    
    Возврат СтатусОперации;
    
КонецФункции
 


Всего записей: 1200 | Зарегистр. 07-02-2003 | Отправлено: 10:21 08-12-2020 | Исправлено: nehalem, 10:45 08-12-2020
LaCastet



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nehalem

Цитата:
ФайлНаВебСервере = "http://www.nbrb.by/Services/XmlExRates.aspx?ondate=";

А если адрес поменять?

Код:
ФайлНаВебСервере = "https://www.nbrb.by/Services/XmlExRates.aspx?ondate=";


----------
Пиво — это еще одно доказательство того, что Господь любит нас и хочет, чтоб мы были счастливы!

Всего записей: 4566 | Зарегистр. 27-07-2005 | Отправлено: 10:35 08-12-2020
nehalem



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LaCastet
первым делом пробовал, не срабатывает
висит полминуты, стучится к серверу, но файл не получает

Всего записей: 1200 | Зарегистр. 07-02-2003 | Отправлено: 10:43 08-12-2020 | Исправлено: nehalem, 10:47 08-12-2020
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » 1С Программирование и поддержка (1C)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru