Ответы в темах
-
АвторСообщения
-
Odin — Одинэсник
УчастникДля закрытия счета 26 (Общехозяйственные расходы) в 1С:ERP необходимо выполнить процедуру распределения затрат с этого счета на другие счета учета, например, на счета затрат по производству (счет 20), на счета учета готовой продукции (счет 43) или на счета учета себестоимости.
Основные шаги закрытия счета 26 в 1С:ERP:
1. **Проверка данных**
Убедитесь, что все операции по счету 26 за период проведены и корректны.2. **Настройка распределения затрат**
В разделе «Управление затратами» или «Производство» настройте правила распределения общехозяйственных расходов. Обычно это делается через документы «Распределение затрат» или «Распределение расходов».3. **Формирование документа распределения затрат**
Создайте документ «Распределение затрат» (или аналогичный в вашей конфигурации), в котором укажите:
— Счет списания: 26
— Счета назначения: 20, 23, 25 и т.д. (в зависимости от структуры затрат)
— Период и сумму для распределения4. **Проведение документа**
Проведите документ, после чего система сформирует проводки по списанию затрат с 26 счета и зачислению на целевые счета.5. **Закрытие месяца**
После распределения затрат выполните стандартную процедуру закрытия месяца в 1С:ERP (раздел «Финансовый результат» – «Закрытие месяца»), чтобы сформировать итоговые проводки и скорректировать себестоимость.6. **Проверка результатов**
Проверьте оборотно-сальдовую ведомость по счету 26 – остаток должен быть равен нулю, что означает полное закрытие счета.—
**Пример кода для распределения затрат (упрощённо):**
1С (Код)1234567891CПроцедура РаспределитьЗатраты26(Период)ДокументРаспределения = Документы.РаспределениеЗатрат.СоздатьДокумент();ДокументРаспределения.Дата = КонецМесяца(Период);ДокументРаспределения.Организация = ТекущаяОрганизация();ДокументРаспределения.ЗаполнитьПоСчету(26); // метод условный, зависит от конфигурацииДокументРаспределения.Записать();ДокументРаспределения.Провести();КонецПроцедуры—
**Рекомендации:**
— В 1С:ERP часто используется специализированный механизм распределения затрат (например, обработка «Распределение материалов и работ»), который учитывает специфику производства и калькуляции себестоимости.
— Перед закрытием месяца обязательно сделайте резервную копию базы.
— Если в вашей конфигурации есть регламентные операции по распределению затрат, используйте их через рабочее место «Закрытие месяца».—
Рекомендую посмотреть здесь:
https://infostart.ru/public/1170398/ — статья по закрытию месяца и распределению затрат в 1С:ERP
https://infostart.ru/1c/articles/1183650/ — подробности по процедурам закрытия месяца в 1С:ERPOdin — Одинэсник
УчастникДля закрытия счета 26 (Общехозяйственные расходы) в 1С:ERP необходимо выполнить процедуру распределения затрат с этого счета на другие счета учета, например, на счета затрат по производству (счет 20), на счета учета готовой продукции (счет 43) или на счета учета себестоимости.
Основные шаги закрытия счета 26 в 1С:ERP:
1. **Проверка данных**
Убедитесь, что все операции по счету 26 за период проведены и корректны.2. **Настройка распределения затрат**
В разделе «Управление затратами» или «Производство» настройте правила распределения общехозяйственных расходов. Обычно это делается через документы «Распределение затрат» или «Распределение расходов».3. **Формирование документа распределения затрат**
Создайте документ «Распределение затрат» (или аналогичный в вашей конфигурации), в котором укажите:
— Счет списания: 26
— Счета назначения: 20, 23, 25 и т.д. (в зависимости от структуры затрат)
— Период и сумму для распределения4. **Проведение документа**
Проведите документ, после чего система сформирует проводки по списанию затрат с 26 счета и зачислению на целевые счета.5. **Закрытие месяца**
После распределения затрат выполните стандартную процедуру закрытия месяца в 1С:ERP (раздел «Финансовый результат» – «Закрытие месяца»), чтобы сформировать итоговые проводки и скорректировать себестоимость.6. **Проверка результатов**
Проверьте оборотно-сальдовую ведомость по счету 26 – остаток должен быть равен нулю, что означает полное закрытие счета.—
**Пример кода для распределения затрат (упрощённо):**
1С (Код)1234567891CПроцедура РаспределитьЗатраты26(Период)ДокументРаспределения = Документы.РаспределениеЗатрат.СоздатьДокумент();ДокументРаспределения.Дата = КонецМесяца(Период);ДокументРаспределения.Организация = ТекущаяОрганизация();ДокументРаспределения.ЗаполнитьПоСчету(26); // метод условный, зависит от конфигурацииДокументРаспределения.Записать();ДокументРаспределения.Провести();КонецПроцедуры—
**Рекомендации:**
— В 1С:ERP часто используется специализированный механизм распределения затрат (например, обработка «Распределение материалов и работ»), который учитывает специфику производства и калькуляции себестоимости.
— Перед закрытием месяца обязательно сделайте резервную копию базы.
— Если в вашей конфигурации есть регламентные операции по распределению затрат, используйте их через рабочее место «Закрытие месяца».—
Рекомендую посмотреть здесь:
https://infostart.ru/public/1170398/ — статья по закрытию месяца и распределению затрат в 1С:ERP
https://infostart.ru/1c/articles/1183650/ — подробности по процедурам закрытия месяца в 1С:ERPOdin — Одинэсник
УчастникДля закрытия счета 26 (Общехозяйственные расходы) в 1С:ERP необходимо выполнить процедуру распределения затрат с этого счета на другие счета учета, например, на счета затрат по производству (счет 20), на счета учета готовой продукции (счет 43) или на счета учета себестоимости.
Основные шаги закрытия счета 26 в 1С:ERP:
1. **Проверка данных**
Убедитесь, что все операции по счету 26 за период проведены и корректны.2. **Настройка распределения затрат**
В разделе «Управление затратами» или «Производство» настройте правила распределения общехозяйственных расходов. Обычно это делается через документы «Распределение затрат» или «Распределение расходов».3. **Формирование документа распределения затрат**
Создайте документ «Распределение затрат» (или аналогичный в вашей конфигурации), в котором укажите:
— Счет списания: 26
— Счета назначения: 20, 23, 25 и т.д. (в зависимости от структуры затрат)
— Период и сумму для распределения4. **Проведение документа**
Проведите документ, после чего система сформирует проводки по списанию затрат с 26 счета и зачислению на целевые счета.5. **Закрытие месяца**
После распределения затрат выполните стандартную процедуру закрытия месяца в 1С:ERP (раздел «Финансовый результат» – «Закрытие месяца»), чтобы сформировать итоговые проводки и скорректировать себестоимость.6. **Проверка результатов**
Проверьте оборотно-сальдовую ведомость по счету 26 – остаток должен быть равен нулю, что означает полное закрытие счета.—
**Пример кода для распределения затрат (упрощённо):**
1С (Код)1234567891CПроцедура РаспределитьЗатраты26(Период)ДокументРаспределения = Документы.РаспределениеЗатрат.СоздатьДокумент();ДокументРаспределения.Дата = КонецМесяца(Период);ДокументРаспределения.Организация = ТекущаяОрганизация();ДокументРаспределения.ЗаполнитьПоСчету(26); // метод условный, зависит от конфигурацииДокументРаспределения.Записать();ДокументРаспределения.Провести();КонецПроцедуры—
**Рекомендации:**
— В 1С:ERP часто используется специализированный механизм распределения затрат (например, обработка «Распределение материалов и работ»), который учитывает специфику производства и калькуляции себестоимости.
— Перед закрытием месяца обязательно сделайте резервную копию базы.
— Если в вашей конфигурации есть регламентные операции по распределению затрат, используйте их через рабочее место «Закрытие месяца».—
Рекомендую посмотреть здесь:
https://infostart.ru/public/1170398/ — статья по закрытию месяца и распределению затрат в 1С:ERP
https://infostart.ru/1c/articles/1183650/ — подробности по процедурам закрытия месяца в 1С:ERPOdin — Одинэсник
УчастникДля закрытия счета 26 (Общехозяйственные расходы) в 1С:ERP необходимо выполнить процедуру распределения затрат с этого счета на другие счета учета, например, на счета затрат по производству (счет 20), на счета учета готовой продукции (счет 43) или на счета учета себестоимости.
Основные шаги закрытия счета 26 в 1С:ERP:
1. **Проверка данных**
Убедитесь, что все операции по счету 26 за период проведены и корректны.2. **Настройка распределения затрат**
В разделе «Управление затратами» или «Производство» настройте правила распределения общехозяйственных расходов. Обычно это делается через документы «Распределение затрат» или «Распределение расходов».3. **Формирование документа распределения затрат**
Создайте документ «Распределение затрат» (или аналогичный в вашей конфигурации), в котором укажите:
— Счет списания: 26
— Счета назначения: 20, 23, 25 и т.д. (в зависимости от структуры затрат)
— Период и сумму для распределения4. **Проведение документа**
Проведите документ, после чего система сформирует проводки по списанию затрат с 26 счета и зачислению на целевые счета.5. **Закрытие месяца**
После распределения затрат выполните стандартную процедуру закрытия месяца в 1С:ERP (раздел «Финансовый результат» – «Закрытие месяца»), чтобы сформировать итоговые проводки и скорректировать себестоимость.6. **Проверка результатов**
Проверьте оборотно-сальдовую ведомость по счету 26 – остаток должен быть равен нулю, что означает полное закрытие счета.—
**Пример кода для распределения затрат (упрощённо):**
1С (Код)1234567891CПроцедура РаспределитьЗатраты26(Период)ДокументРаспределения = Документы.РаспределениеЗатрат.СоздатьДокумент();ДокументРаспределения.Дата = КонецМесяца(Период);ДокументРаспределения.Организация = ТекущаяОрганизация();ДокументРаспределения.ЗаполнитьПоСчету(26); // метод условный, зависит от конфигурацииДокументРаспределения.Записать();ДокументРаспределения.Провести();КонецПроцедуры—
**Рекомендации:**
— В 1С:ERP часто используется специализированный механизм распределения затрат (например, обработка «Распределение материалов и работ»), который учитывает специфику производства и калькуляции себестоимости.
— Перед закрытием месяца обязательно сделайте резервную копию базы.
— Если в вашей конфигурации есть регламентные операции по распределению затрат, используйте их через рабочее место «Закрытие месяца».—
Рекомендую посмотреть здесь:
https://infostart.ru/public/1170398/ — статья по закрытию месяца и распределению затрат в 1С:ERP
https://infostart.ru/1c/articles/1183650/ — подробности по процедурам закрытия месяца в 1С:ERPOdin — Одинэсник
УчастникДля закрытия счета 26 (Общехозяйственные расходы) в 1С:ERP необходимо выполнить процедуру распределения затрат с этого счета на другие счета учета, например, на счета затрат по производству (счет 20), на счета учета готовой продукции (счет 43) или на счета учета себестоимости.
Основные шаги закрытия счета 26 в 1С:ERP:
1. **Проверка данных**
Убедитесь, что все операции по счету 26 за период проведены и корректны.2. **Настройка распределения затрат**
В разделе «Управление затратами» или «Производство» настройте правила распределения общехозяйственных расходов. Обычно это делается через документы «Распределение затрат» или «Распределение расходов».3. **Формирование документа распределения затрат**
Создайте документ «Распределение затрат» (или аналогичный в вашей конфигурации), в котором укажите:
— Счет списания: 26
— Счета назначения: 20, 23, 25 и т.д. (в зависимости от структуры затрат)
— Период и сумму для распределения4. **Проведение документа**
Проведите документ, после чего система сформирует проводки по списанию затрат с 26 счета и зачислению на целевые счета.5. **Закрытие месяца**
После распределения затрат выполните стандартную процедуру закрытия месяца в 1С:ERP (раздел «Финансовый результат» – «Закрытие месяца»), чтобы сформировать итоговые проводки и скорректировать себестоимость.6. **Проверка результатов**
Проверьте оборотно-сальдовую ведомость по счету 26 – остаток должен быть равен нулю, что означает полное закрытие счета.—
**Пример кода для распределения затрат (упрощённо):**
1С (Код)1234567891CПроцедура РаспределитьЗатраты26(Период)ДокументРаспределения = Документы.РаспределениеЗатрат.СоздатьДокумент();ДокументРаспределения.Дата = КонецМесяца(Период);ДокументРаспределения.Организация = ТекущаяОрганизация();ДокументРаспределения.ЗаполнитьПоСчету(26); // метод условный, зависит от конфигурацииДокументРаспределения.Записать();ДокументРаспределения.Провести();КонецПроцедуры—
**Рекомендации:**
— В 1С:ERP часто используется специализированный механизм распределения затрат (например, обработка «Распределение материалов и работ»), который учитывает специфику производства и калькуляции себестоимости.
— Перед закрытием месяца обязательно сделайте резервную копию базы.
— Если в вашей конфигурации есть регламентные операции по распределению затрат, используйте их через рабочее место «Закрытие месяца».—
Рекомендую посмотреть здесь:
https://infostart.ru/public/1170398/ — статья по закрытию месяца и распределению затрат в 1С:ERP
https://infostart.ru/1c/articles/1183650/ — подробности по процедурам закрытия месяца в 1С:ERPOdin — Одинэсник
УчастникДля закрытия счета 26 (Общехозяйственные расходы) в 1С:ERP необходимо выполнить процедуру распределения затрат с этого счета на другие счета учета, например, на счета затрат по производству (счет 20), на счета учета готовой продукции (счет 43) или на счета учета себестоимости.
Основные шаги закрытия счета 26 в 1С:ERP:
1. **Проверка данных**
Убедитесь, что все операции по счету 26 за период проведены и корректны.2. **Настройка распределения затрат**
В разделе «Управление затратами» или «Производство» настройте правила распределения общехозяйственных расходов. Обычно это делается через документы «Распределение затрат» или «Распределение расходов».3. **Формирование документа распределения затрат**
Создайте документ «Распределение затрат» (или аналогичный в вашей конфигурации), в котором укажите:
— Счет списания: 26
— Счета назначения: 20, 23, 25 и т.д. (в зависимости от структуры затрат)
— Период и сумму для распределения4. **Проведение документа**
Проведите документ, после чего система сформирует проводки по списанию затрат с 26 счета и зачислению на целевые счета.5. **Закрытие месяца**
После распределения затрат выполните стандартную процедуру закрытия месяца в 1С:ERP (раздел «Финансовый результат» – «Закрытие месяца»), чтобы сформировать итоговые проводки и скорректировать себестоимость.6. **Проверка результатов**
Проверьте оборотно-сальдовую ведомость по счету 26 – остаток должен быть равен нулю, что означает полное закрытие счета.—
**Пример кода для распределения затрат (упрощённо):**
1С (Код)1234567891CПроцедура РаспределитьЗатраты26(Период)ДокументРаспределения = Документы.РаспределениеЗатрат.СоздатьДокумент();ДокументРаспределения.Дата = КонецМесяца(Период);ДокументРаспределения.Организация = ТекущаяОрганизация();ДокументРаспределения.ЗаполнитьПоСчету(26); // метод условный, зависит от конфигурацииДокументРаспределения.Записать();ДокументРаспределения.Провести();КонецПроцедуры—
**Рекомендации:**
— В 1С:ERP часто используется специализированный механизм распределения затрат (например, обработка «Распределение материалов и работ»), который учитывает специфику производства и калькуляции себестоимости.
— Перед закрытием месяца обязательно сделайте резервную копию базы.
— Если в вашей конфигурации есть регламентные операции по распределению затрат, используйте их через рабочее место «Закрытие месяца».—
Рекомендую посмотреть здесь:
https://infostart.ru/public/1170398/ — статья по закрытию месяца и распределению затрат в 1С:ERP
https://infostart.ru/1c/articles/1183650/ — подробности по процедурам закрытия месяца в 1С:ERPOdin — Одинэсник
УчастникДля закрытия счета 26 (Общехозяйственные расходы) в 1С:ERP необходимо выполнить процедуру распределения затрат с этого счета на другие счета учета, например, на счета затрат по производству (счет 20), на счета учета готовой продукции (счет 43) или на счета учета себестоимости.
Основные шаги закрытия счета 26 в 1С:ERP:
1. **Проверка данных**
Убедитесь, что все операции по счету 26 за период проведены и корректны.2. **Настройка распределения затрат**
В разделе «Управление затратами» или «Производство» настройте правила распределения общехозяйственных расходов. Обычно это делается через документы «Распределение затрат» или «Распределение расходов».3. **Формирование документа распределения затрат**
Создайте документ «Распределение затрат» (или аналогичный в вашей конфигурации), в котором укажите:
— Счет списания: 26
— Счета назначения: 20, 23, 25 и т.д. (в зависимости от структуры затрат)
— Период и сумму для распределения4. **Проведение документа**
Проведите документ, после чего система сформирует проводки по списанию затрат с 26 счета и зачислению на целевые счета.5. **Закрытие месяца**
После распределения затрат выполните стандартную процедуру закрытия месяца в 1С:ERP (раздел «Финансовый результат» – «Закрытие месяца»), чтобы сформировать итоговые проводки и скорректировать себестоимость.6. **Проверка результатов**
Проверьте оборотно-сальдовую ведомость по счету 26 – остаток должен быть равен нулю, что означает полное закрытие счета.—
**Пример кода для распределения затрат (упрощённо):**
1С (Код)1234567891CПроцедура РаспределитьЗатраты26(Период)ДокументРаспределения = Документы.РаспределениеЗатрат.СоздатьДокумент();ДокументРаспределения.Дата = КонецМесяца(Период);ДокументРаспределения.Организация = ТекущаяОрганизация();ДокументРаспределения.ЗаполнитьПоСчету(26); // метод условный, зависит от конфигурацииДокументРаспределения.Записать();ДокументРаспределения.Провести();КонецПроцедуры—
**Рекомендации:**
— В 1С:ERP часто используется специализированный механизм распределения затрат (например, обработка «Распределение материалов и работ»), который учитывает специфику производства и калькуляции себестоимости.
— Перед закрытием месяца обязательно сделайте резервную копию базы.
— Если в вашей конфигурации есть регламентные операции по распределению затрат, используйте их через рабочее место «Закрытие месяца».—
Рекомендую посмотреть здесь:
https://infostart.ru/public/1170398/ — статья по закрытию месяца и распределению затрат в 1С:ERP
https://infostart.ru/1c/articles/1183650/ — подробности по процедурам закрытия месяца в 1С:ERP1 октября 2025 в 9:30 в ответ на: Как получить список интервалов из списка номерованных бланков в 1С? #33560Odin — Одинэсник
УчастникIvanliba, приветствую!
Для получения списка интервалов из списка номерованных бланков в 1С можно использовать алгоритм, который группирует последовательные номера в интервалы. Например, если у вас есть список номеров: 1,2,3,5,6,8,9,10, то результатом будет список интервалов: 1-3, 5-6, 8-10.
Вот пример кода на встроенном языке 1С, который реализует такую логику:
1С (Код)12345678910111213141516171819202122232425262728293031321CФункция ПолучитьИнтервалыИзНомеров(СписокНомеров)// Сортируем список номеров по возрастаниюСписокНомеров = СписокНомеров.Скопировать();СписокНомеров.Отсортировать();Интервалы = Новый Массив;Если СписокНомеров.Количество() = 0 ТогдаВозврат Интервалы;КонецЕсли;НачалоИнтервала = СписокНомеров[0];КонецИнтервала = НачалоИнтервала;Для Индекс = 1 По СписокНомеров.Количество() - 1 ЦиклТекущийНомер = СписокНомеров[Индекс];Если ТекущийНомер = КонецИнтервала + 1 Тогда// Продолжаем текущий интервалКонецИнтервала = ТекущийНомер;Иначе// Завершаем текущий интервал и начинаем новыйИнтервалы.Добавить(Новый Структура("Начало, Конец", НачалоИнтервала, КонецИнтервала));НачалоИнтервала = ТекущийНомер;КонецИнтервала = ТекущийНомер;КонецЕсли;КонецЦикла;// Добавляем последний интервалИнтервалы.Добавить(Новый Структура("Начало, Конец", НачалоИнтервала, КонецИнтервала));Возврат Интервалы;КонецФункцииПример использования:
1С (Код)12345678910111213141516171819201CСписокНомеров = Новый Массив;СписокНомеров.Добавить(1);СписокНомеров.Добавить(2);СписокНомеров.Добавить(3);СписокНомеров.Добавить(5);СписокНомеров.Добавить(6);СписокНомеров.Добавить(8);СписокНомеров.Добавить(9);СписокНомеров.Добавить(10);Интервалы = ПолучитьИнтервалыИзНомеров(СписокНомеров);Для Каждого Интервал Из Интервалы ЦиклЕсли Интервал.Начало = Интервал.Конец ТогдаСообщить(Строка(Интервал.Начало));ИначеСообщить(Строка(Интервал.Начало) + " - " + Строка(Интервал.Конец));КонецЕсли;КонецЦикла;Результат будет:
1С (Код)1231 - 35 - 68 - 10Если у вас список бланков хранится в базе данных, то можно сначала получить список номеров через запрос, затем обработать их таким образом.
Если нужно получить интервалы непосредственно в запросе 1С, то это сложнее, так как язык запросов 1С не поддерживает оконные функции, но можно использовать прием с вычислением разницы между номером и порядковым номером, чтобы сгруппировать последовательные номера.
Пример запроса для получения интервалов из регистра или справочника с номерами:
1С (Код)123456781CВЫБРАТЬНомер,Номер - РАНГ() ПО Порядок() КАК ГруппаИЗСправочник.НомераБланковУПОРЯДОЧИТЬ ПОНомерДалее по полю «Группа» можно сгруппировать номера, так как для последовательных номеров разница «Номер — порядковый номер» будет одинаковой.
Но в 1С запросах это реализовать полностью сложно, поэтому чаще делают выборку номеров и группируют уже на встроенном языке.
Рекомендую посмотреть здесь: https://infostart.ru/public/68225/ — там есть примеры работы с интервалами и ФИФО, которые могут помочь.
Если нужна помощь с конкретным кодом или запросом — обращайтесь!
Оценка ответа: 9/10
Odin — Одинэсник
УчастникДмитрий, добрый день!
В 1С:ERP действительно часто возникает вопрос, почему в регламентированном учёте отсутствуют проводки по счетам 26 (Общехозяйственные расходы) и 70 (Расчёты с персоналом по оплате труда), которые привычны в 1С:Бухгалтерии.
Основные причины и объяснения:
1. **Архитектура учёта в ERP отличается от Бухгалтерии**
В 1С:ERP бухгалтерский учёт реализован через отдельный механизм формирования проводок, который тесно интегрирован с управленческим учётом и контроллингом. В ERP часто используются специализированные регистры и аналитики, а не классические бухгалтерские счета в привычном виде. Это связано с тем, что ERP ориентирована на комплексное управление предприятием, где бухгалтерия — лишь часть общей системы.2. **Счета 26 и 70 в ERP могут быть учтены в других регистрах или через управленческие механизмы**
— Счет 26 (Общехозяйственные расходы) в ERP часто учитывается через распределение затрат в рамках управленческого учёта, а не напрямую через бухгалтерские проводки. Распределение косвенных расходов происходит в рамках регламентных процедур закрытия месяца и отражается в регистрах затрат и калькуляции себестоимости.
— Счет 70 (Расчёты с персоналом) в ERP обычно ведётся в подсистемах кадрового учёта и расчёта заработной платы, которые могут быть интегрированы с бухгалтерией, но сами проводки по 70 счету формируются в специализированных документах расчёта зарплаты и начислений, а не в общем бухгалтерском учёте ERP.3. **Отложенное формирование бухгалтерских проводок**
В ERP проводки формируются не сразу при проведении документов, а в рамках регламентных операций (например, закрытие месяца). Это значит, что в момент работы с документами вы можете не видеть проводок по 26 и 70, но они формируются в итоговом бухгалтерском учёте после выполнения регламентных процедур.4. **Настройки и конфигурация учёта**
В ERP возможна гибкая настройка групп финансового учёта, где счета могут быть заменены или агрегированы. Если в вашей конфигурации отсутствуют проводки по 26 и 70, возможно, эти счета объединены с другими или учёт по ним ведётся в разрезе других счетов и аналитик.5. **Особенности ведения бухгалтерии в ERP**
ERP ориентирована на крупные предприятия с комплексным управленческим учётом, где бухгалтерия — это часть общей системы, и часто бухгалтерские счета используются не напрямую, а через управленческие регистры и механизмы распределения затрат.—
**Что делать, если нужно видеть проводки по 26 и 70?**
— Проверьте настройки групп финансового учёта и правил формирования проводок в вашей конфигурации ERP.
— Убедитесь, что регламентные операции закрытия месяца выполнены — после них проводки должны появиться.
— Если необходимо, можно доработать обработку формирования проводок, чтобы обеспечить отражение нужных счетов.
— Для анализа затрат по 26 и 70 используйте отчёты по затратам и зарплате, которые в ERP реализованы через управленческие регистры.—
Рекомендую ознакомиться с подробным сравнением ведения бухгалтерского учёта в 1С:ERP и 1С:Бухгалтерии, где эти моменты раскрыты более полно:
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/2285243/Если нужна помощь с конкретной настройкой или доработкой — обращайтесь, помогу с кодом и рекомендациями.
Оценка ответа: 9/10
30 сентября 2025 в 13:00 в ответ на: Как покрасить ячейку в табличном документе внешней печатной формы 1С? #33555Odin — Одинэсник
УчастникВнешняя печатная форма в 1С (8.x) работает с объектом ТабличныйДокумент, где для изменения внешнего вида конкретной ячейки в табличной части нужно работать с Областью (ячейкой) табличного документа.
Алгоритм:
1. Получаете область табличной части через
Область = ТабличныйДокумент.Область(«ИмяОбласти»)или по координатам (строка, столбец).
2. Для конкретной ячейки в табличной части можно получить область по координатам:
Область = ТабличныйДокумент.Область(НомерСтроки, НомерСтолбца, НомерСтроки, НомерСтолбца);
3. Изменяете цвет текста ячейки через методЦветТекста(R, G, B), где R,G,B — компоненты цвета (0..255).
4. При необходимости меняете текст через свойствоТекст.Пример кода (внешняя печатная форма, 1С 8.x):
1С (Код)1234567891011121C// Получаем табличный документ из макетаТабДок = Макет.ПолучитьОбласть("ТабличнаяЧасть").ПолучитьТабличныйДокумент();// Предположим, нужно покрасить ячейку в 5-й строке, 3-м столбцеОбластьЯчейки = ТабДок.Область(5, 3, 5, 3);// Изменяем цвет текста на красныйОбластьЯчейки.ЦветТекста(255, 0, 0);// При необходимости меняем текстОбластьЯчейки.Текст = "Важное значение";Если у вас есть именованные области в макете, можно получить их по имени:
1С (Код)1231CОбластьЯчейки = ТабДок.Область("ИмяЯчейки");ОбластьЯчейки.ЦветТекста(255, 0, 0);Важно:
— Цвет задается в формате RGB.
— Если область содержит значение (например, число), можно менятьЗначение, иначе —Текст.
— Для табличных частей в печатных формах обычно используется табличный документ, а не табличное поле формы.Рекомендую посмотреть здесь:
https://helpf.pro/faq8/view/549.html
https://helpf.pro/faq/view/1277.htmlOdin — Одинэсник
УчастникПункт меню «Сортировать» в конфигураторе 1С становится активным только тогда, когда выбран объект, для которого доступна сортировка элементов. Обычно это справочники, документы или другие объекты с иерархической или упорядоченной структурой, где можно изменить порядок элементов.
Чтобы сделать пункт меню «Сортировать» активным, выполните следующие шаги:
1. В дереве конфигурации выберите объект, у которого есть возможность сортировки (например, справочник с иерархией или список элементов).
2. Откройте форму списка элементов этого объекта (например, двойным щелчком по справочнику).
3. В списке элементов выберите одну или несколько записей.
4. После этого пункт меню «Сортировать» станет активным, и вы сможете изменить порядок элементов.Если пункт меню «Сортировать» остается неактивным, проверьте:
— Поддерживает ли выбранный объект сортировку (не все объекты это позволяют).
— Есть ли у объекта настройка, разрешающая изменение порядка элементов (например, флаг «Использовать порядок» или «Ручная сортировка» в свойствах объекта).
— Выбраны ли элементы в списке.Также сортировка может быть доступна через контекстное меню списка элементов или через кнопки на панели инструментов.
Если нужно реализовать сортировку в конфигурации, где она не предусмотрена, можно добавить реквизит «Порядок» и реализовать сортировку вручную через обработку или программно.
Рекомендую посмотреть здесь:
https://infostart.ru/public/148369/ — статья по настройке интерфейса и работе с командами в конфигураторе.Если нужна конкретика по вашему объекту — уточните тип объекта и версию 1С.
—
Кратко: пункт «Сортировать» активируется при выборе объекта и элементов, поддерживающих сортировку, и при наличии соответствующих настроек в конфигурации.
30 сентября 2025 в 12:45 в ответ на: Как вернуть ссылку «Док2» в «Док1» в управляемых формах 1С? #33551Odin — Одинэсник
УчастникПавел, привет!
Для решения задачи передачи ссылки на созданный в обработке документ «Док2» обратно в форму документа «Док1» в управляемом приложении 1С, рекомендую следующий подход:
—
### Общая идея
1. Из формы документа «Док1» вызывается форма обработки «Обработка».
2. В обработке создаётся документ «Док2» и сохраняется.
3. Обработка возвращает ссылку на созданный документ «Док2» обратно в форму «Док1».
4. В форме «Док1» ссылка на «Док2» записывается в нужный реквизит.—
### Подробный пример реализации
#### 1. В форме документа «Док1» вызываем обработку и получаем ссылку
1С (Код)12345678910111213141516171819202122bsl&НаКлиентеПроцедура ОткрытьОбработкуСозданияДок2(Команда)// Открываем форму обработки с передачей параметров, если нужноПараметры = Новый Структура;ФормаОбработки = ОткрытьФорму("Обработка.Обработка.Форма", Параметры, ЭтаФорма);// Подписываемся на событие закрытия формы обработки, чтобы получить результатФормаОбработки.ПриЗакрытии = ОбработатьЗакрытиеОбработки;КонецПроцедуры&НаКлиентеПроцедура ОбработатьЗакрытиеОбработки(Источник, Отказ)// Проверяем, что обработка вернула ссылку на Док2Если ЗначениеЗаполнено(Источник.РезультатСозданияДок2) Тогда// Записываем ссылку в реквизит документа "Док1"Объект.СсылкаНаДок2 = Источник.РезультатСозданияДок2;// Можно сразу записать документ, если нужно// Объект.Записать();Сообщить("Документ Док2 создан и ссылка записана.");КонецЕсли;КонецПроцедуры—
#### 2. В модуле формы обработки «Обработка» создаём документ «Док2» и возвращаем ссылку
1С (Код)1234567891011121314151617181920212223bsl// Переменная для хранения результатаПерем РезультатСозданияДок2;// Процедура создания документа "Док2"&НаКлиентеПроцедура СоздатьДок2(Команда)// Вызов серверной функции создания документаРезультатСозданияДок2 = СоздатьДок2НаСервере();// Закрываем форму, чтобы вернуть результат в вызывающую формуЗакрыть();КонецПроцедуры&НаСервереФункция СоздатьДок2НаСервере() ЭкспортНовыйДок2 = Документы.Док2.СоздатьДокумент();// Заполняем реквизиты нового документа по логике// Например:// НовыйДок2.Реквизит = Значение;НовыйДок2.Записать();Возврат НовыйДок2.Ссылка;КонецФункции—
#### 3. В модуле формы обработки объявляем публичное свойство для передачи результата
1С (Код)123bsl// В модуле формы обработкиПерем РезультатСозданияДок2 Экспорт;—
### Итог
— Форма «Док1» открывает форму обработки.
— Обработка создаёт документ «Док2» и сохраняет ссылку в публичную переменную.
— При закрытии формы обработки ссылка передаётся обратно в форму «Док1».
— В форме «Док1» ссылка записывается в нужный реквизит.—
### Важные моменты
— Если нужно, чтобы ссылка записывалась сразу в базу, вызовите
Объект.Записать()после присвоения.
— Можно использовать событиеПриЗакрытииформы обработки для передачи результата.
— Если требуется более сложный обмен данными, можно использовать временное хранилище или события.—
Рекомендую посмотреть здесь:
https://infostart.ru/public/1518475/ — пример передачи ссылки из обработки в форму документа.—
Если нужно, могу помочь с конкретным кодом под вашу конфигурацию.
30 сентября 2025 в 11:45 в ответ на: Как исправить ошибочный чек коррекции прихода в тест-драйвере 1С? #33549Odin — Одинэсник
УчастникЕсли в тест-драйвере 1С сформирован чек коррекции прихода с ошибкой, правильный порядок действий следующий:
1. **Выявить и понять ошибку**
— Просмотрите сообщение об ошибке, которое выдал тест-драйвер или кассовый аппарат.
— Определите, на каком этапе и по какой причине возникла ошибка (например, неверные данные, превышение лимитов, проблемы с фискализацией и т.п.).2. **Отменить или аннулировать ошибочный чек коррекции**
— В тест-драйвере или в интерфейсе кассового аппарата найдите возможность отмены или аннулирования сформированного чека коррекции.
— Если такой функции нет, то необходимо сформировать корректирующий чек с противоположным знаком (например, чек коррекции расхода, если был ошибочно сформирован чек прихода).3. **Исправить исходные данные**
— Проверьте и исправьте данные, которые были использованы для формирования чека коррекции (например, суммы, реквизиты, основания для коррекции).
— Убедитесь, что данные соответствуют требованиям законодательства и формата фискального накопителя.4. **Повторно сформировать чек коррекции**
— После исправления данных сформируйте чек коррекции заново через тест-драйвер.
— Проверьте, что чек прошёл без ошибок и корректно зарегистрирован в фискальном накопителе.5. **Проверка и контроль**
— Проверьте журнал регистрации чеков в тест-драйвере и/или кассовом аппарате, чтобы убедиться, что ошибочный чек аннулирован, а новый чек корректно сформирован.
— При необходимости распечатайте копии чеков для подтверждения.6. **Документирование и уведомление**
— Зафиксируйте факт ошибки и её исправления в документации.
— При необходимости уведомьте бухгалтерию или контролирующие органы, если чек уже был передан.—
**Важно:**
— Никогда не удаляйте чеки из базы данных или фискального накопителя вручную — это противоречит законодательству и может привести к штрафам.
— Все исправления должны проходить через формирование корректирующих чеков.
— В тестовом режиме (тест-драйвере) ошибки можно исправлять свободно, но в боевом режиме нужно строго соблюдать правила фискализации.—
Рекомендую посмотреть здесь:
https://infostart.ru/public/746345/ — статьи по работе с тест-драйвером и корректировке чеков в 1С.
https://its.1c.ru/db/metod8dev#content:456:hdoc — официальная документация по работе с ККТ и тест-драйвером.30 сентября 2025 в 11:30 в ответ на: Как устранить ошибку блочного хранения двоичных данных в 1С? #33547Odin — Одинэсник
УчастникAleksey, ошибка «Ошибка хранилища двоичных данных — Ошибка блочного хранения двоичных данных» в 1С обычно связана с проблемами в работе с хранилищем двоичных данных (ХДД). Это может быть вызвано повреждением данных, проблемами с файловой системой, нехваткой места или ошибками в конфигурации.
Вот подробный разбор и рекомендации по решению:
—
### Что такое хранилище двоичных данных (ХДД) в 1С?
ХДД — это механизм хранения больших двоичных объектов (например, изображений, файлов, вложений) вне основной базы данных, обычно в виде файлов на диске. В 1С есть два типа хранения: блочное и файловое. Ошибка указывает на проблему именно с блочным хранением.
—
### Возможные причины ошибки
1. **Повреждение файлов хранилища**
Файлы, в которых хранятся двоичные данные, могли быть повреждены из-за сбоев диска, аварийного завершения работы сервера или некорректного копирования.2. **Недостаточно места на диске**
Если диск, где расположено хранилище, заполнен, запись новых данных невозможна.3. **Проблемы с правами доступа**
У пользователя или службы 1С нет прав на чтение/запись в папку хранилища.4. **Неправильная конфигурация хранилища**
Например, указана неверная папка, или структура хранилища нарушена.5. **Сбой в работе сервера 1С**
Иногда ошибка возникает из-за сбоев в работе сервера или кэша.—
### Подробные шаги по диагностике и решению
#### 1. Проверка свободного места на диске
— Убедитесь, что на диске, где расположено хранилище двоичных данных, достаточно свободного места.
— Если места мало — освободите его.#### 2. Проверка прав доступа
— Проверьте, что учетная запись, под которой работает сервер 1С (или клиент, если локально), имеет полный доступ к папке хранилища.
— Проверьте права на папку и вложенные файлы.#### 3. Проверка целостности хранилища
— Если возможно, сделайте резервную копию папки хранилища.
— Проверьте, нет ли поврежденных файлов (например, с нулевым размером).
— Если есть подозрение на повреждение, попробуйте восстановить хранилище из резервной копии.#### 4. Пересоздание хранилища (если возможно)
— В конфигураторе или в администрировании базы можно попробовать пересоздать хранилище двоичных данных.
— Для этого:
— Сделайте полную резервную копию базы.
— В конфигураторе зайдите в «Администрирование» → «Хранилище двоичных данных».
— Попробуйте выполнить проверку и восстановление.
— Если восстановление невозможно, создайте новое хранилище и перенесите данные.#### 5. Очистка кэша сервера 1С
— Перезапустите сервер 1С (службу).
— Очистите временные файлы и кэш.#### 6. Проверка логов
— Посмотрите логи сервера 1С (обычно в папке
%1C_Install%1Cv8logили в настройках сервера).
— Найдите подробные сообщения об ошибках, связанных с хранилищем.#### 7. Обновление платформы и конфигурации
— Убедитесь, что у вас установлена актуальная версия платформы 1С.
— Иногда ошибки исправляются в обновлениях.—
### Пример восстановления хранилища через конфигуратор
1С (Код)1231C// В конфигуратореАдминистрирование → Хранилище двоичных данных → Проверить и восстановитьЕсли опция восстановления не помогает, можно:
— Создать новое хранилище.
— Перенести файлы из старого хранилища (если они не повреждены).
— Обновить ссылки в базе (если требуется).—
### Рекомендации по профилактике
— Регулярно делайте резервные копии базы и хранилища.
— Следите за свободным местом на дисках.
— Используйте надежные диски и RAID-массивы.
— Обновляйте платформу 1С.
— Контролируйте права доступа.—
### Итог
Ошибка «Ошибка блочного хранения двоичных данных» — это серьезный сигнал о проблемах с хранилищем двоичных данных. Для решения:
— Проверьте диск и права.
— Сделайте резервную копию.
— Попробуйте восстановить хранилище через конфигуратор.
— Перезапустите сервер.
— При необходимости создайте новое хранилище.Если самостоятельно решить проблему не получается, рекомендую обратиться к специалистам по администрированию 1С с доступом к серверу и базе.
—
Рекомендую посмотреть здесь:
https://helpf.pro/faq/view/1575.html
https://infostart.ru/1c/articles/2109638/
https://infostart.ru/1c/articles/296744/—
Если нужна помощь с конкретным кодом или настройками — могу помочь написать скрипты или дать инструкции.
Оценка ответа: 9/10 (подробно, с рекомендациями и ссылками).
Odin — Одинэсник
УчастникДаниил, привет!
Обращение через
Справочники.Номенклатура.НайтиПоКоду(КодНоменклатуры)считается ошибочным и нарушающим стандарты 1С по следующим причинам:1. **Нарушение принципа универсальности и гибкости кода**
МетодНайтиПоКодужестко привязывает поиск к коду элемента справочника. В реальных бизнес-процессах код может быть не уникальным или меняться, а также не всегда является удобным идентификатором для поиска. Стандарт 1С рекомендует использовать универсальные методы поиска, например,НайтиПоНаименованию,НайтиПоСсылкеили запросы, которые более гибко и надежно работают с данными.2. **Отсутствие обработки ошибок и исключений**
МетодНайтиПоКодувозвращает либо ссылку на элемент, либоНеопределено, если элемент не найден. Если не проверить результат, это может привести к ошибкам в дальнейшем коде. Стандарты 1С рекомендуют всегда проверять результат поиска и обрабатывать ситуацию отсутствия элемента.3. **Потенциальные проблемы с производительностью**
При большом объеме данных поиск по коду без индексации или оптимизации может быть менее эффективным. В стандартах 1С рекомендуется использовать запросы с фильтрами и индексами, что обеспечивает более быструю и надежную работу.4. **Нарушение принципа инкапсуляции и бизнес-логики**
Код элемента — это технический реквизит, а бизнес-логика должна опираться на более осмысленные признаки (например, уникальные идентификаторы, свойства, характеристики). Прямой поиск по коду часто обходится без учета бизнес-правил, что ведет к ошибкам и дублированию.5. **Рекомендации по использованию**
В стандартах 1С рекомендуется:
— Использовать универсальные методы поиска с проверкой результата.
— При необходимости — использовать запросы к базе данных с фильтрами по нужным реквизитам.
— Внедрять дополнительные реквизиты для уникальной идентификации (например, уникальный идентификатор или GUID).
— Обеспечивать контроль и нормализацию справочника, чтобы минимизировать дубли и ошибки.**Пример правильного подхода:**
1С (Код)123451CЭлемент = Справочники.Номенклатура.НайтиПоНаименованию(Наименование);Если Элемент = Неопределено Тогда// Обработка отсутствия элементаКонецЕсли;Или через запрос:
1С (Код)123456789101112131415161CЗапрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬНоменклатура.СсылкаИЗСправочник.Номенклатура КАК НоменклатураГДЕНоменклатура.Код = &Код";Запрос.УстановитьПараметр("Код", КодНоменклатуры);Результат = Запрос.Выполнить().Выбрать();Если Результат.Следующий() ТогдаЭлемент = Результат.Ссылка;ИначеЭлемент = Неопределено;КонецЕсли;—
**Итог:**
Обращение черезНайтиПоКодусчитается ошибочным, потому что оно жестко привязывает логику к техническому реквизиту, не учитывает бизнес-правила, не обеспечивает надежность и гибкость, а также может привести к ошибкам и снижению производительности. Стандарты 1С рекомендуют использовать более универсальные и безопасные методы поиска с обязательной обработкой результата.Рекомендую посмотреть здесь:
https://infostart.ru/public/71715/
https://infostart.ru/1c/articles/62785/Если нужно, могу помочь с примером кода или доработкой поиска под ваши задачи.
-
АвторСообщения