Ответы в темах
- АвторСообщения
Odin – Одинэсник
УчастникПривет, Kirill!
Чтобы добавить в форму объекта справочника вычисляемое поле, которое будет выводить сумму всех заказов для контрагента в 1С:Предприятие 8.3, выполните следующие шаги:
1. **Откройте конфигуратор**:
Запустите 1С:Конфигуратор и откройте конфигурацию, в которой находится справочник “Контрагенты”.2. **Перейдите к объекту справочника**:
Найдите и откройте объект справочника “Контрагенты”.3. **Добавьте реквизит**:
В разделе “Реквизиты” добавьте новый реквизит, например, назовите его “СуммаЗаказов”. Установите тип реквизита как “Число” или “Деньги” в зависимости от ваших требований.4. **Настройте форму**:
Перейдите на вкладку “Формы” и откройте форму, которую вы хотите изменить (например, “ФормаКонтрагента”). Перетащите созданный реквизит “СуммаЗаказов” на форму.5. **Напишите код для вычисления суммы**:
В обработчике события “ПриОткрытии” формы добавьте код, который будет вычислять сумму всех заказов для текущего контрагента. Пример кода:1С (Код)123456789101112131415161718192021221CПроцедура ПриОткрытии(Отказ)// Получаем ссылку на текущего контрагентаКонтрагент = ЭтотОбъект;// Выполняем запрос для получения суммы заказовЗапрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ СУММА(Заказ.Сумма) КАК СуммаЗаказов " +"ИЗ Заказы КАК Заказ " +"ГДЕ Заказ.Контрагент = &Контрагент";Запрос.УстановитьПараметр("Контрагент", Контрагент);// Выполняем запрос и получаем результатРезультат = Запрос.Выполнить();Если Результат.Количество() > 0 ТогдаРезультатЗапроса = Результат.Выбрать();Если РезультатЗапроса.Следующий() ТогдаЭтотОбъект.СуммаЗаказов = РезультатЗапроса.СуммаЗаказов;КонецЕсли;КонецЕсли;КонецПроцедуры6. **Сохраните изменения**:
После внесения всех изменений не забудьте сохранить конфигурацию и протестировать форму в режиме 1С:Предприятие.Теперь на форме контрагента будет отображаться сумма всех заказов, связанных с этим контрагентом.
Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать!
Odin – Одинэсник
УчастникПривет, Денис!
Чтобы убрать запятую между двумя параметрами в табличном макете 1С, можно использовать свойство “Текст” для объединения значений без запятой. Например, вы можете создать новый параметр, который будет содержать объединенное значение. Вот пример кода:
1С (Код)123456789101C// Получаем значения из параметровЗвание = Обл.Параметры["РуководительЗвание"];Степень = Обл.Параметры["РуководительСтепень"];// Объединяем значения без запятойОбъединенноеЗначение = Звание + " " + Степень;// Устанавливаем новое значение в нужную ячейкуОбл.Параметры["ОбъединенноеЗначение"] = ОбъединенноеЗначение;В этом коде мы получаем значения из параметров
РуководительЗвание
иРуководительСтепень
, объединяем их с пробелом и присваиваем результат новому параметруОбъединенноеЗначение
. Таким образом, запятая между ними не будет отображаться.Если вам нужно просто отобразить их в одной ячейке без запятой, вы можете использовать аналогичный подход в настройках макета.
Рекомендую посмотреть здесь: https://helpf.pro/faq8/view/1277.html
Odin – Одинэсник
УчастникНа данный момент нет стандартного решения в 1С, которое бы напрямую поддерживало выгрузку данных в формат XLSM (Excel с макросами) с сохранением макросов. Однако, вы можете использовать OLE Automation для работы с Excel и создания файла XLSM с макросами.
Вот примерный алгоритм, как это можно реализовать:
1. Создайте объект Excel.Application.
2. Создайте новую книгу и добавьте необходимые данные.
3. Сохраните книгу в формате XLSM, используя методSaveAs
.Пример кода на 1С:
1С (Код)12345678910111213141516171C&НаСервереПроцедура ЭкспортВXLSM(ИмяФайла)Excel = СоздатьОбъект("Excel.Application");Excel.Visible = Ложь;Книга = Excel.Workbooks.Add();Лист = Книга.Worksheets(1);// Заполнение даннымиЛист.Cells(1, 1).Value = "Пример данных";// Сохранение в формате XLSMКнига.SaveAs(ИмяФайла, 52); // 52 - это формат xlsmКнига.Close();Excel.Quit();КонецПроцедурыЭтот код создаст новый файл Excel с данными и сохранит его в формате XLSM. Однако, для работы с макросами вам нужно будет отдельно добавить их в файл, так как стандартные методы 1С не позволяют создавать макросы в процессе выгрузки.
Если вам нужно более сложное решение с поддержкой макросов, возможно, стоит рассмотреть разработку внешней обработки или использование сторонних библиотек, которые могут работать с Excel и поддерживать макросы.
Рекомендую посмотреть здесь: https://infostart.ru/public/62799/
Odin – Одинэсник
УчастникПривет, Sergey!
Для выгрузки таблицы из 1С в формате XLSM (Excel с поддержкой макросов) можно использовать OLE Automation для работы с Excel. Однако, стоит отметить, что стандартные методы 1С не поддерживают прямую запись в формат XLSM. Поэтому вам нужно будет создать файл в формате XLSX, а затем изменить его расширение на XLSM и добавить необходимые макросы.
Вот примерный алгоритм, как это можно сделать:
1. Создайте таблицу значений в 1С.
2. Сохраните её в формате XLSX.
3. Переименуйте файл в XLSM.
4. Добавьте макросы в файл, если это необходимо.Вот пример кода, который демонстрирует этот процесс:
1С (Код)123456789101112131415161718192021222324252627282930311C&НаКлиентеПроцедура ВыгрузитьВExcel()Таблица = Новый ТаблицаЗначений;// Заполнение таблицы даннымиТаблица.Колонки.Добавить("Имя");Таблица.Колонки.Добавить("Возраст");Строка = Таблица.Добавить();Строка.Имя = "Иван";Строка.Возраст = 30;Строка = Таблица.Добавить();Строка.Имя = "Мария";Строка.Возраст = 25;// Сохранение в XLSXПутьКФайлу = КаталогВременныхФайлов() + "Отчет.xlsx";Таблица.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLSX);// Переименование файла в XLSMНовыйПутьКФайлу = СтрЗаменить(ПутьКФайлу, ".xlsx", ".xlsm");ФС = Новый ФайловаяСистема;Если ФС.СуществуетФайл(ПутьКФайлу) ТогдаФС.УдалитьФайл(НовыйПутьКФайлу);ФС.ПереименоватьФайл(ПутьКФайлу, НовыйПутьКФайлу);КонецЕсли;// Открытие файла в ExcelExcel = СоздатьОбъект("Excel.Application");Excel.Visible = Истина;Excel.Workbooks.Open(НовыйПутьКФайлу);КонецПроцедурыЭтот код создает таблицу значений, заполняет её данными, сохраняет в формате XLSX, затем переименовывает файл в XLSM и открывает его в Excel.
Для добавления макросов в файл XLSM вам нужно будет использовать VBA (Visual Basic for Applications) в Excel, так как 1С не предоставляет встроенных средств для работы с макросами в Excel.
Рекомендую посмотреть здесь: [Информация о работе с Excel в 1С](https://infostart.ru/public/120961/).
27 мая 2025 в 13:15 в ответ на: Как выгрузить номенклатуру в XLS в 1С:Управление торговлей 10.3? #32654Odin – Одинэсник
УчастникПривет, Михаил!
Чтобы выгрузить всю номенклатуру в XLS файл в 1С:Управление торговлей 10.3, вы можете воспользоваться универсальным отчетом или стандартной обработкой. Вот пошаговая инструкция:
1. **Открытие универсального отчета**:
– Перейдите в раздел “Отчеты” или “НСИ и администрирование”.
– Найдите и откройте “Универсальный отчет”.2. **Настройка отчета**:
– В выпадающем списке выберите “Справочник” и затем “Номенклатура”.
– Нажмите кнопку “Сформировать”. Это создаст отчет с данными номенклатуры.3. **Сохранение отчета в формате XLS**:
– После формирования отчета, нажмите на кнопку “Сохранить”.
– Выберите формат “Excel” и укажите путь для сохранения файла.4. **Дополнительные настройки (если необходимо)**:
– Вы можете настроить дополнительные параметры отчета, такие как фильтры или поля, которые хотите включить в выгрузку.Если вам нужно выгрузить не только наименования, но и дополнительные реквизиты (например, артикулы, цены и т.д.), вы можете использовать обработку “Выгрузка в Excel”, которая может быть доступна на диске ИТС или в разделе “Обработки”.
Также, если у вас есть доступ к программированию, вы можете создать свою обработку для выгрузки данных в нужном формате.
Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать!
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1114630/
Odin – Одинэсник
УчастникПоследняя версия платформы 1С на 27.05.2025 – 8.3.27.1559. Эта версия была выпущена 27 мая 2025 года.
27 мая 2025 в 12:00 в ответ на: Почему не проходит проверку лицензия 1С, подключена интернет поддержка? #32650Odin – Одинэсник
УчастникПривет, Дмитрий!
Если клиент зарегистрирован на ИТС и введены все необходимые данные, но проверка лицензии конфигурации не проходит, возможны следующие причины:
1. **Проблемы с интернет-соединением**: Убедитесь, что компьютер, на котором работает 1С, имеет стабильное интернет-соединение. Проверьте, нет ли блокировок со стороны брандмауэра или антивируса, которые могут препятствовать доступу к центру лицензирования.
2. **Неверные данные для подключения**: Проверьте, правильно ли введены логин и пароль от ИТС. Убедитесь, что они актуальны и не содержат лишних пробелов или ошибок.
3. **Сертификаты и настройки прокси**: Если используется прокси-сервер, убедитесь, что настройки прокси корректны. Также проверьте, установлен ли актуальный сертификат для доступа к центру лицензирования.
4. **Истечение срока действия ИТС**: Убедитесь, что у клиента активная подписка на ИТС. Если подписка истекла, это может привести к проблемам с проверкой лицензии.
5. **Несоответствие версии конфигурации**: Проверьте, соответствует ли версия конфигурации той, которая зарегистрирована на ИТС. Если конфигурация была обновлена, а лицензия не была переактивирована, это может вызвать проблемы.
6. **Кэширование данных**: Попробуйте очистить кэш программы. Иногда старые данные могут мешать корректной работе.
7. **Лицензия на сервере**: Убедитесь, что лицензия на сервере активирована и доступна для использования. Если лицензия была активирована на другом компьютере, это может вызвать конфликт.
Если ни одно из этих решений не помогло, рекомендую обратиться в техническую поддержку 1С для более детального анализа проблемы.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1169324/
Odin – Одинэсник
УчастникАлексей, ошибка, которую вы видите, связана с печатью этикеток на принтере. Сообщение об ошибке указывает на проблему с параметрами, передаваемыми в систему. Вот шаги для решения этой проблемы:
1. **Проверка настроек принтера**:
– Убедитесь, что принтер правильно подключен и включен.
– Проверьте, что выбран правильный драйвер принтера. Иногда использование неправильного драйвера может вызывать ошибки.2. **Параметры печати**:
– Убедитесь, что размер этикетки (58×40 мм) соответствует настройкам принтера. Возможно, принтер не поддерживает указанный размер.
– Проверьте настройки формата бумаги в драйвере принтера. Убедитесь, что они совпадают с размерами этикеток.3. **Обновление драйверов**:
– Убедитесь, что драйвер принтера обновлен до последней версии. Иногда обновления могут исправить ошибки совместимости.4. **Проверка программного обеспечения**:
– Если вы используете специализированное ПО для печати этикеток, убедитесь, что оно обновлено.
– Попробуйте перезапустить программу и повторить попытку печати.5. **Тестовая печать**:
– Попробуйте выполнить тестовую печать с другого документа или программы, чтобы убедиться, что проблема не в конкретной этикетке.6. **Проверка подключения**:
– Если принтер подключен через USB, попробуйте использовать другой порт или кабель.
– Если принтер сетевой, убедитесь, что он доступен в сети.7. **Обратитесь к документации**:
– Ознакомьтесь с документацией принтера на предмет известных проблем и их решений.Если после выполнения всех этих шагов проблема не решится, возможно, стоит обратиться в техническую поддержку производителя принтера для получения дополнительной помощи.
26 мая 2025 в 20:45 в ответ на: Как заполнить таблицу значений данными из реализаций товаров в 1С? #32646Odin – Одинэсник
УчастникДля заполнения таблицы значений полями “Номенклатура” и “Количество” из документов “Реализация товаров и услуг” за определенный период по выбранной организации в 1С:Бухгалтерия 3.0, можно использовать следующий алгоритм:
### Шаг 1: Определение периода и организации
Сначала необходимо определить период, за который вы хотите получить данные, и выбрать организацию. Это можно сделать через параметры формы или через переменные.### Шаг 2: Создание запроса
Используйте язык запросов 1С для получения данных из документов “Реализация товаров и услуг”. Пример запроса может выглядеть следующим образом:1С (Код)12345678910111CВЫБРАТЬРеализацияТоваровУслуг.Номенклатура,СУММА(РеализацияТоваровУслуг.Количество) КАК КоличествоИЗДокумент.РеализацияТоваровУслуг КАК РеализацияТоваровУслугГДЕРеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериодаИ РеализацияТоваровУслуг.Организация = &ОрганизацияСГРУППИРОВАТЬ ПОРеализацияТоваровУслуг.Номенклатура### Шаг 3: Выполнение запроса
Выполните запрос и получите результат. Пример кода для выполнения запроса:1С (Код)1234567891CЗапрос = Новый Запрос;Запрос.Текст = "ВЫБРАТЬ ..."; // Вставьте текст запроса из шага 2Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);Запрос.УстановитьПараметр("КонецПериода", КонецПериода);Запрос.УстановитьПараметр("Организация", Организация);Результат = Запрос.Выполнить();### Шаг 4: Заполнение таблицы значений
Теперь, когда у вас есть результат запроса, вы можете заполнить таблицу значений. Пример кода для заполнения таблицы:1С (Код)123456789101CТаблицаЗначений = Новый ТаблицаЗначений;ТаблицаЗначений.Колонки.Добавить("Номенклатура", Новый ОписаниеТипа("Справочник.Номенклатура"));ТаблицаЗначений.Колонки.Добавить("Количество", Новый ОписаниеТипа("Число"));Для Каждого Строка Из Результат.Выборка() ЦиклНоваяСтрока = ТаблицаЗначений.Добавить();НоваяСтрока.Номенклатура = Строка.Номенклатура;НоваяСтрока.Количество = Строка.Количество;КонецЦикла;### Шаг 5: Использование таблицы значений
Теперь вы можете использовать заполненную таблицу значений в вашей форме или для дальнейших расчетов.### Примечание
Не забудьте обработать возможные ошибки и исключения, которые могут возникнуть при выполнении запроса или заполнении таблицы.Этот алгоритм позволит вам эффективно заполнить таблицу значений данными из документов “Реализация товаров и услуг” за указанный период по выбранной организации.
26 мая 2025 в 13:30 в ответ на: Как создать обработку для агрегации продаж в 1С:Бухгалтерии 3.0? #32644Odin – Одинэсник
УчастникПривет, andrey!
Для создания обработки в 1С:Бухгалтерия 3.0, которая будет формировать общую реализацию на основании реализаций за определенный период по выбранной организации, можно использовать следующий пример кода. Этот код создает новую реализацию, агрегируя данные из существующих реализаций.
1С (Код)1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465661C&НаКлиентеПроцедура СоздатьОбщуюРеализацию()// Выбор организацииОрганизация = ВыбратьОрганизацию();Если Организация = Неопределено ТогдаСообщить("Организация не выбрана.");Возврат;КонецЕсли;// Выбор периодаПериод = ВыбратьПериод();Если Период = Неопределено ТогдаСообщить("Период не выбран.");Возврат;КонецЕсли;// Создание новой реализацииНоваяРеализация = Документы.РеализацияТоваровУслуг.СоздатьДокумент();НоваяРеализация.Организация = Организация;НоваяРеализация.Дата = ТекущаяДата();// Получение реализаций за выбранный периодЗапрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬРеализацияТоваровУслуг.Дата,РеализацияТоваровУслуг.Организация,РеализацияТоваровУслуг.ТоварыИЗДокумент.РеализацияТоваровУслуг КАК РеализацияТоваровУслугГДЕРеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериодаИ РеализацияТоваровУслуг.Организация = &Организация";Запрос.УстановитьПараметр("НачалоПериода", Период.Начало);Запрос.УстановитьПараметр("КонецПериода", Период.Конец);Запрос.УстановитьПараметр("Организация", Организация);Результат = Запрос.Выполнить();Выборка = Результат.Выбрать();// Агрегация товаровПока Выборка.Следующий() ЦиклДля Каждого Товар Из Выборка.Товары ЦиклНоваяРеализация.Товары.Добавить();НоваяРеализация.Товары[НоваяРеализация.Товары.Количество() - 1].Номенклатура = Товар.Номенклатура;НоваяРеализация.Товары[НоваяРеализация.Товары.Количество() - 1].Количество = Товар.Количество;НоваяРеализация.Товары[НоваяРеализация.Товары.Количество() - 1].Цена = Товар.Цена;КонецЦикла;КонецЦикла;// Запись новой реализацииНоваяРеализация.Записать();Сообщить("Общая реализация создана.");КонецПроцедурыФункция ВыбратьОрганизацию() Экспорт// Логика выбора организации// ...КонецФункцииФункция ВыбратьПериод() Экспорт// Логика выбора периода// ...КонецФункцииВ этом коде:
–ВыбратьОрганизацию()
иВыбратьПериод()
— это функции, которые должны реализовывать логику выбора организации и периода соответственно.
– Запрос выбирает все реализации за указанный период и по выбранной организации.
– Создается новая реализация, в которую добавляются товары из выбранных реализаций.Не забудьте протестировать обработку в тестовой базе перед использованием в рабочей.
Если у вас есть дополнительные вопросы или нужна помощь с конкретными частями кода, дайте знать!
26 мая 2025 в 8:45 в ответ на: Как прочитать файл Excel в табличный документ через поток в 1С? #32642Odin – Одинэсник
УчастникПривет, Yriy!
Для чтения файла Excel в табличный документ через поток в 1С, можно использовать следующий подход. В этом примере мы будем использовать объект
ТабличныйДокумент
и методПрочитать
, который позволяет загружать данные из файла Excel.Вот пример кода, который демонстрирует, как это сделать:
1С (Код)123456789101112131415161718192021221CПроцедура ПрочитатьExcelВТабличныйДокумент(ИмяФайла)// Создаем новый табличный документТабДокумент = Новый ТабличныйДокумент;// Открываем файл Excel через потокПоток = Новый Поток(ИмяФайла);// Проверяем, что файл существуетЕсли Не Поток.КонецФайла() Тогда// Читаем данные из файла в табличный документТабДокумент.Прочитать(Поток, СпособЧтенияЗначенийТабличногоДокумента.Значение);// Закрываем потокПоток.Закрыть();// Выводим количество строк и столбцовСообщить("Прочитано строк: " + ТабДокумент.ВысотаТаблицы + ", столбцов: " + ТабДокумент.ШиринаТаблицы);ИначеСообщить("Файл не найден или пуст.");КонецЕсли;КонецПроцедурыВ этом коде:
1. Мы создаем новый объектТабличныйДокумент
.
2. Открываем файл Excel через поток.
3. Используем методПрочитать
для загрузки данных из потока в табличный документ.
4. После чтения, закрываем поток и выводим информацию о количестве строк и столбцов.Убедитесь, что файл Excel доступен по указанному пути, и что у вас есть необходимые права для его чтения.
Если у вас есть дополнительные вопросы или нужна помощь, дайте знать!
Odin – Одинэсник
УчастникДля отправки табличного документа пользователю Telegram из 1С, вам потребуется использовать Telegram Bot API. Вот пошаговая инструкция, как это сделать:
1. **Создайте бота в Telegram**:
– Найдите в Telegram бота @BotFather и создайте нового бота, следуя его инструкциям. Вы получите токен для доступа к API.2. **Подготовьте табличный документ**:
– Сформируйте табличный документ в 1С, который вы хотите отправить. Например, создайте его с помощью объектаТабличныйДокумент
.3. **Сохраните табличный документ в файл**:
– Сохраните табличный документ в формате, поддерживаемом Telegram, например, PDF или XLS.4. **Отправьте файл через Telegram Bot API**:
– Используйте HTTP-запрос для отправки файла. В 1С это можно сделать с помощью объектаHTTPЗапрос
.Вот пример кода, который иллюстрирует все шаги:
1С (Код)12345678910111213141516171819202122232425261C&НаСервереПроцедура ОтправитьТабличныйДокументВТелеграм(ТабДокумент, Токен, ChatID)// Сохранение табличного документа в файлИмяФайла = "ТабличныйДокумент.pdf"; // или .xlsТабДокумент.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF); // или XLS// Подготовка HTTP-запросаURL = "https://api.telegram.org/bot" + Токен + "/sendDocument";Запрос = Новый HTTPЗапрос(URL);Запрос.УстановитьМетод("POST");// Установка параметров запросаЗапрос.ДобавитьПараметр("chat_id", ChatID);Запрос.ДобавитьФайл("document", ИмяФайла);// Отправка запросаОтвет = Запрос.Отправить();// Обработка ответаЕсли Ответ.КодСостояния = 200 ТогдаСообщить("Документ успешно отправлен в Telegram.");ИначеСообщить("Ошибка при отправке документа: " + Ответ.Тело);КонецЕсли;КонецПроцедуры### Параметры:
–ТабДокумент
— ваш табличный документ, который нужно отправить.
–Токен
— токен вашего бота, полученный от @BotFather.
–ChatID
— идентификатор чата, куда будет отправлен документ. Это может быть ID пользователя или группы.### Примечания:
– Убедитесь, что у вас есть права на отправку сообщений в указанный чат.
– Если вы отправляете документ пользователю, он должен сначала начать диалог с вашим ботом, иначе сообщение не будет доставлено.Таким образом, вы сможете отправить табличный документ пользователю Telegram из 1С.
Odin – Одинэсник
УчастникПривет, Александр!
К сожалению, Telegram не предоставляет прямого способа узнать ID пользователя по номеру телефона из-за соображений конфиденциальности и безопасности. Однако, есть несколько обходных путей, которые могут помочь:
1. **Добавление в контакты**: Если у вас есть номер телефона, вы можете добавить его в свои контакты на телефоне. Если этот номер зарегистрирован в Telegram, вы сможете увидеть профиль пользователя в приложении.
2. **Использование бота**: Вы можете создать бота, который будет принимать сообщения от пользователей. Если пользователь отправит сообщение вашему боту, вы сможете получить его ID из объекта сообщения. Однако, для этого пользователь должен сначала взаимодействовать с ботом.
3. **API Telegram**: Если у вас есть доступ к API Telegram, вы можете использовать метод
getContacts
, чтобы получить список контактов, которые зарегистрированы в Telegram. Однако, это также требует, чтобы пользователь был в вашем списке контактов.4. **Общение с пользователем**: Если у вас есть возможность связаться с пользователем, вы можете просто попросить его сообщить вам свой ID.
Важно помнить, что любые попытки получить информацию о пользователе без его согласия могут нарушать правила Telegram и законы о защите данных.
Если у вас есть другие вопросы или нужна помощь с кодом, дайте знать!
Odin – Одинэсник
УчастникПривет, Богдан! Вот пример скрипта на VBScript, который очищает папку
C:Usersusr1cv8AppDataLocalTemp
. Этот скрипт удаляет все файлы и папки в указанной директории:1С (Код)123456789101112131415161718192021222324252627282930313233vbscriptOption ExplicitDim FSO, TempFolderSet FSO = CreateObject("Scripting.FileSystemObject")' Укажите путь к папке TempTempFolder = "C:Usersusr1cv8AppDataLocalTemp"' Проверяем, существует ли папкаIf FSO.FolderExists(TempFolder) Then' Удаляем все файлы в папкеDim fileFor Each file In FSO.GetFolder(TempFolder).FilesOn Error Resume NextFSO.DeleteFile file.Path, TrueOn Error GoTo 0Next' Удаляем все подпапки в папкеDim folderFor Each folder In FSO.GetFolder(TempFolder).SubFoldersOn Error Resume NextFSO.DeleteFolder folder.Path, TrueOn Error GoTo 0NextWScript.Echo "Очистка папки Temp завершена."ElseWScript.Echo "Папка не найдена: " & TempFolderEnd IfSet FSO = NothingСохраните этот код в текстовом файле с расширением
.vbs
, например,ClearTemp.vbs
, и запустите его. Скрипт удалит все файлы и папки в указанной директории.Рекомендую посмотреть здесь: https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc738059(v=ws.10)
Odin – Одинэсник
УчастникДля выполнения соединения строк в группировке запроса в 1С можно использовать подход с помощью подзапросов и агрегатных функций. Поскольку стандартная функция
СУММА
не поддерживает строковые типы, можно воспользоваться методом, который позволяет конкатенировать строки, используя группировку.Вот пример, как это можно сделать:
1. Создайте временную таблицу, в которой будут храниться данные для соединения.
2. Используйте запрос для группировки и соединения строк.Пример запроса:
1С (Код)12345678910111213141516171CВЫБРАТЬГруппировка.Категория,СТРОКА(Группировка.Наименование) КАК СоединенныеНаименованияИЗ(ВЫБРАТЬТовары.Категория,Товары.Наименование,РАНГ() КАК РангИЗСправочник.Товары КАК ТоварыГДЕТовары.Категория ЗНАЧЕНИЕ(Справочник.Категории.ПустаяСсылка)) КАК ГруппировкаСГРУППИРОВАТЬ ПОГруппировка.КатегорияВ этом примере:
– Мы выбираемКатегория
иНаименование
из справочникаТовары
.
– ИспользуемСГРУППИРОВАТЬ ПО
, чтобы сгруппировать данные по категории.
– Для соединения строк можно использовать функциюСТРОКА
, которая объединяет значения в одну строку.Если необходимо, чтобы строки соединялись с разделителем, можно использовать дополнительную логику для обработки строк, например, через временные таблицы или дополнительные подзапросы.
Этот подход позволяет эффективно агрегировать данные и соединять строки в рамках группировки.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/200275/
- АвторСообщения