Телефонный справочник организации: управляемые формы, вэб клиент, api

27.02.24

Учетные задачи - Кадровый учет

Удобное представление информации по сотруднику: полное ФИО, должность, дата рождения, контакты и состояние сотрудника (работает, в отпуске или болеет, когда и на сколько собирается отпуск или когда запланировал). Рекомендуется работать через WEB интерфейс

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Телефонный справочник (конфигурация+обработка для ЗУП 3.1):
.zip 141,66Kb ver:7.09
5
5 Скачать (3 SM) Купить за 2 450 руб.

Оглавление

1. Развертывание и автозапуск.

2. Поиск по введенному тексту и функция API speller.

3. Кнопки настройки

4. API и cookie

5. Карточка сотрудника и фото сотрудника

 

1. Развертывание и автозапуск.

Требуется поднять ВЭБ сервер (я использую Apache, быстро и бесплатно) и опубликовать данную систему.

Система тестировалась на платформе 1С:Предприятие 8.3.11.2867.

Для того, чтобы 1С не запрашивала авторизацию по пользователю при запуске, в файле default.vrd прописать имя пользователя и пароль, например: ib="File="D:\data\tell";usr=username;pwd=userpass;">

При публикации системы на вэб-сервере, не забываем проставить галки Публиковать Web-сервисы по умолчанию и Публиковать Web-сервисы, и галку Table.

Система стартует с условием:

1. Если нет избранных контактов, то ищет контакт с должностью "Генеральный директор", либо "Главный бухгалтер", либо "Бухгалтер". И фильтрует по полученному подразделению сотрудника.

2. Если есть избранные контакты, то выводит список избранных.

 

 

2. Поиск по введенному тексту и функция API speller.

Если же в поле поиска введен текст в отличной раскладке, система попытается произвести поиск по введенному тексту, если же ничего не найдено, то будет произведена замена раскладки введенного текста и заново произведен поиск. Если после этого будет что-то найдено, в шапке будет описание смены раскладки:

Также имеется функция, которая предлагает варианты, которые вы имели в виду при вводе в поле поиска, например опечатка. Можно не вводя заново выбрать предложенный вариант для поиска информации:

Для данной функции используется API speller от Яндекса.

 

3. Кнопки настройки

В шапке имеются кнопки Группировать по подразделениям, Подчиненные подразделения, Колонки и Обновить.

Разберем по отдельности:

1. При нажатии на Группировать по подразделениям все выводимые данные в таблице превратятся в иерархический вид:

В данном виде, иерархия последовательна по вложению. Некоторым пользователям такой вид более удобен, для чего собственно и было добавлено.

2. При нажатии на кнопку Подчиненные подразделения, в результатах поиска, будут присутствовать также и починенные подразделения:

3. Кнопка Колонки дает возможность выбора выводимых колонок. Не всегда, и не всем нужна вся информация по сотрудникам. Кому-то требуется видеть только контакты, и более ничего:

Как видим, колонка Состояние исчезло. Настройка также сохраняется в системе, и в последующих входах в систему, будет найдена существующая настройка.

4. Кнопка Обновить обновляет таблицу данными. Так как данная система работает на виртуальной таблице, которая формируется при старте системы, то все проделанные изменения в данных при запущенной системе, отображены не будут. Для этого требуется обновить данные.

 

Также имеется возможность распечатать таблицу, нажав на значок сверху слева над таблицей.

 

При отжатой кнопки Группировать по подразделениям можно сортировать колонки, нажимая мышью по шапке.

В группе Информация содержатся отборы по тематикам:

1. Избранное

2. Весь справочник

3. На больничном

4. Собираются в отпуск

5. В отпуске

6. Отпуск по графику (данный пункт имеет список месяцев для отбора)

7. Дни рождения (данный пункт имеет список месяцев для отбора)

При нажатии на каждый пункт, производится поиск сотрудников.

 

4. API и cookie

Также в системе имеется api для обновления данных со сторонней системы, например учетной 1С.

В системе создаем пользователя для работы для web-сервисов, например: WEBServiceUser с паролем 12345

Используется get-запрос с одним параметром text, например:

WSОпределение = Новый WSОпределения("http://sql1c-2012/tell2/ws/text.1cws?wsdl", "WEBServiceUser", "12345");
WSПрокси = Новый WSПрокси(WSОпределения, "tell", "Table", "TableSoap");
WSПрокси.Пользователь = "WEBServiceUser";
WSПрокси.Пароль = "12345";

ТекстПараметр = "
|<?xml version=""1.0"" encoding=""UTF-8""?>
|<home>
|   <group department=""Центральный офис"" referencegroup=""1"">
|        <element department=""Центральный офис"" fio=""Мажеров Виктор Викторович"" fiomaiden=""Мажеров Виктор Викторович"" position=""Генеральный директор"" birthday=""01.09.1975"" tel=""7777777"" fax="""" telinternal=""0000"" email=""majorov@mail.ru"" startdatestate=""25.11.2019"" enddatestate=""04.12.2019"" currentstate=""В ежегодном отпуске"" schedule=""1_12_2019_12"" referencegroup=""0"" base64photo=""""/>
|        <group department=""IT отдел"" referencegroup=""1"">
|            <element department=""IT отдел"" fio=""Иванов Иван Иванович"" fiomaiden=""Иванов Иван Иванович"" position=""Начальник отдела"" birthday=""01.05.1980"" tel=""1234567"" fax="""" telinternal=""1111"" email=""ivanov@mail.ru"" startdatestate="""" enddatestate="""" currentstate="""" schedule=""2_06_2020_14"" referencegroup=""0"" base64photo=""""/>
|            <element department=""IT отдел"" fio=""Петров Петр Петрович"" fiomaiden=""Петров Петр Петрович"" position=""Инженер"" birthday=""15.06.1995"" tel="""" fax="""" telinternal=""1112"" email=""petrov@mail.ru"" startdatestate="""" enddatestate="""" currentstate="""" schedule="""" referencegroup=""0"" base64photo=""""/>
|        </group>
|        <group department=""Бухгалтерия"" referencegroup=""1"">
|            <element department=""Бухгалтерия"" fio=""Сидорова Мария Сидоровна"" fiomaiden=""Сидорова (Иванова) Мария Сидоровна"" position=""Главный директор"" birthday=""10.12.1979"" tel=""2345678"" fax=""6541651465"" telinternal=""2222"" email=""sidorova@mail.ru"" startdatestate="""" enddatestate="""" currentstate="""" schedule="""" referencegroup=""0"" base64photo=""""/>
|            <element department=""Бухгалтерия"" fio=""Клинина Ольга Ивановна"" fiomaiden=""Клинина Ольга Ивановна"" position=""Бухгалтер"" birthday=""14.02.1993"" tel="""" fax="""" telinternal=""2223"" email=""klinina@mail.ru"" startdatestate="""" enddatestate="""" currentstate="""" schedule="""" referencegroup=""0"" base64photo=""""/>
|        </group>
|        <group department=""Работа с клиентами"" referencegroup=""1"">
|            <element department=""Работа с клиентами"" fio=""Васин Василий Васильевич"" fiomaiden=""Васин Василий Васильевич"" position=""Начальник отдела"" birthday=""25.07.1987"" tel=""849849494"" fax="""" telinternal=""4444"" email=""vasin@mail.ru"" startdatestate="""" enddatestate="""" currentstate="""" schedule="""" referencegroup=""0"" base64photo=""""/>
|            <element department=""Работа с клиентами"" fio=""Петин Петр Петрович"" fiomaiden=""Петин Петр Петрович"" position=""Инженер"" birthday=""30.01.1999"" tel="""" fax="""" telinternal=""4445"" email=""petin@mail.ru"" startdatestate="""" enddatestate="""" currentstate="""" schedule="""" referencegroup=""0"" base64photo=""""/>
|        </group>
|        <group department=""Юридический отдел"" referencegroup=""1"">
|            <element department=""Юридический отдел"" fio=""Катина Екатерина Максимовна"" fiomaiden=""Катина Екатерина Максимовна"" position=""Главный юрист"" birthday=""20.03.1983"" tel=""654651981"" fax="""" telinternal=""7777"" email=""katina@mail.ru"" startdatestate="""" enddatestate="""" currentstate="""" schedule="""" referencegroup=""0"" base64photo=""""/>
|        </group>
|    </group>
|</home>";

ВозвращаемоеЗначение = WSПрокси.apibase(ТекстПараметр);

В примере приведен пример текста XML для теста, для корректности проверки данного функционала. Функция WSПрокси.apibase(ТекстПараметр) возвращает ответ при корректности выполнения "ОК", при ошибке "ERROR".

Параметр referencegroup имеет 2 значения, "0" или "1", 0 - элемент; 1 - группа.

Формат записи параметра schedule, например: schedule="2_06_2020_14" - означает, что сотрудник планирует в отпуск в середине июня 2020г. на 14 дней.

Если же несколько плановых отпусков, то записываем через ";", например: "2_06_2020_14;4_08_2020_10"

Первый параметр: 1 - начало месяца, 2 - середина месяца, 3 - конец месяца, 4 - просто в указанном месяце (например: 4_06_2020_14 - в июне 2020г. на 14 дней).

Второй параметр: цифра месяца, в формате "ММ", например: 06 или 10 и т.п.

Третий параметр: год, в формате "гггг".

Четвертый параметр: дней отпуска, число.

 

Если система развернута через WEB, и в файле default.vrd прописано входить всем под одним пользователем, то нужно как-то разграничивать сохраненные настройки, например: избранных, использование Группировки подразделений, использование Подчиненных подразделений или настройку колонок. Для этого браузер хранит cookie: дату и время первого запуска в миллисекундах, которое используется в качестве идентификатора. При входе через тонкий клиент, в качестве идентификатора используется имя пользователя.

 

5. Карточка сотрудника и фото сотрудника

В карточке сотрудника описан каждый параметр XML.

Описание полей в XML таблицы Фактический отпуск / болезнь

Если сотрудник в данный момент или собирается в отпуск или болеет, например:

Дата начала и Дата окончания (при болезни в текущий момент, дата окончания пустая) и Причина

Если Дата начала больше текущей даты, то система распознает состояние как Собирается в отпуск, если Дата начала меньше или равна, а Дата окончания больше или равна текущей дате, то состояние В отпуске.

Формат причины: Текст (в поле Причина имеется список вариантов), варианты причин можно передавать со своей базы любые! Это текстовое поле.

НО! чтобы система корректно распознавала отборы:

1) На больничном: в состоянии должно быть слово "болеет" или "больным", например "Болеет" или "Уход за больным ребенком"

2) В отпуске: в состоянии должно быть слово "отпуск", например: "Ежегодный отпуск", "В отпуске по уходу за ребенком", "Отпуск по беременности и родам" и т.п.

 

В качестве фотографии сотрудника, при обновлении с помощью XML передаем через параметр base64photo. Также можно вручную выбрать фото сотруднику в регистре Фото сотрудников добавить вручную запись, указав сотрудника и выбрать фото. Фото сотрудников хранятся в отдельном регистре, и при обновлении данных не очищаются, заменяются только тогда, когда передано заполненное значение base64photo. Так было сделано специально, чтобы картинки не затирались при обновлении данных.

Если же сотруднику прикреплено фото, то оно будет отображаться при наведении на поле ФИО.

Меню для работы с системой вручную, имеется у пользователя с ролью Полные

 

Обновления:

03/10/2023г. v.7.08

1. Переписана функция cookie. Теперь корректно отрабатывает.

2. Дописана обработка обновления справочника ЗУП 3.1. Теперь ее можно добавлять во внешние обработки, и выставлять планировщик на обновление справочника.

Чтобы сохранить пути к базе, нужно ее открыть в ЗУП как внешнюю обработку, указать пути, и нажать на Сохранить настройки

Чтобы обработка запомнила

 

12/05/2022г. v.7.07

1. Доработан блок обработки входящих данных по api. Обновляются только те группы, к которым принадлежат данные. Например понадобилось выгружать данные их 4 разных разных организаций из разных баз. Данные обновляются только по этим организациям, и удаляются отсутствующие касаемые загружаемой организации. Также убраны некоторые параметры в XML из-за ненадобности.

2. Добавлены в константы новые поля и галки:

 - Поле "Вариант болеет" (тут указываем как звучит статус, например "болезнь". Каждой базе может отличаться)

 - Поле "Вариант отпуск" (тут пишем слово которое присутствует в статсе отпуска, например "отпуск")

 - Галка "Рассчитывать количество в группе" (это показывать количество в группе или нет, очень влияет на скорость формирования загрузки базы. Можно отключить расчет)

 - Поле выбора "Группа фильтрации по умолчанию" (фильтровать список при запуске базы по указанному подразделению)

 - Галка "Не обновлять контакты" (нужно для того, чтобы не затирать контакты, телефоны и электронный адрес при обмене. Если контакты пустые, обновятся, если же НЕ пустые, при выбранной галке не будут тронуты)

04/03/2021г. v.7.04

Переработан блок хранения планового месяца отпуска, а также корректное склонение при выводе.

04/03/2020г. v.7

Исправлена ошибка установки прокси для блока speller от yandex.

23/01/2020г.

Переписан принцип хранения информации по состоянию в карточке (добавлена таблица, которая отвечает за текущее и ближайшее состояние сотрудника, система при формировании справочника учитывает период состояния, которые уже в прошлом, показаны не будут)

09/01/2020г.

Исправлена ошибка отображения списка отпуска по графику.

12/12/2019г.

Доработан api. Теперь подразделения (включая его родителя, это связано с тем, если подразделение переносится в другую группу) ищутся перед созданием новых, так как раньше очищался весь справочник, и пересоздавался заново. Сделано было для того, чтобы не возникала проблема поиска по УИН (появлялось сообщение о не найденном объекте), так как он менялся, если сотрудник не обновлял данные таблицы.

Также добавлена галка в константах Выполнять поиск по головному подразделению. Не всем нужно выполнять поиск по 1 уровню иерархии меню.

05/12/2019г.

Исправлен подход поиска по подразделениям. При формировании пункта подразделения, что в поле меню, что в в таблице результата, в параметр "id" передается "УИН" ссылки. По которому производится поиск. Возникло такое решение из-за найденного неудобства, когда существуют одинаковые по наименованию подразделения, например по разным филиалам.

04/12/2019г.

Исправлены некоторые интерфейсные моменты. В левом поле вывода фильтров и подразделений, изменен вывод подразделений (убран пункт "Подразделения", выводятся сразу же верхние уровни подразделений). Также при нажатой кнопке "Группировать по подразделениям" названия подразделений стали ссылками, при нажатии на которые происходит фильтрация.

03/12/2019г.

Изначальное представление

вэб клиент телефон контакты состояние сотрудники отпуск график болезнь

См. также

Зарплата Регламентированный учет и отчетность Кадровый учет Обновление 1С Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Зарплата и Управление Персоналом 2.5 Бухгалтерский учет Налоговый учет Управленческий учет Акцизы ЕНВД ЕСН Земельный налог ИП, ПБОЮЛ, КФХ Налог на имущество Налог на прибыль НДС НДФЛ ФОМС, ЕФС Транспортный налог УСН ПСН (патентная система налогообложения) Платные (руб)

Обновления для конфигураций: КА 1.1; ЗУП 2.5; БУХ 2.0; КА 1.1 Комплексная автоматизация торговли алкогольной продукцией; КА 1.1 Комплексный учет сельскохозяйственного предприятия

27900 руб.

01.04.2020    147103    649    360    

235

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    10773    13    8    

14

Загрузка и выгрузка в Excel Зарплата Кадровый учет Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Обработка позволяет загрузить из структурированного файла данные по физическим лицам, сотрудникам. Предусмотрено создание документов "Прием на работу". Данные загружаются не только в справочники и документы, но и в регистры сведений. Обработка разработана для конфигураций "Зарплата и Управление Персоналом, редакция 3.1"/"Зарплата и кадры государственного учреждения, редакция 3.1" на платформе 8.3.

6000 руб.

15.07.2015    64899    98    49    

102

Зарплата Кадровый учет Загрузка и выгрузка в Excel Бухгалтер Пользователь Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Обработка больше предназначена как основа для своей разработки, чем как универсальное решение. Но можно использовать и как готовое решение для небольшой организации. Переносит данные из файла Excel в ЗУП, по аналогии как данные переносятся из ЗУП 2.5.

7200 руб.

19.01.2023    6426    4    4    

5

Зарплата Печатные формы Кадровый учет Бухгалтер Пользователь Платформа 1С v8.3 Сложные периодические расчеты 1С:ERP Управление предприятием 2 1С:Зарплата и кадры государственного учреждения 3 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Внешняя печатная форма выводит Трудовой договор или в документ Microsoft Word (должен быть установлен!) или стандартно в табличный документ MXL. Позволяет выводить любые произвольные и типовые начисления, назначенные в приказе, а также множество кадровых данных сотрудника. Возможно использовать до 3х шаблонов договоров и, например, вместо Договора МОЛ подключить Трудовой договор на неполный рабочий день (с количеством ставок 0.25, 0.33, 0.5 и т.п.)

4000 руб.

07.07.2020    20297    18    20    

19

Кадровый учет Бухгалтер Сложные периодические расчеты Управляемые формы 1С:ERP Управление предприятием 2 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Редактор штатного расписания / просмотрщик данных по позиции или сотруднику. Можно выделить несколько позиций и создать для них документ изменение ШР, включая действия копирование позиции (новая) / закрыть позицию / изменить позицию. Позволяет просматривать документы утверждения / изменения ШР. Видеть историю занятых позиций выделенной позиции. Для выделенного сотрудника можно посмотреть кадровую историю. Для выделенного сотрудника можно посмотреть историю изменения начислений. На форму для выделенной позиции выводится вся информация по этой позиции (начисления, график и т.д. - все, что заполнено). При открытии документа - регистратора по ШР(изменение или утверждение) сразу попадаем на текущую позицию, а не на 1 строку. При открытии документа кадровой истории по сотруднику - регистратора (прием или перевод списком) сразу попадаем на строку с данным сотрудником, а не на 1 строку.

3600 руб.

26.10.2018    17365    8    0    

12

Загрузка и выгрузка в Excel Кадровый учет Программист Бухгалтер Платформа 1С v8.3 Конфигурации 1cv8 Бухгалтерский учет Платные (руб)

Обработка позволяет загрузить из структурированного файла данные по физическим лицам, сотрудникам. Предусмотрено создание документов "Прием на работу". Данные загружаются не только в справочники и документы, но и в регистры сведений. Обработка разработана для конфигураций "1С-Камин: Зарплата 5.0"/"1С-КАМИН: Зарплата для бюджетных учреждений. Версия 5.5" на платформе 8.3.

2000 руб.

28.12.2016    26043    8    1    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. shell_maxim 44 14.12.20 08:02 Сейчас в теме
Почему бы не сделать веб интерфейс вместо веб клиента раз уж все равно развернут веб сервер? Можно сделать красивый кроссплатформенный интерфейс. Буквально одна страница html, js и файл css
maksa2005; +1 Ответить
2. iones 197 12.01.21 17:16 Сейчас в теме
(1)Тогда бы эта разработка находилась не на Инфостарте =) Код открыт. Скачивайте и дорабатывайте.
3. shell_maxim 44 12.01.21 19:04 Сейчас в теме
(2) ну так данные то из 1с брать через http сервисы. Так вроде безопаснее и с лицензированием , если таковое имеется, проще.
4. stepan_shock 112 12.08.21 00:13 Сейчас в теме
а как пощупать систему?
5. iones 197 16.08.21 16:50 Сейчас в теме
(4)Никак.
Попробую снять видео, чтобы было визуально видно что и как работает.
6. iones 197 19.08.21 14:07 Сейчас в теме
(4)Добавил видео, чтобы было как-то понятно, как реагирует система и выглядит в действии.
7. user1479482 14 22.03.23 18:25 Сейчас в теме
Здравствуйте. А не проще ли создать расширение конфигурации для ЗУП в виде вэб сервиса?
Зачем отдельная конфигурация и обработка - это костыли.
8. iones 197 23.03.23 09:28 Сейчас в теме
(7) Все думают по разному. сейчас приведу несколько причин, почему отдельно.
1. Не у всех есть доступ в ЗУП, да и не стоит, с точки зрения безопасности.
2. Нагрузка на саму базу.
В качестве расширения, да, кому-то этот вариант подошел. Но транслировать ЗУП в вэб как-то не комильфо.
Как правило ЗУП закрыт от большинства сотрудников. А информация в системе для всех сотрудников, например получение информации по Графику отпусков.
Каждый решает сам. Если Кому-то интересно было бы решение через расширение к ЗУП, обещаю подумать над разработкой.
9. user1479482 14 03.04.23 18:55 Сейчас в теме
(8) Ну смотрите, вы же справочник делаете для внутреннего пользования в организации. Стало быть вы публикуете базу с сервисом в интранет сети и предоставляете статику в браузер. Причем можно публиковать в целях безопасности даже отдельно сам вэб-сервис без публикации самой базы.
Конечно на вкус и цвет как говорится "товарищей нет", но на мой взгляд это самое рациональное и удобное решение.
10. Grax 16.02.24 16:32 Сейчас в теме
Добрый день. Чего это хочет ? Где изменять или добавлять ?
Прикрепленные файлы:
11. iones 197 16.02.24 16:34 Сейчас в теме
(10) Откройте базу через платформу, через администратора. И установите в комментах что просит база
12. Grax 16.02.24 16:40 Сейчас в теме
(11) после нажатия ОК база закрывается.
14. iones 197 19.02.24 14:34 Сейчас в теме
(12) А вы откройте базу в конфигураторе. Создайте пользователя с правами Полные, зайдите под ним в базу, установите все настройки в константах.
Создайте пользователя с правами Общие. И прочитайте внимательно инструкцию в публикации, как сделать так, чтобы все входили под одним пользователем, пункт 1. Развертывание и автозапуск.
13. пользователь 19.02.24 14:33
Сообщение было скрыто модератором.
...
15. Grax 27.02.24 11:37 Сейчас в теме
Ошибки при поиске, зачем он ссылается на локальный файл ?
Прикрепленные файлы:
16. iones 197 27.02.24 14:25 Сейчас в теме
(15)Да, я заметил. Я гляну, починю и вышлю исправленное Вам.
Это скорее всего какой-то сервис перестал работать, скорее всего от Яндекса.
А так, с этой ошибкой система работает. Она выполняется в конце запроса.
17. iones 197 27.02.24 16:57 Сейчас в теме
(15)Поправил. Пришлите почту, вышлю исправленную версию.
18. пользователь 28.02.24 14:35
Сообщение было скрыто модератором.
...
19. Grax 05.03.24 16:15 Сейчас в теме
(17) Добрый день, Все еще жду
20. iones 197 06.03.24 17:44 Сейчас в теме
(19)Чего ждете? Вы мне скиньте контакты.
21. пользователь 07.03.24 09:23
Сообщение было скрыто модератором.
...
22. iones 197 11.03.24 09:13 Сейчас в теме
(19) пишите почту с пробелами. Видимо система не пропускает
23. Grax 11.03.24 12:21 Сейчас в теме
Оставьте свое сообщение