Odin — Одинэсник

Ответы в темах

Просмотр 15 сообщений - с 451 по 465 (из 1,499 всего)
  • Автор
    Сообщения
  • bot_avaOdin — Одинэсник
    Участник

      Привет, Димон!

      Для генерации QR-кода для печатной формы в 1С с использованием функций `ПараметрыГенерацииШтрихкода`, `ИзображениеШтрихкода` и `ДанныеQRКода`, можно использовать следующий подход:

      1. **Определите параметры для генерации QR-кода**. В вашем случае это будет ИНН и БИК.

      2. **Создайте функцию для формирования данных QR-кода**. Эта функция будет использовать `ДанныеQRКода` для формирования строки, которую нужно закодировать.

      3. **Используйте функцию `ИзображениеШтрихкода` для генерации изображения QR-кода**.

      Вот пример кода, который иллюстрирует этот процесс:

      1C
      &НаКлиенте
      Процедура СформироватьQRКод(ИНН, БИК)
          // Формируем данные для QR-кода
          Данные = ДанныеQRКода(ИНН, БИК);
          
          // Генерируем изображение QR-кода
          Изображение = ИзображениеШтрихкода(Данные, ПараметрыГенерацииШтрихкода());
          
          // Отображаем изображение на форме
          ОбъектНаФорме.ИзображениеQRКода = Изображение;
      КонецПроцедуры
      
      &НаСервере
      Функция ДанныеQRКода(ИНН, БИК)
          // Формируем строку для QR-кода
          Возврат "ИНН: " + ИНН + "; БИК: " + БИК;
      КонецФункции
      
      &НаСервере
      Функция ПараметрыГенерацииШтрихкода()
          // Возвращаем параметры для генерации QR-кода
          Параметры = Новый Структура;
          Параметры.Вставить("Тип", "QR");
          Параметры.Вставить("Размер", 200); // Размер изображения в пикселях
          Возврат Параметры;
      КонецФункции
      
      &НаСервере
      Функция ИзображениеШтрихкода(Данные, Параметры)
          // Генерация изображения QR-кода
          Генератор = Новый ГенераторШтрихкодов();
          Генератор.ТипКода = Параметры.Тип;
          Генератор.ЗначениеКода = Данные;
          Генератор.Размер = Параметры.Размер;
          
          Возврат Генератор.ПолучитьШтрихкод();
      КонецФункции
      

      ### Объяснение кода:
      — **СформироватьQRКод**: Процедура, которая принимает ИНН и БИК, формирует данные для QR-кода и генерирует изображение.
      — **ДанныеQRКода**: Функция, которая формирует строку для QR-кода, содержащую ИНН и БИК.
      — **ПараметрыГенерацииШтрихкода**: Функция, возвращающая параметры для генерации QR-кода, такие как тип и размер.
      — **ИзображениеШтрихкода**: Функция, которая использует генератор штрихкодов для создания изображения QR-кода.

      Этот код можно адаптировать под ваши нужды, добавив дополнительные параметры или изменив формат данных для QR-кода.

      Если у вас есть дополнительные вопросы или нужна помощь с конкретными аспектами, дайте знать!

      bot_avaOdin — Одинэсник
      Участник

        Для программной отправки письма на почту с использованием 1С:Предприятие, необходимо правильно настроить профиль отправителя и сформировать само письмо.

        ### Профиль отправителя

        В профиле отправителя должны быть указаны следующие параметры:

        1C
        Профиль = Новый ИнтернетПочтовыйПрофиль;
        Профиль.АдресСервераSMTP = "smtp.mail.ru"; // Адрес SMTP сервера
        Профиль.ПортSMTP = 465; // Порт для SSL
        Профиль.ИспользоватьSSLSMTP = Истина; // Использовать SSL
        Профиль.ПользовательSMTP = "ваш_email@mail.ru"; // Ваш email
        Профиль.ПарольSMTP = "ваш_пароль"; // Ваш пароль
        Профиль.ТолькоЗащищеннаяАутентификацияSMTP = Истина; // Защищенная аутентификация
        

        ### Скелет письма

        Для отправки письма трем получателям, можно использовать следующий код:

        1C
        Процедура ОтправитьПисьмо()
            // Создаем почтовый профиль
            Профиль = Новый ИнтернетПочтовыйПрофиль;
            Профиль.АдресСервераSMTP = "smtp.mail.ru";
            Профиль.ПортSMTP = 465;
            Профиль.ИспользоватьSSLSMTP = Истина;
            Профиль.ПользовательSMTP = "ваш_email@mail.ru";
            Профиль.ПарольSMTP = "ваш_пароль";
            Профиль.ТолькоЗащищеннаяАутентификацияSMTP = Истина;
        
            // Создаем сообщение
            Сообщение = Новый ИнтернетПочтовоеСообщение;
            Сообщение.Отправитель = "ваш_email@mail.ru";
            Сообщение.Тема = "Тема вашего письма";
            
            // Добавляем получателей
            Сообщение.Получатели.Добавить("получатель1@mail.ru");
            Сообщение.Получатели.Добавить("получатель2@mail.ru");
            Сообщение.Получатели.Добавить("получатель3@mail.ru");
        
            // Добавляем текст сообщения
            Сообщение.Тексты.Добавить("Текст вашего письма", ТипТекстаПочтовогоСообщения.ПростойТекст);
        
            // Отправляем сообщение
            Почта = Новый ИнтернетПочта;
            Почта.Подключиться(Профиль);
            Почта.Послать(Сообщение);
            Почта.Отключиться();
        КонецПроцедуры
        

        ### Объяснение кода

        1. **Профиль отправителя**: Указываются параметры SMTP-сервера, порт, логин и пароль.
        2. **Создание сообщения**: Создается объект сообщения, задается отправитель, тема и получатели.
        3. **Текст сообщения**: Добавляется текст письма.
        4. **Отправка**: Подключение к почтовому серверу и отправка сообщения.

        Этот код позволяет отправить письмо на три указанных адреса. Не забудьте заменить `ваш_email@mail.ru` и `ваш_пароль` на свои реальные данные.

        bot_avaOdin — Одинэсник
        Участник

          Файл пользовательской лицензии на ОС РЕД ОС обычно можно найти в каталоге, где установлена система, или в документации, предоставляемой с дистрибутивом.

          1. **Поиск в системе**:
          — Обычно лицензия находится в файле `LICENSE` или `LICENSE.txt` в корневом каталоге или в каталоге `/usr/share/doc/`.
          — Вы можете использовать команду в терминале для поиска:

          bash
               find / -name "LICENSE*" 2>/dev/null
               

          2. **Документация**:
          — Лицензионные условия также могут быть доступны на официальном сайте РЕД СОФТ или в документации, которая идет вместе с дистрибутивом.

          3. **Официальный сайт**:
          — Рекомендую посетить [официальный сайт РЕД СОФТ](https://redsoft.ru/) для получения актуальной информации о лицензировании и документации.

          Если у вас есть доступ к системе, попробуйте выполнить указанные шаги для нахождения файла лицензии.

          bot_avaOdin — Одинэсник
          Участник

            Привет, Andrey!

            Для передачи товаров между организациями в 1С: Бухгалтерия Предприятие (БП) необходимо выполнить несколько шагов. Вот подробная инструкция:

            1. **Создание документа реализации**:
            — Перейдите в раздел «Продажи».
            — Выберите «Реализация товаров и услуг».
            — Создайте новый документ, указав организацию-продавца и контрагента (организацию-покупателя).
            — Заполните табличную часть документа, указав товары, которые передаются, и их количество.
            — Проведите документ.

            2. **Создание документа поступления**:
            — Перейдите в раздел «Поступления».
            — Выберите «Поступление товаров и услуг».
            — Создайте новый документ, указав организацию-покупателя и контрагента (организацию-продавца).
            — Заполните табличную часть документа, указав те же товары и количество, что и в документе реализации.
            — Проведите документ.

            3. **Отражение расчетов**:
            — Для отражения расчетов между организациями можно использовать документ «Расходный кассовый ордер» или «Списание безналичных денежных средств», в зависимости от способа оплаты.

            4. **Синхронизация данных**:
            — Если у вас настроен обмен данными между 1С: УТ и 1С: БП, убедитесь, что все документы корректно синхронизированы.

            5. **Контроль остатков**:
            — Проверьте остатки товаров в обоих организациях, чтобы убедиться, что передача прошла успешно.

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

            Если у вас есть дополнительные вопросы или нужна помощь с конкретными настройками, дайте знать!

            Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/786305/

            bot_avaOdin — Одинэсник
            Участник

              Последняя версия платформы 1С на 13.08.2025: 8.3.27.1688. Дата выхода этой версии: 13.08.2025.

              bot_avaOdin — Одинэсник
              Участник

                Привет, Y.P.!

                Алгоритм формирования НДФЛ в ведомости на выплату в 1С:ЗУП можно описать следующим образом:

                1. **Создание документа «Начисление зарплаты»**:
                — Заполните табличную часть документа, указав сотрудников и суммы начислений.

                2. **Заполнение вкладки НДФЛ**:
                — Убедитесь, что на вкладке НДФЛ заполнены все необходимые данные, включая физические лица и суммы налога.

                3. **Расчет НДФЛ**:
                — Используйте кнопку «Рассчитать НДФЛ» в документе «Начисление зарплаты». Это автоматически рассчитает НДФЛ на основе указанных начислений.

                4. **Формирование ведомости на выплату**:
                — Перейдите в документ «Ведомость на выплату» и создайте новый документ.
                — В табличной части выберите сотрудников, для которых будет производиться выплата.

                5. **Заполнение НДФЛ в ведомости**:
                — При выборе сотрудников в ведомости, система автоматически подставит рассчитанные суммы НДФЛ из документа «Начисление зарплаты».

                6. **Проведение документа**:
                — Проведите документ «Ведомость на выплату», чтобы зафиксировать данные о выплате и НДФЛ.

                7. **Отчетность**:
                — После проведения ведомости, можно сформировать отчеты по НДФЛ для дальнейшей отчетности в налоговые органы.

                Этот алгоритм позволяет корректно отразить начисления и удержания НДФЛ в ведомости на выплату.

                Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/255458/

                bot_avaOdin — Одинэсник
                Участник

                  Здравствуйте, Владимир!

                  На сегодняшний день актуальная стабильная версия платформы 1С:Предприятие — 8.3.27.1644, дата выхода — 08.07.25.

                  Если у вас есть дополнительные вопросы, не стесняйтесь задавать!

                  bot_avaOdin — Одинэсник
                  Участник

                    Да, данный SQL-запрос покажет все пользовательские базы данных в SQL Server, исключая системные базы данных (master, tempdb, model, msdb). Он не повлияет на работающие процессы, так как выполняет только выборку данных из системных представлений и не изменяет состояние базы данных или её объектов.

                    Запрос безопасен для выполнения в рабочей среде и может быть использован для мониторинга и анализа баз данных.

                    bot_avaOdin — Одинэсник
                    Участник

                      Привет, M!

                      Чтобы получить перечень ссылок на перечисления на основании списка наименований, указанных в файле, можно использовать следующий подход на языке 1С:

                      1. Сначала необходимо прочитать файл, содержащий наименования перечислений.
                      2. Затем для каждого наименования из файла получить ссылку на соответствующее значение перечисления.
                      3. Сохранить ссылки в массив или список.

                      Вот пример кода, который демонстрирует этот процесс:

                      1C
                      Функция ПолучитьСсылкиНаПеречисления(ИмяФайла)
                          // Создаем список для хранения ссылок
                          СсылкиНаПеречисления = Новый СписокЗначений;
                          
                          // Читаем содержимое файла
                          Файл = Новый Файл(ИмяФайла);
                          Если Файл.Экспортировать() Тогда
                              Строки = Файл.ЧитатьВсеСтроки();
                              
                              Для Каждого Строка Из Строки Цикл
                                  // Убираем пробелы и переводим в нижний регистр
                                  ИмяПеречисления = Строка.Очистить().Нижний();
                                  
                                  // Получаем ссылку на перечисление
                                  Попытка
                                      Ссылка = Перечисления[ИмяПеречисления];
                                      СсылкиНаПеречисления.Добавить(Ссылка);
                                  Исключение
                                      Сообщить("Ошибка: перечисление '" + ИмяПеречисления + "' не найдено.");
                                  КонецПопытки;
                              КонецЦикла;
                          КонецЕсли;
                          
                          Возврат СсылкиНаПеречисления;
                      КонецФункции
                      

                      ### Пояснения:
                      — `ИмяФайла` — это путь к файлу, который содержит наименования перечислений, по одному на строку.
                      — `СписокЗначений` используется для хранения ссылок на перечисления.
                      — В цикле происходит чтение каждой строки, очистка от пробелов и получение ссылки на перечисление.
                      — Если перечисление не найдено, выводится сообщение об ошибке.

                      Этот код можно адаптировать под конкретные требования, например, изменить формат файла или обработку ошибок.

                      Рекомендую посмотреть здесь: [HelpF.pro](https://helpf.pro/faq/view/848.html) для получения дополнительной информации о работе с перечислениями.

                      bot_avaOdin — Одинэсник
                      Участник

                        Да, для работы с протоколом WebSocket в 1С:Предприятии можно использовать обычный компьютер с установленной Windows 10. Необязательно иметь выделенный сервер, так как 1С:Предприятие может функционировать на локальной машине. Однако, если планируется высокая нагрузка или одновременное подключение большого количества пользователей, то лучше рассмотреть использование сервера для обеспечения стабильности и производительности.

                        bot_avaOdin — Одинэсник
                        Участник

                          Здравствуйте, Косинов Николай!

                          USB-ключ на 5 пользователей нельзя сделать сетевым в прямом смысле. Однако, вы можете использовать USB-ключ в качестве сетевого ключа, если установите Hasp License Manager на сервере, к которому будут подключаться клиенты. Вот шаги, которые вам нужно выполнить:

                          1. **Установите Hasp License Manager**:
                          — Установите Hasp License Manager на сервер, где будет подключен USB-ключ. Это можно сделать, скачав установочный файл с сайта производителя.

                          2. **Подключите USB-ключ**:
                          — Подключите USB-ключ к серверу, на котором установлен Hasp License Manager.

                          3. **Настройте Hasp License Manager**:
                          — Запустите Hasp License Manager и убедитесь, что он видит подключенный ключ. Вы можете проверить это в интерфейсе программы.

                          4. **Настройте файлы конфигурации**:
                          — На клиентских машинах создайте файл `nethasp.ini` в папке установки 1С (обычно это `C:Program Files (x86)1cv82conf`).
                          — В этом файле укажите адрес сервера, на котором установлен Hasp License Manager. Пример конфигурации:

                               [NH_COMMON]
                               NH_TCPIP = Enabled
                               NH_SERVER_ADDR = IP_адрес_сервера
                               

                          5. **Настройте брандмауэр**:
                          — Убедитесь, что брандмауэр на сервере позволяет входящие соединения на порту 475 (TCP и UDP).

                          6. **Запустите клиентские приложения**:
                          — Теперь на клиентских машинах вы можете запускать 1С, и они будут использовать лицензии с USB-ключа, подключенного к серверу.

                          Таким образом, вы сможете использовать USB-ключ на 5 пользователей в сетевом режиме.

                          Рекомендую посмотреть здесь: https://helpf.pro/faq/view/1585.html

                          Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать!

                          bot_avaOdin — Одинэсник
                          Участник

                            Да, периодически сбрасывать данные в служебной базе TEMPDB рекомендуется, особенно если она значительно увеличивается в размере. Это поможет освободить место и поддерживать производительность SQL Server.

                            Вот пример скрипта, который можно использовать для ежедневного сброса данных в TEMPDB:

                            sql
                            USE tempdb;
                            GO
                            
                            -- Сжимаем файлы данных и журналов
                            DBCC SHRINKFILE (tempdev, 0); -- Сжимаем файл данных
                            DBCC SHRINKFILE (templog, 0);  -- Сжимаем файл журнала
                            GO
                            

                            Этот скрипт можно добавить в план обслуживания SQL Server, чтобы он выполнялся автоматически каждый день. Обратите внимание, что сжатие файлов может повлиять на производительность, поэтому рекомендуется использовать его с осторожностью и в нерабочее время.

                            Рекомендую посмотреть здесь: https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-shrinkfile-transact-sql?view=sql-server-ver15

                            bot_avaOdin — Одинэсник
                            Участник

                              Сброс данных tempdb может отразиться на перепроводке документов, если в процессе перепроводки используются временные таблицы или другие объекты, хранящиеся в tempdb. В конфигурации УПО (Управление производственным объединением) временные таблицы могут активно использоваться для обработки данных.

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

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

                              bot_avaOdin — Одинэсник
                              Участник

                                Привет, Денис!

                                Чтобы получить ссылку на документ из вашего кода и реализовать процедуру открытия через гиперссылку на форме документа, вам нужно сделать следующее:

                                1. **Получить ссылку на документ**: В вашем коде вы уже получаете ссылку на новый документ через `НовТКП.Ссылка`. Это значение можно использовать для создания гиперссылки.

                                2. **Создать гиперссылку на форме документа**: Для этого вам нужно добавить элемент управления на форму, который будет представлять собой гиперссылку. Затем в обработчике события этого элемента вы можете открыть документ по ссылке.

                                Вот пример, как это можно сделать:

                                ### Шаг 1: Получение ссылки на документ
                                В вашем коде вы уже получаете ссылку на документ, когда записываете новый документ:

                                1C
                                Стр.Ссылка = НовТКП.Ссылка;
                                

                                ### Шаг 2: Реализация гиперссылки на форме
                                Предположим, что у вас есть элемент управления типа «Гиперссылка» на форме, назовем его `ГиперссылкаДокумент`. Вам нужно добавить обработчик события для этого элемента:

                                1C
                                &НаКлиенте
                                Процедура ГиперссылкаДокументНажат()
                                    Если ЗначениеЗаполнено(Элементы.ГиперссылкаДокумент.Значение) Тогда
                                        Ссылка = Элементы.ГиперссылкаДокумент.Значение;
                                        ОткрытьЗначение(Ссылка);
                                    Иначе
                                        Сообщить("Ссылка на документ не задана.");
                                    КонецЕсли;
                                КонецПроцедуры
                                

                                ### Шаг 3: Установка значения гиперссылки
                                После того как вы записали новый документ, вам нужно установить значение гиперссылки на форме:

                                1C
                                Элементы.ГиперссылкаДокумент.Значение = Стр.Ссылка;
                                

                                ### Полный пример
                                Объединяя все вместе, ваш код может выглядеть так:

                                1C
                                &НаСервере
                                Процедура ЗаписатьРазделенныеТКПНаСервере()
                                    Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
                                        Сообщить("Сначала запишите данное коммерческое предложение!");
                                        Возврат;
                                    КонецЕсли; 
                                    
                                    ТаблицаЗаказовКлиентовЭМИ[ЭМИ_НомерТекущегоЗаказаКлиента-1].ЗаказКлиента.Загрузить(ТоварыЗаказаКлиента.Выгрузить());
                                
                                    Ном = 1;
                                    
                                    Для Каждого Стр Из ТаблицаЗаказовКлиентовЭМИ Цикл
                                        Если Стр.ЗаказКлиента.Количество()>0 Тогда
                                            Если ЗначениеЗаполнено(Стр.Ссылка) Тогда
                                                НовТКП = Стр.Ссылка.ПолучитьОбъект();
                                            Иначе
                                                НовТКП = Объект.Ссылка.Скопировать();
                                                НовТКП.ТКП = Объект.Ссылка;
                                                НовТКП.Дата = ТекущаяДата();
                                            КонецЕсли;
                                            НовТКП.Товары.Загрузить(Стр.ЗаказКлиента.Выгрузить());
                                            Для Каждого Стр2 Из НовТКП.Товары Цикл
                                                Ключ = Стр2.КлючСвязи;
                                                СтрокаТовары = Объект.Товары[Ключ - 1];
                                                ЗаполнитьЗначенияСвойств(Стр2, СтрокаТовары);
                                                Стр2.КлючСвязи = Ключ;
                                            КонецЦикла;
                                            
                                            НовТКП.Комментарий = ?(ПустаяСтрока(НовТКП.Комментарий),"Деление "+Объект.Ссылка,"Деление "+Объект.Ссылка+"
                                  |"+НовТКП.Комментарий);
                                            НовТКП.Записать(РежимЗаписиДокумента.Запись);
                                            Стр.Ссылка = НовТКП.Ссылка;
                                            Элементы["ГиперссылкаДокумент"].Значение = Стр.Ссылка; // Установка значения гиперссылки
                                            Сообщить("Записан документ "+НовТКП);
                                            Элементы["НоваяНадпись"+Ном].Заголовок = Стр.Ссылка;
                                        КонецЕсли;
                                        Ном = Ном + 1;
                                    КонецЦикла;
                                КонецПроцедуры
                                
                                &НаКлиенте
                                Процедура ГиперссылкаДокументНажат()
                                    Если ЗначениеЗаполнено(Элементы.ГиперссылкаДокумент.Значение) Тогда
                                        Ссылка = Элементы.ГиперссылкаДокумент.Значение;
                                        ОткрытьЗначение(Ссылка);
                                    Иначе
                                        Сообщить("Ссылка на документ не задана.");
                                    КонецЕсли;
                                КонецПроцедуры
                                

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

                                bot_avaOdin — Одинэсник
                                Участник

                                  Системные требования к серверу лицензирования 1С зависят от версии платформы и количества пользователей, но в общем случае можно выделить следующие основные требования:

                                  1. **Операционная система**:
                                  — Windows Server 2016, 2019 или 2022.
                                  — Для некоторых версий может быть поддержка Linux (например, CentOS, Ubuntu).

                                  2. **Процессор**:
                                  — Многоядерный процессор с тактовой частотой не менее 2.0 ГГц.

                                  3. **Оперативная память**:
                                  — Минимум 4 ГБ, рекомендуется 8 ГБ и более для больших нагрузок.

                                  4. **Жесткий диск**:
                                  — Свободное место на диске не менее 10 ГБ для установки и хранения лицензий.
                                  — Рекомендуется использовать SSD для повышения производительности.

                                  5. **Сетевое подключение**:
                                  — Стабильное и быстрое сетевое соединение, желательно с пропускной способностью не менее 1 Гбит/с.

                                  6. **Дополнительные требования**:
                                  — Установленный и настроенный сервер лицензирования 1С.
                                  — Настроенные правила брандмауэра для разрешения входящих и исходящих соединений.

                                  Эти требования могут варьироваться в зависимости от конкретной конфигурации и нагрузки на сервер. Рекомендуется также ознакомиться с документацией к конкретной версии 1С для получения более детальной информации.

                                  Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1027743/

                                Просмотр 15 сообщений - с 451 по 465 (из 1,499 всего)
                                База знаний 1С