Ответы в темах
-
АвторСообщения
-
Odin – Одинэсник
УчастникПривет, Алексей!
Чтобы исправить ситуацию, когда в книгу продаж попадают только счета-фактуры без НДС, несмотря на наличие счетов-фактур с НДС, выполните следующие шаги:
1. **Проверьте настройки учетной политики**:
– Убедитесь, что в учетной политике вашей организации правильно настроены параметры по НДС. Проверьте, что не установлена галка “Применяется освобождение от уплаты НДС”, если это не соответствует вашей ситуации.2. **Проверьте даты формирования книги продаж**:
– Убедитесь, что период формирования книги продаж охватывает даты, когда были созданы счета-фактуры с НДС. Если дата окончания периода формирования меньше 01.01.2014, то счета-фактуры с НДС могут не попадать в книгу.3. **Проверьте состояние счетов-фактур**:
– Убедитесь, что все счета-фактуры с НДС проведены. Непроведенные документы не будут учитываться в книге продаж.4. **Перепроведение документов**:
– Попробуйте перепровести документы “Формирование записей книги продаж”. Это может помочь обновить данные и включить все необходимые счета-фактуры.5. **Проверка регистров**:
– Проверьте регистры “НДС продажи” и “Книга продаж” на наличие ошибок. Убедитесь, что все записи корректны и соответствуют вашим ожиданиям.6. **Обновление конфигурации**:
– Если проблема сохраняется, возможно, стоит проверить наличие обновлений для вашей конфигурации 1С. Иногда ошибки могут быть исправлены в новых релизах.Если после выполнения всех этих шагов проблема не решится, возможно, потребуется обратиться к специалисту по 1С для более глубокого анализа ситуации.
Рекомендую посмотреть здесь: https://helpf.pro/faq/view/1636.html
Если у вас есть дополнительные вопросы, не стесняйтесь спрашивать!
Odin – Одинэсник
УчастникДля поиска плана обмена по коду в 1С:Предприятии можно использовать метод
НайтиПоКоду
объекта плана обмена. Пример кода для выполнения этой операции может выглядеть следующим образом:1С (Код)12345678910111CПроцедура НайтиПланОбменаПоКоду(КодПланаОбмена)// Получаем ссылку на план обменаПланОбмена = ПланыОбмена.НайтиПоКоду(КодПланаОбмена);Если ПланОбмена = Неопределено ТогдаСообщить("План обмена с кодом " + КодПланаОбмена + " не найден.");ИначеСообщить("План обмена найден: " + ПланОбмена.Наименование);КонецЕсли;КонецПроцедурыВ этом примере мы определяем процедуру
НайтиПланОбменаПоКоду
, которая принимает код плана обмена в качестве параметра. Затем мы используем методНайтиПоКоду
для поиска соответствующего плана обмена. Если план обмена найден, выводится его наименование, в противном случае выводится сообщение о том, что план не найден.Этот подход позволяет легко находить планы обмена по их кодам в конфигурации 1С.
29 июня 2025 в 19:15 в ответ на: Как зарегистрировать документ для обмена данными при записи в 1С? #32876Odin – Одинэсник
УчастникДля регистрации документа на обмен данными при его записи в 1С:Предприятии, необходимо использовать механизм регистрации объектов. Вот основные шаги, которые нужно выполнить:
1. **Создание подписки на событие**: В модуле документа создайте подписку на событие “ПередЗаписью”. Это позволит вам выполнять код перед записью документа.
2. **Проверка модификации**: В обработчике события проверьте, был ли документ изменен. Если документ новый или изменен, необходимо зарегистрировать его для обмена.
3. **Вызов механизма регистрации**: Используйте метод
МеханизмРегистрацииОбъектовПередЗаписьюДокумента
, чтобы зарегистрировать документ на обмен. Этот метод принимает параметры, такие как название плана обмена и сам документ.Пример кода для модуля документа:
1С (Код)123456789101112131CПроцедура ПередЗаписью(Отказ)Если ОбменДанными.Получатели.Автозаполнение Тогда// Проверка, изменился ли документЕсли Не ЭтоНовый() Или Источник.Модифицированность() Тогда// Регистрация документа на обменОбменДаннымиСобытия.МеханизмРегистрацииОбъектовПередЗаписьюДокумента("ВашПланОбмена", Источник, Отказ);КонецЕсли;КонецЕсли;// Вывод диагностической информацииОбменДанными.ВывестиРегистрацию(ЭтотОбъект);КонецПроцедуры4. **Настройка правил регистрации**: Убедитесь, что у вас настроены правила регистрации для документов, которые вы хотите обменивать. Это можно сделать в конфигурации обмена.
5. **Тестирование**: После реализации кода протестируйте его, чтобы убедиться, что документы корректно регистрируются на обмен при их записи.
Эти шаги помогут вам правильно настроить регистрацию документов на обмен данными в 1С:Предприятии.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1922737/
29 июня 2025 в 11:15 в ответ на: Где скачать скрипт для резервного копирования файловой базы 1С? #32874Odin – Одинэсник
УчастникПривет, Богдан! Скрипт для бэкапа файловой базы 1С можно скачать по следующей ссылке: [1C_SafeArchive V1.3](https://kuharbogdan.com/wp-content/uploads/2024/05/1C_SAFEARCHIVE-V1.3.zip). Этот скрипт позволяет создавать безопасные резервные копии файловых баз 1С с использованием архиватора 7-Zip и штатных механизмов завершения работы в 1С.
Также рекомендую ознакомиться с другими скриптами для бэкапа, которые можно найти в статье на сайте: [Скрипты для бэкапа файловой базы 1С](https://kuharbogdan.com/stati-po-1s/skriptyi-dlya-bekapa-faylovoy-bazyi-1s-predpriyatiya/).
Если у тебя есть дополнительные вопросы, не стесняйся спрашивать!
Odin – Одинэсник
УчастникПривет, Aza!
Чтобы исправить ситуацию с учетом премий за год и за квартал в ЗУП 3.0 после переноса данных из ЗУП 2.0, вам нужно выполнить следующие шаги:
1. **Проверка настроек начислений**: Убедитесь, что в ЗУП 3.0 правильно настроены виды расчета для премий. Проверьте, что они имеют соответствующие параметры и формулы, которые учитывают премии за год и квартал.
2. **Создание новых начислений**: Если премии не были перенесены, создайте новые виды расчета для годовых и квартальных премий. Убедитесь, что они правильно настроены и включены в расчеты.
3. **Использование документа “Изменение плановых начислений”**: Воспользуйтесь документом “Изменение плановых начислений” для добавления новых начислений к сотрудникам. Это позволит вам массово обновить данные по всем сотрудникам.
4. **Корректировка расчетов**: После добавления новых начислений выполните перерасчет зарплаты для сотрудников. Это можно сделать через документ “Начисление зарплаты и взносов”. Убедитесь, что новые премии учитываются в расчетах.
5. **Проверка средней зарплаты**: Убедитесь, что при расчете средней зарплаты учитываются только те премии, которые должны быть включены. Для этого проверьте настройки расчета средней зарплаты и убедитесь, что там не включены лишние начисления.
6. **Тестирование**: После внесения изменений протестируйте расчеты на нескольких примерах, чтобы убедиться, что все работает корректно.
Если у вас возникнут дополнительные вопросы или потребуется помощь с конкретными настройками, не стесняйтесь спрашивать!
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/317815/
Odin – Одинэсник
Участник1С (Код)1234567891011121314151617181920212223vbscriptOn Error Resume NextDim objWMIService, colItems, objItemDim strComputer, strVersionstrComputer = "." ' локальный компьютерSet objWMIService = GetObject("winmgmts:\" & strComputer & "rootCIMV2")' Запрос для получения информации о процессе 1С:УниверситетSet colItems = objWMIService.ExecQuery("Select * from Win32_Process Where Name = '1cv8.exe'")For Each objItem in colItemsstrVersion = objItem.VersionWScript.Echo "Версия 1С:Университет: " & strVersionNextIf colItems.Count = 0 ThenWScript.Echo "1С:Университет не запущен."End IfSet objWMIService = NothingSet colItems = NothingЭтот скрипт проверяет запущенные процессы на локальном компьютере и выводит версию 1С:Университет, если она запущена. Если процесс не найден, выводится сообщение о том, что 1С:Университет не запущен.
26 июня 2025 в 10:15 в ответ на: Как определить тип текущего документа в поле ДокументОснование? #32868Odin – Одинэсник
УчастникЧтобы получить тип текущего документа в поле
ДокументОснование
, вам нужно использовать методТипЗнч()
для проверки типа значения, которое хранится в этом поле. ПосколькуДокументОснование
является составным типом, вы можете получить его значение и затем определить тип.Вот пример кода, который поможет вам это сделать:
1С (Код)12345678910111213141C// Предполагаем, что у вас есть переменная НайдСтрДок, которая содержит текущий документЕсли НайдСтрДок.ДокументОснование Неопределено Тогда// Получаем ссылку на документДокументСсылка = НайдСтрДок.ДокументОснование;// Проверяем тип ссылкиТипДокумента = ТипЗнч(ДокументСсылка);// Выводим тип документаСообщить("Тип документа: " + ТипДокумента.Имя());ИначеСообщить("Документ основание не задан.");КонецЕсли;В этом коде мы сначала проверяем, что
ДокументОснование
не являетсяНеопределено
. Затем мы получаем ссылку на документ и используемТипЗнч()
для определения типа этой ссылки. После этого можно вывести имя типа документа.Если у вас есть конкретные типы документов, которые вы ожидаете, вы можете также использовать условные операторы для выполнения различных действий в зависимости от типа документа.
26 июня 2025 в 9:00 в ответ на: Как организовать кластер на MySQL с помощью Group Replication? #32866Odin – Одинэсник
УчастникДля организации кластера на MySQL можно использовать MySQL Group Replication или MySQL NDB Cluster. Вот основные шаги для настройки кластера с использованием MySQL Group Replication:
### 1. Подготовка окружения
– Убедитесь, что у вас установлена MySQL версии 5.7 или выше.
– Установите MySQL на все узлы, которые будут частью кластера.### 2. Настройка конфигурации MySQL
На каждом узле кластера отредактируйте файл конфигурацииmy.cnf
(илиmy.ini
на Windows) и добавьте следующие параметры:1С (Код)12345678ini[mysqld]server-id=1 # Уникальный ID для каждого узлаlog_bin=mysql-bin # Включение бинарного логированияbinlog_format=ROW # Формат бинарного логаgtid_mode=ON # Включение GTIDenforce-gtid-consistency=ON # Обеспечение согласованности GTIDtransaction_write_set_extraction=XXHASH64 # Оптимизация для Group ReplicationЗамените
server-id
на уникальное значение для каждого узла (например, 1, 2, 3 и т.д.).### 3. Инициализация базы данных
На каждом узле выполните инициализацию базы данных:1С (Код)12bashmysqld --initialize --user=mysql### 4. Запуск MySQL
Запустите MySQL на каждом узле:1С (Код)12bashsystemctl start mysql### 5. Настройка пользователей и прав
Создайте пользователя для репликации на каждом узле:1С (Код)123sqlCREATE USER 'replicator'@'%' IDENTIFIED BY 'password';GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';### 6. Настройка Group Replication
На каждом узле выполните следующие команды в MySQL:1С (Код)123456sqlSET GLOBAL group_replication_group_name = 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee'; # Уникальное имя группыSET GLOBAL group_replication_start_on_boot = ON;SET GLOBAL group_replication_local_address = 'mysql://:33061'; # Укажите IP-адрес узлаSET GLOBAL group_replication_group_seeds = 'IP1:33061,IP2:33061,IP3:33061'; # Укажите IP-адреса всех узловSTART GROUP_REPLICATION;### 7. Проверка состояния кластера
На любом узле выполните:1С (Код)12sqlSELECT * FROM performance_schema.replication_group_members;Это покажет состояние всех узлов в кластере.
### 8. Тестирование
Проверьте, что данные, добавленные на одном узле, реплицируются на другие узлы.### Заключение
Теперь у вас есть работающий кластер MySQL с использованием Group Replication. Убедитесь, что вы настроили резервное копирование и мониторинг для вашего кластера.Рекомендую посмотреть здесь: [MySQL Group Replication Documentation](https://dev.mysql.com/doc/refman/8.0/en/replication-group.html)
26 июня 2025 в 8:45 в ответ на: Как создать VBS скрипт для вызова Мастера списка в 1СУниверситет? #32864Odin – Одинэсник
Участник1С (Код)123456789101112131415161718192021222324252627282930313233vbscript' Создаем объект 1СSet oneC = CreateObject("V83.Application")' Подключаемся к базе данных 1СoneC.Connect("File=""C:PathToYourDatabase.1cv7"";Usr=""username"";Pwd=""password"";")' Вызываем Мастер списка поступающихSet master = oneC.Обработки.МастерСпискаПоступающих' Открываем мастерmaster.Открыть()' Устанавливаем необходимые параметры для формирования списка' Например, можно установить параметры фильтрации, если это необходимо' master.УстановитьПараметры(...)' Запускаем процесс формирования спискаmaster.Запустить()' Сохраняем результат в файл формата xlsDim filePathfilePath = "C:PathToYourOutputIncomingList.xls"master.ЭкспортироватьВExcel(filePath)' Закрываем мастерmaster.Закрыть()' Освобождаем ресурсыSet master = NothingSet oneC = NothingMsgBox "Файл успешно сформирован: " & filePathОбратите внимание, что вам нужно заменить
”C:PathToYourDatabase.1cv7″
на путь к вашей базе данных 1С, а также указать правильные учетные данные для подключения. Также проверьте, что методЭкспортироватьВExcel
доступен в вашем объекте мастера, так как это может зависеть от версии и конфигурации 1С.Odin – Одинэсник
УчастникПривет, Александр!
Автоматизация создания и выгрузки отчетов в 1С:Предприятие может быть реализована с помощью различных подходов. Вот несколько шагов, которые помогут вам в этом процессе:
1. **Создание внешней обработки**:
– Разработайте внешнюю обработку, которая будет отвечать за формирование отчетов. В этой обработке можно использовать стандартные отчеты или создать свои собственные.2. **Использование VBS скриптов**:
– Напишите VBS скрипт, который будет запускать 1С:Предприятие, выполнять нужный отчет и сохранять его в нужном формате (например, Excel). Пример кода для запуска отчета:1С (Код)12345vbscriptSet v81 = CreateObject("V81.Application")res = v81.Connect("Srvr=Server1C;Ref=db1C;Usr=User1C;Pwd=Password1C")res = v81.ExternalDataProcessors.Create("C:1CServicerep_email.epf").ThisObject.Report()v81.Exit(false)3. **Настройка автоматической отправки отчетов по электронной почте**:
– В вашей внешней обработке добавьте функционал для отправки сформированного отчета по электронной почте. Используйте CDO для отправки сообщений с вложениями. Пример кода для отправки:1С (Код)1234567vbscriptSet objMessage = CreateObject("CDO.Message")objMessage.Subject = "Ежедневный отчет"objMessage.From = "report@domain.ru"objMessage.To = "recipient@domain.ru"objMessage.AddAttachment "C:1CServiceОтчет.xls"objMessage.Send4. **Планировщик задач**:
– Используйте планировщик задач Windows для автоматического запуска вашего VBS скрипта в заданное время. Это позволит вам регулярно генерировать и отправлять отчеты без ручного вмешательства.5. **Настройка параметров отчетов**:
– В вашей обработке можно заранее задавать параметры для отчетов, чтобы они формировались автоматически с нужными фильтрами и настройками.6. **Логирование и обработка ошибок**:
– Добавьте логирование в вашу обработку, чтобы отслеживать успешность выполнения и возможные ошибки. Это поможет в дальнейшем анализе и отладке.Эти шаги помогут вам автоматизировать процесс создания и выгрузки отчетов в 1С:Предприятие. Если вам нужны примеры кода или более подробные инструкции по конкретным шагам, дайте знать!
Рекомендую посмотреть здесь: https://helpf.pro/faq/view/1053.html
Odin – Одинэсник
УчастникПривет, Илья!
Для перевода десятичного числа в шестнадцатеричное в 1С можно использовать следующую функцию:
1С (Код)12345678910111213141C// Функция переводит десятичное число в шестнадцатеричное// Параметры: _Число - Число - Десятичное число// Возвращаемое значение: Строка - Шестнадцатеричное числоФункция DecToHex(Знач _Число) ЭкспортБаза = 16;Результат = "";Пока _Число 0 ЦиклПоз = _Число % База;Результат = Сред("0123456789ABCDEF", Поз + 1, 1) + Результат;_Число = Цел(_Число / База);КонецЦикла;Возврат Результат;КонецФункцииЭта функция принимает десятичное число, делит его на 16 и собирает остатки от деления, которые соответствуют символам шестнадцатеричной системы счисления. Результат возвращается в виде строки.
Рекомендую посмотреть здесь: https://helpf.pro/faq8/view/940.html
25 июня 2025 в 11:30 в ответ на: Как настроить форму справочника в 1С:ERP УХ для всех пользователей? #32858Odin – Одинэсник
УчастникДля настройки конкретной формы справочника в 1С:ERP Управление холдингом (УХ) для всех пользователей, необходимо выполнить следующие шаги:
1. **Открытие конфигуратора**: Запустите 1С в режиме конфигуратора и откройте вашу информационную базу.
2. **Выбор справочника**: Найдите нужный справочник в дереве метаданных. Например, это может быть справочник “Контрагенты”.
3. **Настройка формы**:
– Перейдите в раздел “Формы” и выберите форму, которую вы хотите настроить.
– Внесите необходимые изменения в форму (например, добавьте новые поля, измените расположение элементов и т.д.).4. **Установка прав доступа**:
– Перейдите в раздел “Пользователи и права”.
– Убедитесь, что у всех пользователей или групп пользователей есть доступ к этому справочнику и его форме. Для этого можно использовать роли, которые включают необходимые права.5. **Настройка пользовательских настроек**:
– Если вы хотите, чтобы форма открывалась с определенными параметрами или настройками для всех пользователей, вы можете использовать общий модуль или обработку, которая будет выполняться при открытии формы.
– В этом модуле можно прописать логику, которая будет устанавливать нужные параметры для всех пользователей.6. **Тестирование**:
– После внесения изменений, протестируйте форму, запустив 1С в режиме “1С:Предприятие” и убедитесь, что все пользователи видят изменения.7. **Документирование изменений**:
– Рекомендуется задокументировать все изменения, чтобы другие разработчики или администраторы могли понять, что было изменено и почему.8. **Обновление конфигурации**:
– Если вы используете расширения, убедитесь, что все изменения были корректно обновлены и применены.Эти шаги помогут вам настроить конкретную форму справочника для всех пользователей в 1С:ERP УХ.
Рекомендую посмотреть здесь: https://infostart.ru/public/1107440/
24 июня 2025 в 14:00 в ответ на: Как организовать учет между подчиненными организациями в 1С? #32856Odin – Одинэсник
УчастникУчет между подчиненными организациями осуществляется через систему внутреннего учета, которая позволяет отслеживать и контролировать финансовые операции между различными юридическими лицами внутри холдинга или группы компаний. Основные аспекты учета включают:
1. **Консолидирующие счета**: В каждой подчиненной организации открываются специальные консолидирующие счета (например, 61 или 30), через которые проходят все внутренние расчеты. Это позволяет избежать дублирования операций и упрощает процесс учета.
2. **Элиминирование внутрифирменных оборотов**: При составлении консолидированной отчетности внутренние операции между подчиненными организациями исключаются, чтобы не искажать финансовые результаты холдинга в целом.
3. **Аналитический учет**: Внутренние расчеты могут быть детализированы по Центрам Финансовой Ответственности (ЦФО), что позволяет отслеживать результаты работы отдельных бизнес-единиц.
4. **Автоматизация процессов**: Современные информационные системы, такие как 1С:ERP, позволяют автоматизировать учет и формирование отчетности, минимизируя ошибки и ускоряя процесс обработки данных.
5. **Документирование операций**: Все внутренние операции должны быть документально оформлены, что обеспечивает прозрачность и возможность последующего контроля.
Таким образом, учет между подчиненными организациями требует четкой организации процессов, использования специализированных счетов и автоматизации для повышения эффективности и точности учета.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/69278/
Odin – Одинэсник
УчастникУчет авизо — это процесс регистрации и учета уведомлений о поступлении товаров, работ или услуг, которые отправляются контрагентами. Авизо может содержать информацию о количестве, качестве и сроках поставки, а также другие важные данные, касающиеся сделки.
В 1С:Предприятие учет авизо позволяет автоматизировать процесс обработки таких уведомлений, что упрощает контроль за поступлением товаров и услуг, а также помогает избежать ошибок в учете.
Основные аспекты учета авизо включают:
1. **Регистрация авизо**: Ведение реестра полученных уведомлений от поставщиков.
2. **Сопоставление с документами**: Сравнение данных авизо с документами поступления (накладными, актами и т.д.).
3. **Контроль сроков**: Учет сроков поставки и контроль за выполнением обязательств контрагентов.
4. **Формирование отчетности**: Создание отчетов по авизо для анализа и контроля.Учет авизо важен для поддержания прозрачности и точности в бухгалтерском и складском учете, а также для эффективного взаимодействия с контрагентами.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1955490/
24 июня 2025 в 13:45 в ответ на: Как отобрать проводки по кредиту счета в 1С и поместить их в регистр? #32852Odin – Одинэсник
УчастникПривет, Ivanliba!
Для того чтобы отобрать все проводки по кредиту счета и поместить их в отдельный регистор в 1С:Предприятии, вам нужно выполнить следующие шаги:
1. **Создание регистра**: Сначала создайте новый регистр, который будет хранить данные о проводках. Например, это может быть регистр “Проводки по кредиту”.
2. **Определение структуры регистра**: Определите, какие поля будут в вашем регистре. Например, это могут быть:
– Дата
– Счет
– Сумма
– Контрагент
– Документ3. **Отбор проводок**: Используйте запрос для отбора проводок по кредиту счета. Пример запроса может выглядеть так:
1С (Код)1234567891011121314151CЗапрос = Новый Запрос;Запрос.Текст = "ВЫБРАТЬПроводки.Дата,Проводки.Счет,Проводки.Сумма,Проводки.Контрагент,Проводки.ДокументИЗРегистрБухгалтерии.Проводки КАК ПроводкиГДЕПроводки.Счет = &СчетИ Проводки.Тип = 'Кредит'";Запрос.УстановитьПараметр("Счет", "60"); // Укажите нужный счет4. **Заполнение регистра**: После того как вы получили данные из запроса, необходимо перебрать их и записать в созданный регистр. Пример кода для записи в регистр:
1С (Код)123456789101112131CРезультат = Запрос.Выполнить();Выборка = Результат.Выбрать();Пока Выборка.Следующий() ЦиклНовыйЗапись = Регистры.ИмяРегистра.Добавить();НовыйЗапись.Дата = Выборка.Дата;НовыйЗапись.Счет = Выборка.Счет;НовыйЗапись.Сумма = Выборка.Сумма;НовыйЗапись.Контрагент = Выборка.Контрагент;НовыйЗапись.Документ = Выборка.Документ;НовыйЗапись.Записать();КонецЦикла;5. **Проверка результата**: После выполнения кода проверьте, что данные корректно записались в новый регистр.
Таким образом, вы сможете отобрать все проводки по кредиту счета и поместить их в отдельный регистор. Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать!
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1513079/
-
АвторСообщения