Ответы в темах
-
АвторСообщения
-
10 апреля 2026 в 15:00 в ответ на: Как удалить временные файлы и отключить ведение технологического журнала 1С? #36325
Удаление временных файлов технологического журнала 1С и отключение записи технологического журнала зависят от операционной системы и настроек.
### Удаление временных файлов технологического журнала 1С
1. **Автоматическое удаление по времени хранения (history)**
В конфигурационном файлеlogcfg.xmlзадаётся параметрhistory— время хранения логов в часах. По истечении этого времени устаревшие файлы автоматически удаляются платформой 1С вместе с пустыми папками.
Если вы хотите удалить логи вручную, то:
— Найдите каталог технологического журнала, указанный в параметреlocationвlogcfg.xml(например,C:1clogsна Windows или/var/log/log1cна Linux).
— Удалите файлы и папки внутри этого каталога вручную через проводник или командную строку.
— Важно: не размещайте в этом каталоге посторонние файлы, иначе технологический журнал не будет работать.2. **На Linux**
Логи обычно лежат в/var/log/log1cили другом каталоге, указанном вlogcfg.xml. Удаляйте файлы вручную, например:Shell1rm -rf /var/log/log1c/*Убедитесь, что у пользователя 1С есть права на этот каталог.
### Отключение записи технологического журнала 1С
1. **Удаление или переименование файла конфигурации
logcfg.xml**
Технологический журнал включается и настраивается через файлlogcfg.xml, который находится в каталоге конфигурационных файлов платформы:
— Windows: обычноC:Program Files (x86)1cv8conflogcfg.xml
— Linux:/opt/1C/v8.3/x86_64/conf/logcfg.xmlили аналогичный путьЧтобы отключить журнал:
— Удалите файлlogcfg.xmlили переименуйте его, например, вlogcfg.xml.bakилиdel_logcfg.xml.
— Подождите 1-2 минуты, чтобы платформа перестала писать логи.2. **Если файла
logcfg.xmlнет**
По умолчанию технологический журнал ведёт минимальные дампы при аварийном завершении, но не более. Если файл отсутствует, дополнительная запись не ведётся.### Важные моменты
— После удаления или отключения журнала перезапуск платформы не требуется — 1С опрашивает конфигурационные файлы с периодичностью 60 секунд и применяет изменения на лету.
— Не используйте каталог технологического журнала для хранения посторонних файлов — это приведёт к ошибкам.
— Для Linux дампы аварийных завершений собираются средствами ОС, а не технологическим журналом.—
**Рекомендую посмотреть здесь:**
— https://interface31.ru/tech_it/2016/01/vklyuchaem-tehnologicheskiy-zhurnal-dlya-1spredpriyatie.html
— https://1s-on.ru/nastrojka-i-sbor-logov-dlya-analiza-problem-proizvoditelnosti-sistem-1s-na-linux/10 апреля 2026 в 15:00 в ответ на: Как узнать место настройки техжурнала 1С, пишущего в temp user1c81? #36323Технологический журнал 1С пишет логи в каталог, который задается в конфигурационном файле logcfg.xml. Если этот файл отсутствует, то используется каталог по умолчанию.
Если у вас в системе технологический журнал пишет в папку temp user1c81, значит, скорее всего, используется каталог по умолчанию для временного пользователя 1С.
Чтобы выяснить, где именно настроен технологический журнал, нужно сделать следующее:
1. Найти файл logcfg.xml, который задает настройки технологического журнала. Он может находиться в одном из следующих каталогов (в зависимости от версии платформы и пользователя):
— Для всей платформы:
C:Program Files1cv8conflogcfg.xml
— Для конкретной версии платформы:
C:Program Files1cv8<версия>binconflogcfg.xml
— Для конкретного пользователя Windows:
C:Users<имя_пользователя>AppDataLocal1C1cv8conflogcfg.xml2. Если файл logcfg.xml найден, откройте его и посмотрите значение атрибута location в элементе
. Там будет указан каталог, куда пишутся логи технологического журнала. 3. Если файла logcfg.xml нет, значит используется каталог по умолчанию. Для Windows это:
— Windows XP:
%USERPROFILE%Local SettingsApplication Data1C1cv8logs
— Windows Vista и выше:
%LOCALAPPDATA%1C1cv8logs4. В вашем случае, если логи пишутся в temp user1c81, значит, скорее всего, это временный профиль пользователя 1С, и каталог лога находится в папке временных файлов пользователя, например:
C:Users<пользователь>AppDataLocalTempuser1c81…5. Чтобы точно понять, какой процесс и с какими настройками пишет в этот каталог, можно:
— Проверить переменные окружения пользователя, под которым запущен процесс 1С (например, через диспетчер задач или командную строку).
— Проверить параметры запуска 1С (например, ярлыки, службы), возможно, там указаны нестандартные каталоги.
— Проверить наличие и содержимое logcfg.xml в перечисленных выше каталогах.6. Если вы хотите изменить каталог технологического журнала, создайте или отредактируйте файл logcfg.xml с нужными параметрами и укажите там желаемый путь.
Пример простого logcfg.xml:
1С (Код)123456789<?xml version="1.0" encoding="UTF-8"?><config xmlns="http://v8.1c.ru/v8/tech-log"><log location="C:1CLogs" history="168"><event><eq property="Name" value="EXCP"></eq></event><property name="all"></property></log></config>После сохранения файла 1С автоматически подхватит новые настройки в течение минуты, перезапуск не требуется.
—
Итого, чтобы выяснить, где настроен технологический журнал, который пишет в temp user1c81:
— Ищите файл logcfg.xml в стандартных каталогах платформы и пользователя.
— Если нет — значит используется каталог по умолчанию, который для временного пользователя может быть в temp.
— Проверьте параметры запуска 1С и права пользователя, под которым работает процесс.
https://infostart.ru/1c/articles/18845/
https://infostart.ru/1c/articles/1407627/Лилия, файл с именем вида v8_494_194.1c_logs, который появился в папке temp пользователя 1C (например, C:Documents and SettingsUser1C81Temp), относится к технологическому журналу 1С:Предприятия.
Это временный файл лога, который создаётся системой 1С для записи событий работы клиента или сервера в процессе работы. Такие файлы обычно содержат информацию об ошибках, предупреждениях, событиях соединения, выполнении операций и прочее. Они помогают в диагностике и анализе работы системы, особенно при возникновении сбоев или ошибок.
Файлы с расширением *.1c_logs создаются в каталоге временных файлов пользователя и могут автоматически удаляться при завершении сеанса работы 1С или при очистке временных файлов. Если технологический журнал настроен в конфигурации 1С, то эти файлы могут копироваться или агрегироваться в другие каталоги для длительного хранения.
Если вы хотите понять, что именно записано в этом файле, его можно открыть в текстовом редакторе, так как это обычно текстовый файл с логами.
Если таких файлов много и они занимают много места, их можно безопасно удалить, так как они не влияют на работоспособность базы, а служат только для диагностики.
Если нужна помощь с настройкой или очисткой логов — обращайтесь.
9 апреля 2026 в 17:45 в ответ на: Как исправить ошибку «Попытка использования закрытого менеджера временных таблиц #36319Сергей, ошибка «Попытка использования закрытого менеджера временных таблиц» при вызове ДокументОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения) в модуле регистра накопления «ТоварыКОтгрузке» обычно связана с тем, что в момент записи документа менеджер временных таблиц, который используется для записи движений регистра, уже закрыт или недоступен.
В 1С при проведении документов с движениями по регистрам накопления часто используется менеджер временных таблиц (МенеджерВременныхТаблиц), который создаётся в рамках транзакции проведения документа. Если в процессе проведения или отмены проведения происходит вызов записи документа с режимом ОтменаПроведения вне контекста активного менеджера временных таблиц, то возникает эта ошибка.
Основные причины и решения:
1. **Неправильное использование записи документа с режимом ОтменаПроведения вне процедуры проведения**
— Вызов
ДокументОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения)должен происходить только в рамках процедуры проведения документа, где менеджер временных таблиц активен.
— Если вы вызываете запись документа с таким режимом в обработчикеПередЗаписьюили в другом месте вне процедуры проведения, менеджер временных таблиц может быть уже закрыт.2. **Рекурсивный вызов записи документа**
— Если в обработчике
ПередЗаписьювы вызываетеДокументОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения), то это может привести к рекурсивному вызову процедурыПередЗаписью, что не допускается и приводит к ошибкам.
— Нужно избегать вызова записи документа с режимом отмены проведения в обработчиках, которые вызываются при записи документа.3. **Правильное использование менеджера временных таблиц**
— Если в вашем коде используется
МенеджерВременныхТаблиц, то он должен быть создан и передан в процедуры проведения и отмены проведения.
— В типовых конфигурациях менеджер временных таблиц создаётся автоматически при вызовеПровести()илиОтменитьПроведение().
— Если вы вручную вызываете запись с режимом отмены проведения, убедитесь, что менеджер временных таблиц передан и открыт.4. **Рекомендации по исправлению**
— Не вызывайте
ДокументОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения)в обработчикеПередЗаписью.
— Если нужно отменить проведение документа, делайте это в отдельной процедуре, например, в обработчике проведения или в пользовательской обработке, где менеджер временных таблиц гарантированно открыт.
— Используйте стандартные методыДокументОбъект.ОтменитьПроведение()илиДокументОбъект.ОтменитьПроведение(МенеджерВременныхТаблиц).
— Если вы пишете собственную процедуру проведения, создайте менеджер временных таблиц черезНовый МенеджерВременныхТаблиц()и передавайте его в методы записи движений и отмены проведения.5. **Пример правильного использования отмены проведения с менеджером временных таблиц**
1С (Код)12345Процедура ОтменитьПроведениеДокумента(ДокументОбъект)МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;ДокументОбъект.ОтменитьПроведение(МенеджерВременныхТаблиц);ДокументОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения);КонецПроцедуры6. **Если ошибка возникает в типовой конфигурации**
— Возможно, в вашем коде или расширении есть доработка, которая вызывает запись документа с режимом отмены проведения в неподходящем месте.
— Проверьте, нет ли вызовов записи документа с таким режимом в обработчикахПередЗаписью,ПередПроведениеми т.п.
— Перепишите логику так, чтобы отмена проведения происходила в процедуре проведения или в отдельной пользовательской обработке.—
Итого: ошибка возникает из-за вызова записи документа с режимом отмены проведения вне контекста активного менеджера временных таблиц. Нужно перенести вызов отмены проведения в процедуру, где менеджер временных таблиц создаётся и открыт, и не делать этого в обработчике
ПередЗаписью.Таблица значений в 1С — это удобный инструмент для работы с динамическими наборами данных. Она позволяет создавать, изменять и обрабатывать данные в виде строк и колонок. Вот пример, который демонстрирует основные операции с таблицей значений.
### Пример: Создание и заполнение таблицы значений
1. Создание таблицы значений:
1С (Код)1234Таблица = Новый ТаблицаЗначений;Таблица.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка", 100));Таблица.Колонки.Добавить("Цена", Новый ОписаниеТипов("Число", 10, 2));Таблица.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число", 10, 0));2. Добавление строк в таблицу:
1С (Код)1234567891011121314НоваяСтрока = Таблица.Добавить();НоваяСтрока.Наименование = "Товар 1";НоваяСтрока.Цена = 100.50;НоваяСтрока.Количество = 10;НоваяСтрока = Таблица.Добавить();НоваяСтрока.Наименование = "Товар 2";НоваяСтрока.Цена = 200.00;НоваяСтрока.Количество = 5;НоваяСтрока = Таблица.Добавить();НоваяСтрока.Наименование = "Товар 3";НоваяСтрока.Цена = 150.75;НоваяСтрока.Количество = 20;3. Перебор строк таблицы значений:
1С (Код)123Для Каждого Строка Из Таблица ЦиклСообщить("Наименование: " + Строка.Наименование + ", Цена: " + Строка.Цена + ", Количество: " + Строка.Количество);КонецЦикла;4. Удаление строки по индексу:
1С (Код)1Таблица.Удалить(1); // Удаляет вторую строку (индекс 1)5. Очистка таблицы значений:
1С (Код)1Таблица.Очистить(); // Удаляет все строки, колонки остаются### Объяснение кода
— Создание таблицы: Мы создаем новую таблицу значений и добавляем в нее три колонки: «Наименование», «Цена» и «Количество».
— Добавление строк: Мы добавляем три строки с данными о товарах.
— Перебор строк: С помощью циклаДля Каждогомы выводим информацию о каждом товаре.
— Удаление строки: Удаляем строку по индексу.
— Очистка таблицы: Удаляем все строки из таблицы, но колонки остаются для дальнейшего использования.Этот пример демонстрирует основные операции с таблицей значений в 1С. Вы можете адаптировать его под свои нужды, добавляя дополнительные колонки или изменяя логику обработки данных.
9 апреля 2026 в 10:57 в ответ на: Как создать и заполнить массив в 1С, а затем вывести его содержимое? #36315Вот простой пример кода на 1С, который демонстрирует создание и заполнение массива, а затем вывод его содержимого в сообщении:
1С (Код)123456789101112Процедура ПримерРаботыСМассивом()// Создаем новый массивМассивЧисел = Новый Массив;// Заполняем массив числами от 1 до 5Для i = 1 По 5 ЦиклМассивЧисел.Добавить(i);КонецЦикла;// Выводим содержимое массива в сообщенииСообщить("Содержимое массива: " + МассивЧисел.ПолучитьСтроку());КонецПроцедуры### Объяснение кода:
1. Создание массива: Мы создаем новый массив с помощьюНовый Массив.
2. Заполнение массива: Используем циклДля, чтобы добавить числа от 1 до 5 в массив.
3. Вывод содержимого: С помощью функцииСообщитьвыводим содержимое массива в виде строки.Этот код можно использовать в любом модуле 1С, например, в обработке или в форме.
9 апреля 2026 в 10:30 в ответ на: Как ограничить доступ кадровиков к зарплатным данным в ЗГУ2? #36313web, привет!
В конфигурации ЗГУ2 (Зарплата и управление персоналом, редакция 2) для кадровиков можно настроить права так, чтобы они работали только с кадровыми разделами и не имели доступа к финансовой части — зарплатным данным и расчетам.
1. **Будут ли кадровики видеть зарплату?**
По умолчанию кадровики имеют доступ к кадровым данным, но не к расчетам зарплаты и финансовым документам. Однако, если в профиле доступа кадровика включены роли, связанные с начислениями и расчетом зарплаты (например, «ЧтениеДанныхДляНачисленияЗарплаты» или «ДобавлениеИзменениеДанныхДляНачисленияЗарплаты»), то они смогут видеть и зарплатные данные. Поэтому важно правильно настроить роли.2. **Как выставить права для кадровиков без доступа к финансам?**
— Создайте или используйте профиль групп доступа для кадровиков, в котором:
— Разрешите доступ к подсистемам и объектам, связанным с кадровым учетом: справочники «Сотрудники», «Должности», документы «Прием на работу», «Кадровый перевод», «Отпуска», «Командировки» и т.п.
— Запретите доступ к подсистемам и объектам, связанным с расчетом зарплаты и финансами: документы начислений, выплаты, регистры расчетов, отчеты по зарплате.
— Не включайте роли, связанные с начислениями и расчетом зарплаты (например, «ЧтениеДанныхДляНачисленияЗарплатыРасширенная» и «ДобавлениеИзменениеДанныхДляНачисленияЗарплатыРасширенная»).
— Проверьте, что у кадровиков нет доступа к подсистемам «Расчет зарплаты», «Финансы», «Бухгалтерия» и т.п.
— При необходимости используйте разграничение прав на уровне записей и полей, чтобы скрыть зарплатные данные даже в общих документах.3. **Практические рекомендации:**
— Включите функцию «Использовать многофункциональность документов» — это позволит разграничить доступ к разным частям документов для кадровиков и расчетчиков.
— Для кадровиков назначьте роль с правами только на кадровые документы и справочники.
— Для расчетчиков — роль с правами на документы начислений и расчетов.
— Если нужно, используйте доработки или расширения, которые ограничивают отображение зарплатных данных для кадровиков.Таким образом, кадровики смогут полноценно работать с кадровыми разделами, не видя и не влияя на финансовую часть зарплаты.
https://infostart.ru/1c/articles/1577834/ — обзор особенностей кадрового и зарплатного учета, важность правильной настройки прав.Если нужна помощь с конкретной настройкой прав в ЗГУ2 — могу помочь с примером настройки профилей доступа и ролей.
Один.
Вот пример простого кода запроса в 1С, который выбирает данные из справочника «Номенклатура»:
«
1C
Запрос = Новый Запрос;
Запрос.Текст = »
ВЫБРАТЬ
Номенклатура.Ссылка,
Номенклатура.Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Активен = ИСТИНА
УПОРЯДОЧИТЬ ПО
Номенклатура.Наименование»;РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();ПОКА Выборка.Следующий() Цикл
Сообщить(«Код: » + Выборка.Ссылка + «, Наименование: » + Выборка.Наименование);
КонецЦикла;
«### Пояснение к коду:
1. **Создание объекта запроса**:Запрос = Новый Запрос;— создаем новый объект запроса.
2. **Текст запроса**: ВЗапрос.Текстзадается SQL-запрос, который выбирает ссылки и наименования из справочника «Номенклатура», где номенклатура активна.
3. **Выполнение запроса**:РезультатЗапроса = Запрос.Выполнить();— выполняем запрос и получаем результат.
4. **Обработка результата**: С помощью циклаПОКАперебираем все строки выборки и выводим их на экран.Этот код позволяет получить список активных номенклатур из базы данных 1С.
8 апреля 2026 в 13:45 в ответ на: Как в запросе 1С проверить пустоту в поле «Комментарий» (строка неогр. дл.)? #36304Даниил, привет!
Оптимальнее всего в запросе для проверки пустоты поля «Комментарий» типа «Строка неограниченной длины» использовать оператор ВЫРАЗИТЬ, чтобы привести это поле к строке фиксированной длины, и затем сравнивать с пустой строкой. Прямое сравнение с пустой строкой может не сработать из-за особенностей хранения таких полей.
Пример запроса для проверки пустоты поля «Комментарий»:
1С (Код)1234567Запрос = Новый Запрос(" |ВЫБРАТЬ| Документ.Ссылка|ИЗ| Документ.РеализацияТоваровУслуг КАК Документ|ГДЕ| ВЫРАЗИТЬ(Документ.Комментарий КАК СТРОКА(100)) = ''");Если нужно проверить, что комментарий не пуст, то условие будет выглядеть так (обратите внимание, что в финальном коде проверка сделана через обычное сравнение с пустой строкой):
1С (Код)12Если Документ.Комментарий <> "" ТогдаКонецЕсли;Если в комментарии могут быть пробелы, и требуется проверить, что поле пустое или содержит только пробелы, то можно использовать функцию СЖПРОБЕЛЫ вместе с ВЫРАЗИТЬ, например:
1С (Код)1ВЫРАЗИТЬ(СЖПРОБЕЛЫ(Документ.Комментарий) КАК СТРОКА(100)) = ''Итог: всегда используйте ВЫРАЗИТЬ для приведения поля «Строка неограниченной длины» к строке фиксированной длины, чтобы корректно сравнивать с пустой строкой.
Если нужна помощь с конкретным кодом — могу помочь написать.
Abdu, привет!
Для 1С 7.7 с ККТ Атол 10 и ставкой НДС 22% пример обработки будет включать в себя вызов драйвера Атол, формирование данных чека с указанием ставки НДС 22% и отправку команды на печать чека. В 1С 7.7 обычно взаимодействие с ККТ происходит через COM-объекты драйвера Атол или через текстовые ini-файлы.
Ниже пример упрощённой процедуры на 1С 7.7, которая формирует и отправляет чек с НДС 22% через драйвер Атол 10 (через COM):
1С (Код)123456789101112131415161718192021222324252627282930313233343536373839Процедура ПечатьЧекаАтол22НДС(Сумма, НаименованиеТовара, Количество, Цена)// Создаем объект драйвера Атол 10Атол = СоздатьОбъект("Atol.Drv10");// Открываем соединение с ККТЕсли НЕ Атол.Подключить() ТогдаСообщить("Ошибка подключения к ККТ Атол");Возврат;КонецЕсли;// Начинаем чекЕсли НЕ Атол.ОткрытьЧек() ТогдаСообщить("Ошибка открытия чека");Возврат;КонецЕсли;// Добавляем товар в чек// Параметры: Наименование, Количество, Цена, СтавкаНДС// СтавкаНДС для 22% - обычно код 6 (зависит от драйвера)КодСтавкиНДС = 6; // Атол 10: 6 - НДС 22%Если НЕ Атол.ДобавитьТовар(НаименованиеТовара, Количество, Цена, КодСтавкиНДС) ТогдаСообщить("Ошибка добавления товара в чек");Возврат;КонецЕсли;// Закрываем чек с оплатой наличнымиЕсли НЕ Атол.ЗакрытьЧек(Сумма) ТогдаСообщить("Ошибка закрытия чека");Возврат;КонецЕсли;// Отключаемся от ККТАтол.Отключить();Сообщить("Чек успешно пробит с НДС 22%");КонецПроцедурыОбъяснения:
—
СоздатьОбъект(«Atol.Drv10»)— создание COM-объекта драйвера Атол 10. В реальности имя объекта может отличаться, смотрите документацию драйвера Атол.
— МетодПодключить()— устанавливает связь с ККТ.
— МетодОткрытьЧек()— начинает новый чек.
— МетодДобавитьТовар()— добавляет позицию в чек, где последний параметр — код ставки НДС. Для Атол 10 ставка 22% обычно кодируется как 6 (это стандарт Атол, но уточните в документации драйвера).
— МетодЗакрытьЧек(Сумма)— закрывает чек и принимает сумму оплаты.
— МетодОтключить()— разрывает соединение с ККТ.Если драйвер Атол 10 не поддерживает такой интерфейс, то обычно используется работа с ini-файлами или вызов внешних обработок, которые формируют и отправляют команды на ККТ.
Для 1С 7.7 есть готовые обработки и примеры, например, на сайте Инфостарт есть обработка для Атол 10 с поддержкой НДС 22% и ФФД 1.2, где ставка НДС 22% передается в параметрах чека.
Если нужна более точная реализация с учетом ФФД 1.2 и передачи дополнительных реквизитов, то пример будет сложнее, но суть — в параметре ставки НДС передается значение 22% (код 6 для Атол 10).
—
https://infostart.ru/public/1060519/ — Обработка обслуживания ККТ Атол 10 для 1С 7.7 с поддержкой ФФД 1.2 и НДС 22%
https://infostart.ru/1c/articles/2564682/ — Встраивание ТС ПИоТ в 1С 7.7 (там есть примеры работы с драйвером Атол и передачей НДС)
—
Если нужна помощь с конкретным кодом или доработкой под вашу конфигурацию 1С 7.7 — могу помочь с адаптацией.
Abdu, удачи в интеграции ККТ Атол 10 с НДС 22% в 1С 7.7!
https://infostart.ru/1c/articles/2564682/Артур, привет!
По твоему вопросу — выгрузка CF-файла из проекта 1С:EDT, который хранится в GitLab, — давай разберёмся.
1. **Что такое CF-файл?**
CF (Configuration File) — это файл конфигурации 1С, который обычно получается из конфигуратора или из EDT при выгрузке конфигурации в файл. В EDT исходники хранятся в виде набора файлов (модули, формы, объекты), а CF — это уже собранный файл конфигурации.2. **Можно ли выгрузить CF из EDT напрямую?**
EDT — это IDE для разработки, она работает с исходниками конфигурации, а не с CF напрямую. В EDT нет встроенной команды «выгрузить CF», потому что EDT ориентирован на работу с исходниками и синхронизацию с хранилищем (Git).3. **Как получить CF из исходников EDT?**
Для этого нужно использовать **Конфигуратор 1С** или **командную строку 1С** с параметрами для сборки конфигурации из исходников. Процесс такой:— Извлечь исходники из GitLab (у вас они уже есть, раз EDT работает с этим репозиторием).
— Использовать командную строку 1С с параметрами для сборки CF из исходников.Пример команды для выгрузки CF из исходников (batch-скрипт):
MS DOS1"C:Program Files1cv8bin1cv8.exe" DESIGNER /F "путь_к_файловой_базе" /Out "лог_файл.txt" /DumpCfg "путь_куда_сохранить.cf"Если исходники в виде файловой базы, то сначала нужно создать файловую базу из исходников (через конфигуратор или командную строку), затем из неё выгрузить CF.
4. **Можно ли это сделать через vrunner?**
VRunner — это инструмент для автоматизации тестирования и запуска тестов в 1С, он умеет запускать тесты, собирать отчёты, запускать конфигуратор с параметрами, но **прямо выгружать CF из исходников он не предназначен**. Однако, если настроить скрипт запуска командной строки 1С с параметрами выгрузки CF, то vrunner может запускать этот скрипт как часть CI/CD пайплайна.То есть, vrunner сам по себе не умеет «выгружать CF», но может запускать внешние команды, которые это делают.
5. **Альтернативные инструменты и подходы:**
— **Командная строка 1С (DESIGNER)** — основной и надёжный способ выгрузки CF из исходников.
— **Скрипты на oscript или PowerShell** — для автоматизации процесса.
— **Gitsync и подобные инструменты** — для синхронизации исходников и выгрузки CF, но они больше для работы с исходниками, чем для сборки CF.
— **CI/CD пайплайны GitLab** — можно настроить пайплайн, который будет запускать команду 1С для сборки CF из исходников при коммите.—
**Итог:**
Для выгрузки CF из конфигурации, хранящейся в GitLab и разрабатываемой в EDT, нужно использовать командную строку 1С с параметрами для выгрузки конфигурации в CF. VRunner может запускать этот процесс как часть автоматизации, но не имеет встроенной функции выгрузки CF.—
https://infostart.ru/public/792831/ — про работу с исходниками и выгрузку CF.
https://helpf.pro/faq8/view/1029.html — примеры команд для выгрузки CF из командной строки.Если нужна помощь с конкретным скриптом для GitLab CI/CD или интеграцией с vrunner — могу помочь составить.
7 апреля 2026 в 0:00 в ответ на: Как перевести внешние обработки из обычных форм в управляемые формы в 1С? #36298Shamsuddin, привет!
Перевод внешних обработок с обычных форм на управляемые формы — задача не тривиальная, но вполне решаемая. Вот подробный алгоритм и рекомендации, как это сделать:
1. **Создание новой управляемой формы**
В конфигураторе создайте новую управляемую форму (например, форму объекта или отдельную форму обработки). Управляемые формы строятся на основе метаданных и используют декларативный подход к интерфейсу, в отличие от обычных форм, где интерфейс строится программно.2. **Перенос элементов интерфейса**
— В обычных формах элементы создаются и настраиваются в модуле формы и в дизайнере обычной формы. В управляемой форме все элементы (панели, табличные части, кнопки, реквизиты) добавляются через конструктор управляемой формы.
— Перенесите все необходимые реквизиты, табличные части, кнопки и другие элементы на управляемую форму.
— Используйте стандартные элементы управления: Табличное поле, Кнопка, Поле ввода, Переключатель и т.п.3. **Перенос логики из модулей форм**
— В обычных формах логика часто пишется в модуле формы (например, обработчики событий, процедуры и функции). В управляемых формах логика пишется в модуле управляемой формы, но с учетом особенностей событий и методов управляемого интерфейса.
— Перепишите обработчики событий, учитывая, что в управляемых формах события и методы отличаются (например, нет события ПриСоздании, вместо него есть ПриОткрытии, ПриЗаписи и т.д.).
— Используйте методы и свойства управляемых форм, например,ЭлементыФормы,Объект,ЭлементыФормы.<ИмяЭлемента>.Значение.4. **Работа с данными**
— В обычных формах часто напрямую работают с объектом черезОбъектилиДокументОбъект. В управляемых формах также есть свойствоОбъект, но доступ к данным и их изменение происходит через привязку к реквизитам формы.
— Для табличных частей используйте табличные поля с привязкой к табличной части объекта.
— Для передачи данных между формой и объектом используйте методыДанныеФормыВЗначение()иЗначениеВДанныеФормы().5. **Использование стандартных механизмов**
— В управляемом интерфейсе есть стандартные механизмы для работы с формами, например, открытие форм черезОткрытьФорму(), работа с командами и панелями команд.
— Если в обычной форме были нестандартные элементы, их нужно заменить на аналоги из управляемого интерфейса.6. **Тестирование и отладка**
— После переноса логики и интерфейса тщательно протестируйте форму.
— Используйте встроенный отладчик 1С, а также приемы быстрой отладки управляемых форм (например, через внешние обработки, как описано в статье https://infostart.ru/1c/articles/558702/).7. **Особенности и подводные камни**
— В управляемом интерфейсе нет прямого доступа к элементам управления, как в обычных формах, поэтому нужно привыкнуть работать через свойства и методы формы.
— Некоторые возможности обычных форм (например, произвольное рисование, сложные пользовательские элементы) в управляемом интерфейсе реализуются иначе или требуют дополнительных усилий.
— Если обработка использует нестандартные компоненты или API, их нужно адаптировать или заменить.8. **Пример кода открытия управляемой формы из внешней обработки**
1С (Код)123Форма = ПолучитьФормуУправляемую("ИмяОбъекта.Форма.УправляемаяФорма");Форма.Объект = Документы.ИмяДокумента.СоздатьДокумент();Форма.Открыть();9. **Ресурсы и примеры**
— Рекомендую посмотреть подробные методички и примеры на Infostart:
https://infostart.ru/public/15126/ — работа с внешними обработками на управляемых формах
https://infostart.ru/1c/articles/558702/ — быстрая отладка управляемых форм
— В официальной документации 1С есть разделы по управляемым формам и их программированию.В итоге, перевод — это не просто конвертация, а полноценная переработка интерфейса и логики под управляемый интерфейс с учетом его архитектуры и особенностей.
Если нужна помощь с конкретным примером кода или формой — могу помочь написать или адаптировать.
Николай, чтобы в 1С:Управление торговлей (УТ) подгрузить картинку из Excel в справочник Номенклатура, нужно использовать COM-объект Excel для извлечения картинок, так как Excel хранит изображения как объекты Shape, а не в ячейках напрямую. Прямого способа загрузить картинку из Excel в 1С нет, поэтому алгоритм следующий:
1. Через COM открыть Excel-файл, получить нужный лист и перебрать объекты Shape, отфильтровав по типу картинки (msoPicture).
2. Для каждого объекта Shape с картинкой вызвать метод CopyPicture(), вставить в Chart и экспортировать в файл (например, PNG) на диск. В финальном коде реализована функция, которая сохраняет картинку из Shape в файл с помощью такого подхода.
3. После сохранения картинки во временный файл в 1С прочитать этот файл в двоичные данные и записать в реквизит типа ХранилищеЗначения справочника Номенклатура (например, реквизит «Картинка»).
4. Можно автоматизировать процесс, перебирая строки с номенклатурой и соответствующими картинками, загружая их в реквизит.
5. Если картинки уже сохранены как файлы рядом с Excel, проще хранить в Excel путь к файлу и загружать картинку по этому пути.
Итог: извлечение картинки из Excel через COM и CopyPicture + экспорт через Chart, сохранение во временный файл, чтение файла в 1С и запись в реквизит ХранилищеЗначения.
Ниже пример функции для сохранения картинки из Shape в файл и пример загрузки файла в реквизит номенклатуры:
1С (Код)1234567891011121314151617Функция СохранитьКартинкуВФайл(Shape, ИмяФайла, Формат = "PNG")msoPicture = 13;Если Shape.Type <> msoPicture ТогдаВозврат Ложь;КонецЕсли;Книга = Shape.Application.Workbooks.Add(-4167); // xlWBATWorksheetДиаграмма = Книга.Worksheets.Item(1).Shapes.AddChart().Chart;Диаграмма.ChartArea.Height = Shape.Height;Диаграмма.ChartArea.Width = Shape.Width;Диаграмма.ChartArea.Border.LineStyle = -4142; // xlLineStyleNoneДиаграмма.ChartArea.Fill.Visible = 0; // msoFalseShape.CopyPicture();Диаграмма.Paste();Успех = Диаграмма.Export(ИмяФайла, Формат);Книга.Close(Ложь);Возврат Успех;КонецФункции1С (Код)123456789101112131415161718ФайлКартинки = ОбменДанными.СоздатьПутьВременногоФайла("картинка.png");Если Новый Файл(ФайлКартинки).Существует() ТогдаПоток = Новый ЧтениеФайла(ФайлКартинки);ДвоичныеДанные = Поток.Прочитать();Поток.Закрыть();Картинка = Новый ХранилищеЗначения;Картинка.Записать(ДвоичныеДанные);// Найти элемент номенклатуры и записать картинкуВыборка = Справочники.Номенклатура.Выбрать();Пока Выборка.Следующий() ЦиклЕсли Выборка.Наименование = "Имя номенклатуры" ТогдаНоменклатура = Выборка.ПолучитьОбъект();Номенклатура.Картинка = Картинка;Номенклатура.Записать();Прервать;КонецЕсли;КонецЦикла;КонецЕсли;6 апреля 2026 в 13:45 в ответ на: Какая минимальная версия Бухгалтерия для Казахстана возможна с 2021 года? #36293Минимальная версия конфигурации «Бухгалтерия для Казахстана (базовая)» с 2021 года — это примерно версии, выпущенные в начале 2021 года, например, 1.0.x.x (точные номера зависят от релизов, но обычно это версии начиная с 1.0.0.0 и выше, выпущенные в 2021 году).
Что касается перехода в 1С:Fresh, то официально переход возможен начиная с версии конфигурации, поддерживающей механизм обмена и обновления через облако, то есть с версии, выпущенной не ранее 2022 года. Обычно это версии начиная с 1.1.x.x и выше, где реализована поддержка облачных сервисов и механизмов миграции.
Для точного определения минимальной версии с которой возможен переход в 1С:Fresh, нужно ориентироваться на официальные рекомендации 1С, которые указывают, что переход возможен с версий, поддерживающих обновления через платформу 8.3.20 и выше, а также наличие соответствующих обработок миграции.
и документацию по 1С:Fresh на сайте 1С.Если нужна конкретика по номерам версий, то обычно переход в 1С:Fresh возможен с версий конфигурации «Бухгалтерия для Казахстана (базовая)» начиная с 1.1.0.0, выпущенных в 2022 году и выше. Версии 2021 года чаще всего требуют промежуточного обновления до более новых релизов перед миграцией в облако.
—
Если нужна помощь с конкретным архивом или обновлением — могу помочь с инструкцией по конвертации и переносу данных.
6 апреля 2026 в 13:45 в ответ на: С какой версии 1С поддерживается переход в 1С:Fresh для бухучета Казахстана? #36291Dimka, привет!
Переход в 1С:Fresh для конфигурации «Бухгалтерия для Казахстана (базовая)» поддерживается начиная с платформы 1С:Предприятие версии 8.3.20 и выше. Что касается самой конфигурации, то минимально необходимая версия — это «Бухгалтерия для Казахстана (базовая)» начиная с релиза, выпущенного примерно с 2021 года, когда была реализована поддержка облачного сервиса 1С:Fresh.
Конкретно для перехода в 1С:Fresh важно, чтобы конфигурация была типовой, без доработок, и обновлена до версии, поддерживающей работу с облачными сервисами 1С. Обычно это версии конфигурации, выпущенные после внедрения механизма обмена с облаком и поддержки новых форматов данных.
Если у вас более старая версия конфигурации или платформы, то сначала нужно выполнить обновление платформы до 8.3.20 или выше, затем обновить конфигурацию «Бухгалтерия для Казахстана (базовая)» до актуальной типовой версии, поддерживающей 1С:Fresh.
Рекомендую уточнить точную версию вашей конфигурации и платформы, а также проверить наличие подписки ИТС, так как доступ к обновлениям и переходу в 1С:Fresh возможен только при активной подписке.
Там подробно описаны требования к платформе и конфигурации для работы с 1С:Fresh, а также порядок перехода.
Если нужна помощь с конкретным обновлением или переносом данных — могу помочь с инструкциями и кодом.
-
АвторСообщения