uk
Feedback
1С:Предприятие 8

1С:Предприятие 8

Відкрити в Telegram

🔥 Разработка в 1С — просто и понятно! 🔥 ✅ Полезные фишки и лайфхаки для разработчиков ✅ Объяснение сложных тем простыми словами ✅ Готовые решения, сниппеты и примеры кода ✅ Разбор ошибок и способов их устранения ✅ Новости и тренды в мире 1С

Показати більше
879
Підписники
Немає даних24 години
+17 днів
-230 день
Архів дописів
+2
Управляемые формы Добавляем поля на форму списка и форму обработки Устанавливаем режим пароля в элементе формы 1С Костыльное программирование. Множество запросов в цикле для дерева значений источник 👉@DevLab1C

Сеанс работы завершен администратором 1. Первопричина появления ошибки при выгрузке базы в dt-файл Задача: Необходимо выгрузи
Сеанс работы завершен администратором 1. Первопричина появления ошибки при выгрузке базы в dt-файл Задача: Необходимо выгрузить базу в dt-файл. Вроде бы ничего не предвещало беды и тут возникает такого рода ошибка: «Сеанс работы завершен администратором». В данной статье мы постараемся осветить рабочие способы для устранения этого рода ошибки. Поводов для появления в 1С «Сеанс работы завершен администратором» может быть множество, но среди них есть общее направление для 1С – неэффективное использование ресурсов оперативной памяти. Опытным путем установили, что если перезагрузить сервер то данная ошибка уходит. Правда, не навсегда. Действительно после перезагрузки сервера высвободилось и стало доступным больший объем оперативной памяти, на первый взгляд «Ура! Работает!». Но, со временем проблема вернется. 2. Решение проблемы с помощью Проверки конфигурации Проблема чаще всего такое происходит на ОС Windows х32 (32 битных системах). Выход: переходите на 64-разрядный сервер приложений. Давайте ознакомимся с рабочими рекомендациями от сотрудников компании 1С: 1. Рекомендуется в "Конфигураторе" выполнить «Проверку конфигурации» с возведенным флагом «Проверка логической целостности конфигурации». Команда отработает автоматично. В случае если будет выявлена проблема или нарушена целостность конфигурации, вы получите уведомление, а некорректная информация удалена. 2. «Доверяй, но проверяй». Даже если проблемная конфигурация официально поддерживается, необходимо все же ее проверить! Предварительно сохраните Вашу конфигурацию в файл (cf), сделать это можно в пункте настройки поддержки. После этого в новую созданную базу следует загрузить cf-файл и заново выполнить «Проверку конфигурации» (см. п.1). Если в процессе выполнения процедуры проверки будет выдано уведомление об исправлении, это может означать, что ваша конфигурация содержит "битые" данные. В таком случае, снимите вашу проблемную конфигурацию 1С с официальной поддержки и после этого объединить ее с последним релизом конфигурации от поставщика. Также возникновение ошибки Сеанс работы завершен администратором может быть связано с Записями данных в таблице sql «config», размер которых превышает 120 Мегабайт. Альтернативные методы решения проблемы: В случае если предыдущие рекомендации вам не помогли попробуйте проделать следующие процедуры: 1. Отключить фоновые задачи. Сделать это необходимо для всех баз. Проверьте результаты. Возможно, этого будет вполне достаточно, и проблема будет решена 2. Перезапустите сервер. 3. Сделайте резервную копию базы (бэкап) инструментами SQL. 4. Снимите вашу текущую конфигурацию с поддержки затем выгрузите ее файл (cf) 5. Для проблемной базы в среде SQL необходимо выполнить следующий код (его выполнение почистит данные более 120 Мегабайт): DELETE FROM dbo.Config WHERE DataSize > 125829120 6. Загружаем (НЕ ОБЪЕДИНЯЕМ) конфигурацию из CF. 👉@DevLab1C

Операции над файлами в 1С 8.3 &НаКлиенте Процедура ОперацииНадФайлами(Команда) // Создание переменных (имя и путь к файлу) Пу
Операции над файлами в 1С 8.3

&НаКлиенте
Процедура ОперацииНадФайлами(Команда)

    // Создание переменных (имя и путь к файлу)
    ПутьКФайлу_Test="D:\Test.txt";
    ПутьКФайлу_Copy="D:\Copy.txt";

    // Создание пустого файла
    ТекстФайл = Новый ЗаписьТекста();
    ТекстФайл.Закрыть();

    // Проверка на существование файла
    ТекстФайл = Новый Файл(ПутьКФайлу_Test);
    Если ТекстФайл.Существует() Тогда
        Сообщить(ПутьКФайлу_Test+" существует!");
    КонецЕсли;

    // Копирование файла. Параметры: Какой файл копируем, Куда файл копируем
    КопироватьФайл(ПутьКФайлу_Test, ПутьКФайлу_Copy);// Если файл существует, то перезапишет

    // Перемещение файла. Параметры: Какой файл копируем, Куда файл копируем
    ПереместитьФайл(ПутьКФайлу_Test, ПутьКФайлу_Copy);// Если файл существует, то перезапишет

    // Поиск файлов в каталоге (функция возвращает массив значений)
    // Параметры: Каталог поиска, Маска поиска, Поиск и в подкаталогах
    МассивФайлов = НайтиФайлы("D:\", "*.txt", Ложь);
    Для Каждого ТекФайл Из МассивФайлов Цикл
        Сообщить("Найден файл: " + ТекФайл.ПолноеИмя);
    КонецЦикла;

    // Удаление файла
    УдалитьФайлы(ПутьКФайлу_Test); // Если файл с параметром только для чтения, то будет ошибка

    // Удаление файлов в каталоге по маске
    // поиск в каталоге нерекурсивный
    УдалитьФайлы("D:\","*.txt"); // Если маски нет, то удалятся все файлы и сам каталог

    // Получение имя временного файла
    ПолучитьИмяВременногоФайла(); // Например, C:\Temp\H_kImX035.tmp
    ПолучитьИмяВременногоФайла(".txt"); // Например, C:\Temp\H_kImX035.txt

КонецПроцедуры
👉@DevLab1C

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии 📌 https://max.ru/progjob Вакансии в IT Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Бонус 📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы

+9
Обновление нетиповых конфигураций 1С Урок 1. Немного теории Урок 2. Подготовка Урок 3. Начинаем обновлять Урок 4. Расставляем флажки - i Урок 5. Расставляем флажки - ii Урок 6. Неразрешимые ссылки Урок 7. Подготовка ко второму этапу Урок 8. Восстановление доработок - i Урок 9. Восстановление доработок - ii Урок 10. Обновляем рабочую базу источник 👉@DevLab1C

Настройка работы 1С Предприятия 8.3 с использованием PostgreSQL в среде Linux 👉@DevLab1C

Программно дорабатываем / модифицируем управляемые формы Создание элементов формы – занятие отнюдь не программного характера.
Программно дорабатываем / модифицируем управляемые формы Создание элементов формы – занятие отнюдь не программного характера. И делается это так. Мы создаем реквизиты формы 1С 8.3, потом «перекидываем» их в элементы формы, задаем оформление, и форма готова! В конфигураторе 1С 8 в таком случае мы увидим приближенную к пользовательскому интерфейсу форму. Это удобно. Но бывают случаи, когда количество реквизитов формы заранее неизвестно. Что делать в этом случае? Можно, например, сделать намного больше реквизитов (с запасом), вынести их в элементы формы и скрывать программно лишние. Но всегда остается вопрос, достаточно ли мы создали тех самых реквизитов, и так ли поступают настоящие программисты? В этой статье мы рассмотрим и другой вариант: реквизиты и элементы будем создавать кодом. Чтобы делать это было интересней, придумаем задачу. https://telegra.ph/Programmnoe-sozdanie-upravlyaemoj-formy-03-27 👉@DevLab1C

Использование виртуальных таблиц 1С в запросах Содержание: 1. Получение данных — создание запросов к базе данных. 2. Структур
Использование виртуальных таблиц 1С в запросах Содержание: 1. Получение данных — создание запросов к базе данных. 2. Структура регистров. 3. Доступ к виртуальным таблицам 1С. 4. Параметры виртуальной таблицы 1С остатков. 5. Основные параметры таблицы Оборотов. https://telegra.ph/Ispolzovanie-virtualnyh-tablic-1S-v-zaprosah-03-25 👉@DevLab1C

Как в запросе сравнить строку с шаблоном в 1с 8.3, 8.2 Процедура СравнениеСтрокиСШаблоном() Запрос = Новый Запрос( " | ВЫБРАТ
Как в запросе сравнить строку с шаблоном в 1с 8.3, 8.2

Процедура СравнениеСтрокиСШаблоном()
Запрос = Новый Запрос(
"
| ВЫБРАТЬ
| Наименование
| ИЗ
| Справочник.Номенклатура
| ГДЕ
| Наименование ПОДОБНО ""%[Тт][Оо][Вв][Аа][Рр]%""
|"
);
 
// % - любое количество произвольных символов
// _ - один произвольный символ
// [] - любой одиночный символ, перечисленный внутри скобок
// [^] - любой одиночный символ, кроме тех, что внутри скобок после ^
 
Результат = Запрос.Выполнить();
ОткрытьЗначение(Результат.Выгрузить(ОбходРезультатаЗапроса.Прямой));
КонецПроцедуры
👉@DevLab1C

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии 📌 https://max.ru/progjob Вакансии в IT Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Бонус 📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы

Как в запросе сделать проверку значения на NULL в 1с 8.3, 8.2 Как получить пустую ссылку в запросе в 1с 8.3, 8.2 Процедура Пр
Как в запросе сделать проверку значения на NULL в 1с 8.3, 8.2 Как получить пустую ссылку в запросе в 1с 8.3, 8.2

Процедура ПроверкаЗначенияНаNULL_ПустаяСсылкаВЗапросе()
Запрос = Новый Запрос(
"
| ВЫБРАТЬ
| ЕСТЬNULL(Ссылка, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка))
| ИЗ
| Справочник.Номенклатура
|"
);
 
Результат = Запрос.Выполнить();
ОткрытьЗначение(Результат.Выгрузить(ОбходРезультатаЗапроса.Прямой));
КонецПроцедуры
👉@DevLab1C

Как вывести штрихкод в печатную форму 1С Материалы из видео можно скачать по ссылке: https://drive.google.com/file/d/15y-EnMwYMqUr0GrprWVc2KydXJDQRSVe/view источник 👉@DevLab1C

Инструменты 1С программиста В своей работе каждому 1С программисту приходиться использовать какие то инструменты, консоли, об
Инструменты 1С программиста В своей работе каждому 1С программисту приходиться использовать какие то инструменты, консоли, обработки и прочих помощников. Расскажу, какими инструментами пользуюсь лично я. https://telegra.ph/Instrumenty-1S-programmista-03-15 👉@DevLab1C

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии 📌 https://max.ru/progjob Вакансии в IT Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Бонус 📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы

Пример реализации двухфакторной авторизации на 1С 8.3.21

&НаСервере
Процедура СозданиеШаблонаНастроекВторогоФактораАутентификации() // кнопка в обработке

  ШаблонНастроек = ШаблоныНастроекВторогоФактораАутентификации.СоздатьШаблон();

  ЗапросHTTP = Новый HTTPЗапрос;
  ЗапросHTTP.АдресРесурса = "&host"; //в этот параметр на следующем шаге запишется адрес куда отправлять HTTP запрос
  ЗапросHTTP.УстановитьТелоИзСтроки("Ваш код &secret","utf-8"); //тут можно изменить текстовку, обязательно ставим кодировку

  ШаблонНастроек.HTTPЗапросНаАутентификацию = ЗапросHTTP;
  ШаблонНастроек.МетодHTTPЗапросаНаАутентификацию = "POST"; //тут или GET, или POST,
 //я в дальнейшем буду запрашивать пароли через POST
  ШаблонНастроек.Имя = "ИмяШаблона"; //задаем имя шаблона, который используем в дальнейшем для назначения пользователю

  ШаблонНастроек.Записать();

  // Ставим галочку в конфигураторе у пользователя
  // (Администрирование->Пользователи->ищем кому поставить) "Аутентификация токеном доступа"

КонецПроцедуры

&НаСервере
Процедура НазначениеШаблонаВторогоФактораАутентификации()

  Пользователь = ПользователиИнформационнойБазы.НайтиПоИмени("ИмяПользователя"); //ИмяПользователя - меняем на имя пользователя
  НастройкаВФА = Новый НастройкаВторогоФактораАутентификации;
  НастройкаВФА.ИмяШаблонаНастройки = "ИмяШаблона"; //Имя шаблона задавали на 1-ом этапе

  ПараметрыНастройки = Новый Соответствие;
  ПараметрыНастройки.Вставить("host","http://"127.0.0.1/otpavkod/hs/sendpass/?tel=123456789"); //Задаем адрес на который будет отправлен HTTP Запрос с кодом для авторизации
  НастройкаВФА.Параметры = ПараметрыНастройки; //Задаем значение настройки

  МассивНастроек = Новый Массив;
  МассивНастроек.Добавить(НастройкаВФА); //задаем массив настроек, тут важно, что это массив, а значит можно указать несколько настроек аутентификации

  Пользователь.НастройкиВторогоФактораАутентификации = МассивНастроек; //Устанавливаем настройки пользователю
  Пользователь.ОбработкаНастроекВторогоФактораАутентификации = ТипОбработкиНастроекВторогоФактораАутентификации.ИспользоватьСледующуюПриОшибке; //что делать при некорректном вводе кода
  Пользователь.Записать();

КонецПроцедуры
👉@DevLab1C

🤯 Решаем тестовую задачу из собеседования на должность 1С программиста. Рассмотрим способ решения интересной тестовой задачи на вакансию 1С программиста. Задача одновременно проверяет знание запросов, СКД и в целом понимания что и откуда растет. источник 👉@DevLab1C

Обычные формы. Как организовать подбор в табличную часть Рассмотрим решение задачи на примере формы документа, у которого име
Обычные формы. Как организовать подбор в табличную часть Рассмотрим решение задачи на примере формы документа, у которого имеется табличная часть «Заказ-наряды». 1. На форме документа на командную панель табличной части «Заказ-наряды» добавляем кнопку подбора и прописываем её код:


Процедура ПодборНарядов(Кнопка)
    Форма = Документы.ЗаказНаряд.ПолучитьФормуВыбора(, ЭлементыФормы.ЗаказНаряды, ЭтотОбъект);
    Форма.ЗакрыватьПриВыборе = Ложь;
    Форма.Открыть();
КонецПроцедуры
2. Далее у табличной части находим событие «ОбработкаВыбора» и прописываем для него код:

Процедура ЗаказНарядыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
    
    Если ТипЗнч(ВыбранноеЗначение) = Тип("ДокументСсылка.ЗаказНаряд") Тогда
        Если ЗаказНаряды.НайтиСтроки(Новый Структура("ЗаказНаряд", ВыбранноеЗначение)).Количество() = 0 Тогда
            НоваяСтрока = ЗаказНаряды.Добавить();
            НоваяСтрока.ЗаказНаряд = ВыбранноеЗначение;

            // также здесь можно выполнить дополнительные обработки
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
👉@DevLab1C

Есть список контрагентов, нужно быстро узнать их коды в базе Делаем такой запрос где в кавычках прописываем список наименован
Есть список контрагентов, нужно быстро узнать их коды в базе Делаем такой запрос где в кавычках прописываем список наименований контрагентов (должен 100% совпадать с названиями контрагентов в базе): Таким образом мы избавляемся от необходимости вручную прописывать список контрагентов в запросе, работа происходит в разы быстрее за счёт использования списка через запятую. 👉@DevLab1C

+5
1С Программирование. Часть 2 Уроки 1С. Добавляем картинки в таблицу в шаблоне Word 1С: Схема запроса. Простейший практический пример Эмулятор ККТ (онлайн кассы) в 1С Решаем тестовую задачу из собеседования на должность 1С программиста. Типизация субконто в 1С Бухгалтерии 3.0 1С: Лайвкодинг. Дорабатываем признание расходов КУДиР источник 👉@DevLab1C

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии 📌 https://max.ru/progjob Вакансии в IT Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Бонус 📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы