Ответы в темах
-
АвторСообщения
-
26 мая 2025 в 8:45 в ответ на: Как прочитать файл Excel в табличный документ через поток в 1С? #32642
Привет, Yriy!
Для чтения файла Excel в табличный документ через поток в 1С, можно использовать следующий подход. В этом примере мы будем использовать объект
ТабличныйДокументи методПрочитать, который позволяет загружать данные из файла Excel.Вот пример кода, который демонстрирует, как это сделать:
1С (Код)123456789101112131415161718192021221CПроцедура ПрочитатьExcelВТабличныйДокумент(ИмяФайла)// Создаем новый табличный документТабДокумент = Новый ТабличныйДокумент;// Открываем файл Excel через потокПоток = Новый Поток(ИмяФайла);// Проверяем, что файл существуетЕсли Не Поток.КонецФайла() Тогда// Читаем данные из файла в табличный документТабДокумент.Прочитать(Поток, СпособЧтенияЗначенийТабличногоДокумента.Значение);// Закрываем потокПоток.Закрыть();// Выводим количество строк и столбцовСообщить("Прочитано строк: " + ТабДокумент.ВысотаТаблицы + ", столбцов: " + ТабДокумент.ШиринаТаблицы);ИначеСообщить("Файл не найден или пуст.");КонецЕсли;КонецПроцедурыВ этом коде:
1. Мы создаем новый объектТабличныйДокумент.
2. Открываем файл Excel через поток.
3. Используем методПрочитатьдля загрузки данных из потока в табличный документ.
4. После чтения, закрываем поток и выводим информацию о количестве строк и столбцов.Убедитесь, что файл Excel доступен по указанному пути, и что у вас есть необходимые права для его чтения.
Если у вас есть дополнительные вопросы или нужна помощь, дайте знать!
Для отправки табличного документа пользователю Telegram из 1С, вам потребуется использовать Telegram Bot API. Вот пошаговая инструкция, как это сделать:
1. **Создайте бота в Telegram**:
— Найдите в Telegram бота @BotFather и создайте нового бота, следуя его инструкциям. Вы получите токен для доступа к API.2. **Подготовьте табличный документ**:
— Сформируйте табличный документ в 1С, который вы хотите отправить. Например, создайте его с помощью объектаТабличныйДокумент.3. **Сохраните табличный документ в файл**:
— Сохраните табличный документ в формате, поддерживаемом Telegram, например, PDF или XLS.4. **Отправьте файл через Telegram Bot API**:
— Используйте HTTP-запрос для отправки файла. В 1С это можно сделать с помощью объектаHTTPЗапрос.Вот пример кода, который иллюстрирует все шаги:
1С (Код)12345678910111213141516171819202122232425261C&НаСервереПроцедура ОтправитьТабличныйДокументВТелеграм(ТабДокумент, Токен, ChatID)// Сохранение табличного документа в файлИмяФайла = "ТабличныйДокумент.pdf"; // или .xlsТабДокумент.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF); // или XLS// Подготовка HTTP-запросаURL = "https://api.telegram.org/bot" + Токен + "/sendDocument";Запрос = Новый HTTPЗапрос(URL);Запрос.УстановитьМетод("POST");// Установка параметров запросаЗапрос.ДобавитьПараметр("chat_id", ChatID);Запрос.ДобавитьФайл("document", ИмяФайла);// Отправка запросаОтвет = Запрос.Отправить();// Обработка ответаЕсли Ответ.КодСостояния = 200 ТогдаСообщить("Документ успешно отправлен в Telegram.");ИначеСообщить("Ошибка при отправке документа: " + Ответ.Тело);КонецЕсли;КонецПроцедуры### Параметры:
—ТабДокумент— ваш табличный документ, который нужно отправить.
—Токен— токен вашего бота, полученный от @BotFather.
—ChatID— идентификатор чата, куда будет отправлен документ. Это может быть ID пользователя или группы.### Примечания:
— Убедитесь, что у вас есть права на отправку сообщений в указанный чат.
— Если вы отправляете документ пользователю, он должен сначала начать диалог с вашим ботом, иначе сообщение не будет доставлено.Таким образом, вы сможете отправить табличный документ пользователю Telegram из 1С.
Привет, Александр!
К сожалению, Telegram не предоставляет прямого способа узнать ID пользователя по номеру телефона из-за соображений конфиденциальности и безопасности. Однако, есть несколько обходных путей, которые могут помочь:
1. **Добавление в контакты**: Если у вас есть номер телефона, вы можете добавить его в свои контакты на телефоне. Если этот номер зарегистрирован в Telegram, вы сможете увидеть профиль пользователя в приложении.
2. **Использование бота**: Вы можете создать бота, который будет принимать сообщения от пользователей. Если пользователь отправит сообщение вашему боту, вы сможете получить его ID из объекта сообщения. Однако, для этого пользователь должен сначала взаимодействовать с ботом.
3. **API Telegram**: Если у вас есть доступ к API Telegram, вы можете использовать метод
getContacts, чтобы получить список контактов, которые зарегистрированы в Telegram. Однако, это также требует, чтобы пользователь был в вашем списке контактов.4. **Общение с пользователем**: Если у вас есть возможность связаться с пользователем, вы можете просто попросить его сообщить вам свой ID.
Важно помнить, что любые попытки получить информацию о пользователе без его согласия могут нарушать правила Telegram и законы о защите данных.
Если у вас есть другие вопросы или нужна помощь с кодом, дайте знать!
Привет, Богдан! Вот пример скрипта на VBScript, который очищает папку
C:Usersusr1cv8AppDataLocalTemp. Этот скрипт удаляет все файлы и папки в указанной директории:1С (Код)123456789101112131415161718192021222324252627282930313233vbscriptOption ExplicitDim FSO, TempFolderSet FSO = CreateObject("Scripting.FileSystemObject")' Укажите путь к папке TempTempFolder = "C:Usersusr1cv8AppDataLocalTemp"' Проверяем, существует ли папкаIf FSO.FolderExists(TempFolder) Then' Удаляем все файлы в папкеDim fileFor Each file In FSO.GetFolder(TempFolder).FilesOn Error Resume NextFSO.DeleteFile file.Path, TrueOn Error GoTo 0Next' Удаляем все подпапки в папкеDim folderFor Each folder In FSO.GetFolder(TempFolder).SubFoldersOn Error Resume NextFSO.DeleteFolder folder.Path, TrueOn Error GoTo 0NextWScript.Echo "Очистка папки Temp завершена."ElseWScript.Echo "Папка не найдена: " & TempFolderEnd IfSet FSO = NothingСохраните этот код в текстовом файле с расширением
.vbs, например,ClearTemp.vbs, и запустите его. Скрипт удалит все файлы и папки в указанной директории.Рекомендую посмотреть здесь: https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc738059(v=ws.10)
Для выполнения соединения строк в группировке запроса в 1С можно использовать подход с помощью подзапросов и агрегатных функций. Поскольку стандартная функция
СУММАне поддерживает строковые типы, можно воспользоваться методом, который позволяет конкатенировать строки, используя группировку.Вот пример, как это можно сделать:
1. Создайте временную таблицу, в которой будут храниться данные для соединения.
2. Используйте запрос для группировки и соединения строк.Пример запроса:
1С (Код)12345678910111213141516171CВЫБРАТЬГруппировка.Категория,СТРОКА(Группировка.Наименование) КАК СоединенныеНаименованияИЗ(ВЫБРАТЬТовары.Категория,Товары.Наименование,РАНГ() КАК РангИЗСправочник.Товары КАК ТоварыГДЕТовары.Категория ЗНАЧЕНИЕ(Справочник.Категории.ПустаяСсылка)) КАК ГруппировкаСГРУППИРОВАТЬ ПОГруппировка.КатегорияВ этом примере:
— Мы выбираемКатегорияиНаименованиеиз справочникаТовары.
— ИспользуемСГРУППИРОВАТЬ ПО, чтобы сгруппировать данные по категории.
— Для соединения строк можно использовать функциюСТРОКА, которая объединяет значения в одну строку.Если необходимо, чтобы строки соединялись с разделителем, можно использовать дополнительную логику для обработки строк, например, через временные таблицы или дополнительные подзапросы.
Этот подход позволяет эффективно агрегировать данные и соединять строки в рамках группировки.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/200275/
Для переноса папки
C:UsersAppDataLocalTempusr1cv8на другой локальный диск, вы можете воспользоваться следующими шагами:1. **Создайте новую папку на целевом диске**:
— Например, создайте папкуD:Tempusr1cv8.2. **Переместите содержимое**:
— Откройте проводник Windows и перейдите в папкуC:UsersAppDataLocalTempusr1cv8.
— Выделите все файлы и папки внутриusr1cv8и переместите их вD:Tempusr1cv8.3. **Создайте символическую ссылку**:
— Откройте командную строку с правами администратора. Для этого нажмитеWin + Xи выберите «Командная строка (администратор)» или «Windows PowerShell (администратор)».
— Введите следующую команду, чтобы создать символическую ссылку:1С (Код)12cmdmklink /D "C:UsersAppDataLocalTempusr1cv8" "D:Tempusr1cv8"— Замените « на ваше фактическое имя пользователя.
4. **Проверьте работоспособность**:
— Убедитесь, что все работает корректно, открыв папкуC:UsersAppDataLocalTempusr1cv8. Она должна перенаправлять вас в новую папку на диске D.Эти шаги позволят вам перенести папку
usr1cv8на другой локальный диск, сохранив при этом доступ к ней через оригинальный путь.Рекомендую посмотреть здесь: https://winitpro.ru/index.php/2014/11/12/kak-udalit-fajl-s-dlinoj-puti-bolee-260-simvolov/
23 мая 2025 в 11:00 в ответ на: Как загрузить данные объёмного регистра накопления в Data Accelerator? #32627Привет, Даниил!
Загрузка данных из объемного регистра накопления, такого как «Обороты по бюджетам», в Data Accelerator может быть сложной задачей из-за большого объема данных. Вот несколько рекомендаций, которые могут помочь:
1. **Фильтрация данных**: Попробуйте загружать данные частями, используя фильтры по времени или другим критериям. Например, можно загружать данные по месяцам или кварталам, чтобы уменьшить объем загружаемых данных за один раз.
2. **Использование пакетной обработки**: Если возможно, разбейте процесс загрузки на несколько этапов. Например, сначала загрузите только ключевые поля, а затем по мере необходимости добавляйте дополнительные данные.
3. **Оптимизация запроса**: Убедитесь, что запрос, который вы используете для извлечения данных, оптимизирован. Избегайте избыточных полей и используйте индексы, если это возможно.
4. **Параллельная загрузка**: Если ваша система поддерживает параллельную обработку, попробуйте загружать данные из разных периодов одновременно.
5. **Мониторинг производительности**: Используйте инструменты мониторинга, чтобы отслеживать производительность во время загрузки. Это поможет выявить узкие места и оптимизировать процесс.
6. **Проверка конфигурации Data Accelerator**: Убедитесь, что настройки Data Accelerator соответствуют требованиям для работы с большими объемами данных. Возможно, потребуется увеличить выделенные ресурсы или изменить параметры конфигурации.
7. **Логирование и отладка**: Включите логирование для отслеживания ошибок и зависаний. Это поможет вам понять, на каком этапе происходит сбой.
Если после всех этих шагов проблема не решится, возможно, стоит рассмотреть возможность обращения к технической поддержке или сообществу 1С для получения более специфичных рекомендаций.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/330072/
Если у вас есть дополнительные вопросы или нужна помощь с конкретным кодом, дайте знать!
23 мая 2025 в 10:15 в ответ на: Как интегрировать 1С с Telegram Bot API для отправки сообщений? #32625Привет, Александр!
Интеграция 1С с Telegram осуществляется через использование Telegram Bot API. Вот основные шаги для реализации этой интеграции:
1. **Создание бота в Telegram**:
— Найдите в Telegram бота «BotFather».
— Отправьте команду/newbotи следуйте инструкциям для создания нового бота.
— Получите токен вашего бота, который будет использоваться для отправки сообщений.2. **Получение ID группы или чата**:
— Создайте группу в Telegram и добавьте туда вашего бота.
— Для получения ID группы отправьте GET-запрос к API:https://api.telegram.org/bot/getUpdates. В ответе вы найдете ID группы, который будет начинаться со знака минус (например,-123456789).3. **Отправка сообщений из 1С**:
— В 1С создайте обработку, которая будет отправлять сообщения в Telegram. Используйте HTTP-запросы для взаимодействия с API Telegram.
— Пример кода для отправки сообщения:1С (Код)123456781C&НаСервереПроцедура ОтправитьСообщениеВТелеграм(Токен, IdGroup, Сообщение)Если ЗначениеЗаполнено(Сообщение) ТогдаСтрокаПараметров = "chat_id=" + IdGroup + "&parse_mode=html&text=" + Сообщение;ВыполнитьHTTPЗапрос("GET", "api.telegram.org", "/bot" + Токен + "/sendMessage", СтрокаПараметров);КонецЕсли;КонецПроцедуры4. **Настройка HTTP-запросов**:
— Используйте классHTTPСоединениедля отправки запросов к API Telegram. Убедитесь, что вы используете защищенное соединение (HTTPS).5. **Обработка ответов**:
— Обрабатывайте ответы от Telegram API, чтобы убедиться, что сообщения были успешно отправлены.Эти шаги позволят вам интегрировать 1С с Telegram и отправлять сообщения в группы или чаты.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/2131924/ для более подробной информации и примеров кода.
Если у вас есть дополнительные вопросы, не стесняйтесь спрашивать!
Привет, Павел!
Ошибка, которую вы видите, связана с тем, что система не может применить фиксированные настройки из-за конфликта элементов отбора. Вот шаги, которые помогут вам решить эту проблему:
1. **Проверка настроек отбора**:
— Убедитесь, что все элементы отбора, которые вы используете, корректны и не пересекаются. Например, если у вас есть фильтры по клиентам или менеджерам, проверьте, что они не конфликтуют друг с другом.2. **Сброс настроек**:
— Попробуйте сбросить настройки отбора. Это можно сделать, нажав на кнопку «Сбросить» или «Очистить» в интерфейсе, если такая имеется.3. **Проверка прав доступа**:
— Убедитесь, что у вас есть необходимые права доступа для применения этих настроек. Иногда ограничения по правам могут вызывать подобные ошибки.4. **Обновление конфигурации**:
— Если вы работаете с измененной конфигурацией, убедитесь, что все изменения были корректно применены и не содержат ошибок.5. **Обратитесь к техническому специалисту**:
— Если ошибка продолжает возникать, рекомендуется обратиться к техническому специалисту, который сможет более детально проанализировать ситуацию и предложить решение.6. **Логи и отладка**:
— Если у вас есть доступ к логам, посмотрите, нет ли там дополнительных сообщений об ошибках, которые могут помочь в диагностике проблемы.Если после выполнения всех шагов ошибка не исчезнет, возможно, потребуется более глубокий анализ конфигурации или базы данных.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/202292/
Привет, Денис!
Чтобы указать в запросе во внешней обработке ссылку на текущий документ, вы можете использовать параметры запроса. Вот пример, как это можно сделать:
1. **Создайте структуру параметров** и добавьте в нее ссылку на текущий документ.
2. **Передайте эту структуру в запрос**.Пример кода:
1С (Код)1234567891011121314151C// Получаем ссылку на текущий документТекущийДокумент = Объект;// Создаем структуру параметровПараметрыЗапроса = Новый Структура;ПараметрыЗапроса.Вставить("ДокументСсылка", ТекущийДокумент);// Формируем запросЗапрос = Новый Запрос;Запрос.Текст = "ВЫБРАТЬ * ИЗ Документы.ПримерДокумент ГДЕ Ссылка = &ДокументСсылка";Запрос.УстановитьПараметр("ДокументСсылка", ТекущийДокумент);// Выполняем запросРезультат = Запрос.Выполнить();В этом примере мы создаем структуру параметров, добавляем в нее ссылку на текущий документ, а затем используем эту ссылку в запросе. Параметр
ДокументСсылкабудет заменен на значение ссылки текущего документа при выполнении запроса.Если у вас есть дополнительные вопросы или нужна помощь с конкретным кодом, дайте знать!
22 мая 2025 в 11:00 в ответ на: Как настроить агрегаты у регистра накопления типа «Обороты» в 1С? #32619Для правильной настройки агрегатов у регистра накопления типа «Обороты» в 1С:Предприятие, следуйте следующим шагам:
1. **Открытие конфигурации**:
— Запустите конфигуратор вашей конфигурации 1С.2. **Выбор регистра накопления**:
— Найдите и выберите регистр накопления, для которого вы хотите настроить агрегаты. Это может быть, например, регистр «ДвиженияНоменклатуры».3. **Настройка агрегатов**:
— Перейдите на вкладку «Агрегаты» в свойствах регистра накопления.
— Нажмите кнопку «Добавить» для создания нового агрегата.4. **Определение параметров агрегата**:
— Укажите имя агрегата, например, «СуммаОборота».
— Выберите тип агрегирования (например, «Сумма», «Среднее», «Максимум» и т.д.) в зависимости от того, какие данные вы хотите агрегировать.
— Укажите измерения, по которым будет производиться агрегация. Это могут быть, например, «Склад», «Номенклатура», «Период».5. **Настройка периодичности**:
— Установите периодичность агрегации. Для оборотных регистров это может быть «День», «Месяц», «Квартал» и т.д. Это позволит вам получать агрегированные данные за нужный период.6. **Сохранение изменений**:
— После настройки всех параметров агрегата, не забудьте сохранить изменения в конфигурации.7. **Тестирование**:
— Проверьте работу агрегатов, создав тестовые документы, которые будут записываться в регистр накопления, и убедитесь, что агрегированные данные корректно рассчитываются.8. **Использование в отчетах**:
— Теперь вы можете использовать созданные агрегаты в отчетах, что значительно ускорит их формирование, особенно при большом объеме данных.Агрегаты позволяют более гибко управлять данными и получать их в нужном формате, что особенно полезно для анализа и отчетности.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1065337/
21 мая 2025 в 23:30 в ответ на: Как интегрировать отправку сообщений в WhatsApp из 1С для отеля? #32617Здравствуйте!
Для отправки сообщений в WhatsApp из 1С в контексте гостиничного бизнеса, вам потребуется интеграция с WhatsApp Business API через одного из официальных провайдеров. Вот основные шаги, которые вам нужно будет выполнить:
1. **Выбор провайдера**: Выберите официального провайдера WhatsApp Business API. Это может быть, например, Chat2Desk, 360 dialog или другие. Убедитесь, что провайдер поддерживает функциональность, необходимую для вашего бизнеса.
2. **Создание бизнес-аккаунта**: Зарегистрируйте бизнес-аккаунт WhatsApp через выбранного провайдера. Это может занять некоторое время, так как потребуется пройти процесс верификации.
3. **Получение API-ключа**: После создания аккаунта вы получите токен доступа (API-ключ), который будет использоваться для аутентификации запросов к API.
4. **Настройка 1С**: В вашей конфигурации 1С необходимо реализовать функциональность для отправки сообщений. Это можно сделать с помощью HTTP-запросов к API провайдера. Пример кода на 1С для отправки сообщения может выглядеть следующим образом:
1С (Код)123456789101112131415161718192021221C&НаСервереФункция ОтправитьСообщениеВWhatsApp(НомерТелефона, ТекстСообщения)URL = "https://api.вашпровайдер.com/sendMessage"; // Замените на URL вашего провайдераТелоЗапроса = Новый Структура;ТелоЗапроса.Вставить("phone", НомерТелефона);ТелоЗапроса.Вставить("message", ТекстСообщения);HTTPЗапрос = Новый HTTPЗапрос(URL);HTTPЗапрос.УстановитьЗаголовок("Authorization", "Bearer " + ВашAPIКлюч); // Замените на ваш API ключHTTPЗапрос.УстановитьЗаголовок("Content-Type", "application/json");HTTPЗапрос.УстановитьТело(ТелоЗапроса.ПолучитьJSON());HTTPОтвет = HTTPЗапрос.Отправить();Если HTTPОтвет.КодСостояния = 200 ТогдаВозврат Истина; // Сообщение отправлено успешноИначеСообщить("Ошибка отправки сообщения: " + HTTPОтвет.ПолучитьТело());Возврат Ложь; // Ошибка отправкиКонецЕсли;КонецФункции5. **Тестирование**: После настройки протестируйте отправку сообщений, чтобы убедиться, что все работает корректно.
6. **Интеграция с процессами отеля**: Внедрите отправку сообщений в ваши бизнес-процессы, например, для уведомления гостей о бронировании, подтверждения, акциях и т.д.
Эта интеграция позволит вам эффективно общаться с клиентами через WhatsApp, что может значительно улучшить уровень сервиса в вашем отеле.
Если у вас есть дополнительные вопросы или нужна помощь с конкретными аспектами интеграции, дайте знать!
21 мая 2025 в 14:30 в ответ на: Как получить запись с максимальным `НомерВерсии` для объекта в запросе? #32615Чтобы изменить запрос и получить запись с максимальным
НомерВерсии, можно использовать подзапрос для определения максимального значенияНомерВерсиидля заданного объекта. Вот как это можно сделать:1С (Код)12345678910111213141CВЫБРАТЬВерсииОбъектов.Объект КАК Объект,ВерсииОбъектов.НомерВерсии КАК НомерВерсии,ВерсииОбъектов.АвторВерсии КАК АвторВерсии,ВерсииОбъектов.ДатаВерсии КАК ДатаВерсии,ВерсииОбъектов.Комментарий КАК КомментарийИЗРегистрСведений.ВерсииОбъектов КАК ВерсииОбъектовГДЕВерсииОбъектов.Объект = &ОбъектИ ВерсииОбъектов.НомерВерсии = (ВЫБРАТЬ МАКСИМУМ(НомерВерсии)ИЗ РегистрСведений.ВерсииОбъектовГДЕ Объект = &Объект)В этом запросе подзапрос
(ВЫБРАТЬ МАКСИМУМ(НомерВерсии) ИЗ РегистрСведений.ВерсииОбъектов ГДЕ Объект = &Объект)возвращает максимальный номер версии для указанного объекта, и основной запрос выбирает все поля для записи с этим номером версии.21 мая 2025 в 10:30 в ответ на: Ошибка «каталог не существует или на него нет прав» в Документообороте 3.0 #32613Ошибка «каталог не существует или на него нет прав» в Документообороте 3.0 может возникать по нескольким причинам. Вот шаги для устранения проблемы:
1. **Проверьте существование каталога**:
— Убедитесь, что указанный каталог действительно существует по указанному пути:C:UsersFateeva_KPDesktopДля миграции. Если каталога нет, создайте его вручную.2. **Проверьте права доступа**:
— Убедитесь, что у пользователя, под которым вы запускаете 1С, есть права на чтение и запись в этот каталог. Для этого:
— Щелкните правой кнопкой мыши на папке, выберите «Свойства».
— Перейдите на вкладку «Безопасность» и проверьте права для вашего пользователя.3. **Запуск от имени администратора**:
— Попробуйте запустить 1С от имени администратора. Это может помочь, если проблема связана с правами доступа.4. **Проверка антивируса**:
— Убедитесь, что антивирус или брандмауэр не блокируют доступ к этому каталогу.5. **Путь к каталогу**:
— Убедитесь, что в пути к каталогу нет опечаток или лишних символов.Если после выполнения всех шагов проблема не решена, попробуйте создать новый каталог для миграции и указать его в настройках.
Привет, Barxayot!
Чтобы создать новый документ в 1С, вы можете использовать следующий пример кода. Предположим, что у вас есть документ «Поступление товаров». Вот как это можно сделать:
1С (Код)123456789101112131C// Создаем новый документ "Поступление товаров"Док = Документы.ПоступлениеТоваров.СоздатьДокумент();// Устанавливаем реквизиты документаДок.Дата = ТекущаяДата(); // Устанавливаем текущую датуДок.Организация = Справочники.Организации.НайтиПоНаименованию("Название вашей организации"); // Устанавливаем организацию// Записываем документДок.Записать();// Если нужно сразу провести документДок.Записать(РежимЗаписиДокумента.Проведение);В этом коде мы создаем новый документ, устанавливаем его реквизиты (например, дату и организацию) и затем записываем его в базу данных. Если необходимо, можно сразу провести документ, добавив соответствующий режим записи.
Если у вас есть дополнительные вопросы или нужна помощь с конкретными реквизитами, дайте знать!
-
АвторСообщения