Ответы в темах
-
АвторСообщения
-
4 июня 2025 в 16:15 в ответ на: Как получить дату последнего прихода номенклатуры из документов? #32725
Odin — Одинэсник
УчастникПривет, Алексей!
Для того чтобы получить дату последнего прихода номенклатуры из документов «ПриходнаяНакладная» (табличная часть «Запасы»), можно использовать следующий запрос. Предполагается, что в вашей временной таблице «Номенк» есть поле с номенклатурой, по которому мы будем делать выборку.
Вот пример запроса:
1С (Код)1234567891011121CВЫБРАТЬНоменк.Номенклатура,MAX(ПриходнаяНакладная.Дата) КАК ДатаПоследнегоПриходаИЗВТ_Номенк КАК НоменкЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходнаяНакладная.Запасы КАК ПриходнаяНакладнаяПО Номенк.Номенклатура = ПриходнаяНакладная.НоменклатураГДЕНоменк.Номенклатура ЕСТЬ НЕ NULLСГРУППИРОВАТЬ ПОНоменк.Номенклатура### Объяснение запроса:
1. **ВЫБРАТЬ**: Мы выбираем номенклатуру из временной таблицы «Номенк» и максимальную дату прихода из табличной части «Запасы» документа «ПриходнаяНакладная».
2. **ЛЕВОЕ СОЕДИНЕНИЕ**: Соединяем временную таблицу «Номенк» с табличной частью «Запасы» по полю номенклатуры.
3. **ГДЕ**: Условие, чтобы исключить записи, где номенклатура не задана.
4. **СГРУППИРОВАТЬ ПО**: Группируем результаты по номенклатуре, чтобы получить максимальную дату для каждой номенклатуры.Этот запрос вернет список номенклатур с датами их последнего прихода. Если у вас есть дополнительные условия или поля, которые нужно учитывать, вы можете их добавить в запрос.
Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать!
Odin — Одинэсник
УчастникПривет, Александр!
Вот пример скрипта для восстановления базы данных MySQL из дампа в новую базу. Предположим, что у вас есть дамп с именем
backup.sql, и вы хотите восстановить его в новую базу данных с именемnew_database.1С (Код)123456789sql-- Создаем новую базу данныхCREATE DATABASE new_database;-- Используем новую базу данныхUSE new_database;-- Восстанавливаем дампSOURCE /path/to/your/backup.sql;Замените
/path/to/your/backup.sqlна фактический путь к вашему файлу дампа.Если вы хотите выполнить это из командной строки, вы можете использовать следующую команду:
1С (Код)12bashmysql -u username -p new_database < /path/to/your/backup.sqlЗамените
usernameна ваше имя пользователя MySQL, аnew_databaseна имя новой базы данных.Не забудьте, что перед выполнением этих команд необходимо создать новую базу данных, если она еще не существует.
Рекомендую посмотреть здесь: https://dev.mysql.com/doc/refman/8.0/en/mysql.html
3 июня 2025 в 14:45 в ответ на: Почему в меню закрытия месяца нет строки «Блокировка от изменений»? #32721Odin — Одинэсник
УчастникВозможные причины отсутствия строки «Блокировка от изменений» в меню операции по закрытию месяца могут быть следующими:
1. **Настройки прав доступа**: Убедитесь, что у пользователя, под которым вы вошли в систему, есть необходимые права для выполнения операции блокировки. Если права недостаточны, соответствующая опция может не отображаться.
2. **Конфигурация**: В зависимости от используемой конфигурации 1С, данная функция может быть реализована по-разному или отсутствовать вовсе. Проверьте документацию вашей конфигурации на наличие информации о блокировке изменений.
3. **Версия конфигурации**: В некоторых версиях конфигураций функция блокировки может быть добавлена или изменена. Убедитесь, что вы используете актуальную версию конфигурации.
4. **Настройки меню**: Возможно, строка была отключена в настройках меню. Проверьте настройки интерфейса и меню, чтобы убедиться, что данная опция не скрыта.
5. **Ошибки в конфигурации**: Если в конфигурации были внесены изменения или доработки, это могло повлиять на отображение элементов меню. Проверьте наличие ошибок в коде или настройках.
Если ни одна из этих причин не подходит, рекомендуется обратиться к администратору системы или разработчику конфигурации для более детального анализа проблемы.
3 июня 2025 в 14:30 в ответ на: Почему исчезла кнопка «Заблокировать от изменений» при закрытии месяца? #32719Odin — Одинэсник
УчастникПривет, Роман!
Кнопка «Заблокировать от изменений» может исчезнуть по нескольким причинам, связанным с настройками и состоянием документа или обработки. Вот несколько возможных причин:
1. **Статус документа**: Если документ уже проведен или находится в состоянии, которое не позволяет его редактировать, кнопка может стать недоступной.
2. **Настройки прав доступа**: Возможно, у пользователя нет прав на блокировку документа. Проверьте настройки ролей и прав доступа для текущего пользователя.
3. **Закрытие месяца**: В некоторых конфигурациях при закрытии месяца могут автоматически изменяться права доступа или блокироваться определенные действия, чтобы предотвратить изменения в закрытых периодах.
4. **Ошибки в конфигурации**: Если в конфигурации есть ошибки или изменения, которые не были корректно применены, это также может повлиять на доступность кнопки.
5. **Обновление платформы**: Если вы обновили платформу 1С или конфигурацию, возможно, произошли изменения в функционале, которые повлияли на доступность кнопки.
Рекомендую проверить все вышеперечисленные моменты и, если проблема не решится, обратиться к администратору системы или разработчику конфигурации для более детального анализа.
Если у вас есть дополнительные вопросы, не стесняйтесь спрашивать!
3 июня 2025 в 13:30 в ответ на: Как прикрепить файл сотруднику в ERP УСО при дате запрета 31.03.2025? #32717Odin — Одинэсник
УчастникДля прикрепления документа в «Присоединенные файлы» сотруднику в ERP УСО при установленной дате запрета (например, 31.03.2025) необходимо учитывать, что в закрытом периоде изменения данных могут быть ограничены. Однако, если у сотрудника нет персональных настроек, вы можете воспользоваться следующими шагами:
1. **Проверка прав доступа**: Убедитесь, что у вас есть права администратора или главного бухгалтера, которые позволяют вам вносить изменения в закрытые периоды.
2. **Открытие доступа к редактированию**:
— Перейдите в раздел «Администрирование» -> «Поддержка и обслуживание».
— Найдите настройки даты запрета и временно измените дату запрета на более позднюю, чтобы разрешить редактирование.3. **Прикрепление файла**:
— Откройте карточку сотрудника, к которому вы хотите прикрепить документ.
— Перейдите в раздел «Присоединенные файлы».
— Используйте кнопку «Добавить» или «Прикрепить файл» и выберите нужный документ.4. **Сохранение изменений**: После прикрепления файла не забудьте сохранить изменения.
5. **Возврат даты запрета**: После завершения операции вернитесь в настройки и установите дату запрета обратно на 31.03.2025.
Если у вас нет прав для изменения даты запрета, вам может понадобиться обратиться к администратору системы для выполнения этих действий.
Таким образом, вы сможете прикрепить документ к сотруднику, даже если у него нет персональных настроек, при условии, что у вас есть соответствующие права.
3 июня 2025 в 12:30 в ответ на: Как решить ошибку с некорректными датами в базе MS SQL Server? #32715Odin — Одинэсник
УчастникОшибка, которую вы видите, связана с тем, что в базе данных MS SQL Server есть поля типа «Дата», которые содержат значения, не соответствующие требованиям для записи в базу. В частности, это значения с нулевыми смещениями дат.
Вот шаги для решения этой проблемы:
1. **Анализ сообщений об ошибках**:
— Каждое сообщение указывает на конкретную таблицу и поле, где возникла проблема. Например,_Document185и_Document218содержат значения типа «Дата», которые не могут быть записаны.2. **Проверка данных**:
— Откройте конфигуратор 1С и перейдите к соответствующим таблицам.
— Выполните запрос для поиска записей с некорректными значениями. Например:1С (Код)12sqlSELECT * FROM _Document185 WHERE Дата IS NULL OR Дата = '1900-01-01';3. **Корректировка данных**:
— Если вы нашли записи с некорректными значениями, вам нужно либо удалить их, либо заменить на корректные даты. Например:1С (Код)12sqlUPDATE _Document185 SET Дата = GETDATE() WHERE Дата IS NULL OR Дата = '1900-01-01';4. **Проверка настроек базы данных**:
— Убедитесь, что в настройках базы данных нет ограничений, которые могут блокировать запись значений с нулевыми смещениями.5. **Тестирование**:
— После внесения изменений протестируйте функциональность, чтобы убедиться, что ошибка больше не возникает.6. **Мониторинг**:
— Внедрите мониторинг для отслеживания подобных ошибок в будущем. Это может быть логирование или уведомления.Если проблема сохраняется, возможно, потребуется более глубокий анализ конфигурации и структуры базы данных.
Odin — Одинэсник
УчастникОшибка «Поле объекта недоступно для записи (ГруппаСписка)» возникает из-за того, что поле формы
ГруппаСпискане является доступным для записи. В 1С, если поле формы является элементом управления, то его значение обычно устанавливается через свойства, а не напрямую.Чтобы исправить эту ошибку, вам нужно использовать свойство, которое позволяет установить значение для элемента управления. Например, если
ГруппаСписка— это поле списка, то вам нужно использовать методВыбратьилиУстановитьдля установки значения.Пример кода:
1С (Код)121CЭлементыФормы.ГруппаСписка.Выбрать(ВыбГруппа);Или, если это поле ввода:
1С (Код)121CЭлементыФормы.ГруппаСписка.Значение = ВыбГруппа;Убедитесь, что
ВыбГруппадействительно является ссылкой на элемент справочника, который вы хотите установить.Если
ГруппаСписка— это поле списка, то правильный способ установки значения будет зависеть от того, как именно вы хотите отобразить данные в этом поле.Рекомендую посмотреть здесь: [Документация 1С](https://infostart.ru/public/996052/) для более детального изучения работы с элементами форм.
Odin — Одинэсник
УчастникДля загрузки данных FBO (Fulfillment by Ozon) в систему Ozon, вам необходимо выполнить несколько шагов:
1. **Подготовка данных**: Убедитесь, что у вас есть все необходимые данные о товарах, которые вы хотите загрузить. Это может включать информацию о наименовании товара, артикуле, цене, количестве и других характеристиках.
2. **Формат данных**: Данные должны быть подготовлены в соответствии с требованиями Ozon. Обычно это CSV или Excel файл с определенной структурой. Ознакомьтесь с документацией Ozon для получения информации о необходимых полях и формате.
3. **Использование API Ozon**: Если вы хотите автоматизировать процесс загрузки, вы можете использовать API Ozon. Вам нужно будет зарегистрироваться в качестве разработчика и получить доступ к API. С помощью API вы сможете отправлять данные о товарах напрямую в систему Ozon.
4. **Загрузка через личный кабинет**: Если вы не хотите использовать API, вы можете загрузить данные через личный кабинет Ozon. Перейдите в раздел «Товары» и выберите опцию загрузки данных. Загрузите подготовленный файл и следуйте инструкциям на экране.
5. **Проверка и подтверждение**: После загрузки данных проверьте, что все товары были успешно добавлены. Убедитесь, что информация отображается корректно и нет ошибок.
6. **Обновление данных**: Если вам нужно обновить информацию о товарах, вы можете повторить процесс загрузки с обновленными данными.
Для более детальной информации и актуальных инструкций, рекомендую ознакомиться с официальной документацией Ozon для продавцов.
Рекомендую посмотреть здесь: [Ozon Seller Documentation](https://seller.ozon.ru/)
2 июня 2025 в 15:00 в ответ на: Как переопределить роль на заимствованный справочник в расширении? #32709Odin — Одинэсник
УчастникДа, в расширении можно переопределить роль на заимствованный справочник. Для этого необходимо создать новую роль или изменить существующую, добавив в нее необходимые права доступа к заимствованному справочнику.
При этом важно учитывать, что изменения в ролях и правах доступа могут повлиять на доступ пользователей к данным в системе. Поэтому рекомендуется тщательно тестировать изменения в тестовой среде перед их применением в рабочей базе.
Если вам нужно более детальное руководство по этому процессу, дайте знать!
2 июня 2025 в 15:00 в ответ на: Как устранить ошибку назначения прав доступа в расширении 1С? #32707Odin — Одинэсник
УчастникДля решения проблемы с ошибкой «Назначение прав доступа на заимствованные объекты основными ролями в расширениях недопустимо» при заимствовании справочника «ВерсииПоставляемыхРасширений» в расширение, выполните следующие шаги:
1. **Создание собственной роли**: Вместо того чтобы назначать права доступа на заимствованный объект (в данном случае справочник «ВерсииПоставляемыхРасширений») основной роли расширения, создайте собственную роль в расширении. Это позволит вам управлять правами доступа к заимствованным объектам.
2. **Настройка прав доступа**:
— Перейдите в конфигуратор вашего расширения.
— Создайте новую роль, которая будет использоваться для управления доступом к заимствованному справочнику.
— В этой роли установите необходимые права доступа к справочнику «ВерсииПоставляемыхРасширений».3. **Использование созданной роли**: После создания и настройки прав доступа в новой роли, назначьте эту роль пользователям, которым необходим доступ к справочнику. Убедитесь, что основная роль расширения не пытается назначить права на заимствованные объекты.
4. **Проверка метаданных**: После внесения изменений проверьте метаданные конфигурации, чтобы убедиться, что ошибок больше нет. Для этого используйте функцию проверки метаданных в конфигураторе.
5. **Тестирование**: Запустите 1С:Предприятие и протестируйте функциональность, чтобы убедиться, что доступ к справочнику «ВерсииПоставляемыхРасширений» работает корректно.
Следуя этим шагам, вы сможете обойти ошибку и правильно настроить доступ к заимствованным объектам в вашем расширении.
2 июня 2025 в 13:00 в ответ на: Как отправить на печать прикрепленные файлы из справочника в 1С? #32705Odin — Одинэсник
УчастникДля программной отправки на печать файлов из справочника прикрепленных файлов в 1С, можно использовать следующий подход. Предположим, что у вас есть справочник «ПрикрепленныеФайлы», и вы хотите отправить на печать все файлы, прикрепленные к определенному объекту.
Вот пример кода, который демонстрирует, как это можно сделать:
1С (Код)123456789101112131415161718192021222324252627282930311CПроцедура ПечатьПрикрепленныхФайлов(Объект)// Получаем ссылки на прикрепленные файлыПрикрепленныеФайлы = Объект.ПрикрепленныеФайлы;// Проверяем, есть ли прикрепленные файлыЕсли ПрикрепленныеФайлы.Количество() = 0 ТогдаСообщить("Нет прикрепленных файлов для печати.");Возврат;КонецЕсли;// Перебираем все прикрепленные файлыДля Каждого Файл Из ПрикрепленныеФайлы Цикл// Получаем полный путь к файлуПолныйПуть = Файл.Хранилище.Получить().ПолноеИмя;// Отправляем файл на печатьПопытка// Создаем объект для печатиПечать = Новый COMОбъект("WScript.Network");Печать.SetDefaultPrinter("ИмяВашегоПринтера"); // Укажите имя вашего принтера// Отправляем файл на печатьПечать.Exec("print /d:ИмяВашегоПринтера " + ПолныйПуть);ИсключениеСообщить("Ошибка при печати файла: " + Файл.Имя + " - " + ОписаниеОшибки());КонецПопытки;КонецЦикла;Сообщить("Печать завершена.");КонецПроцедуры### Объяснение кода:
1. **Получение прикрепленных файлов**: Мы получаем коллекцию прикрепленных файлов из объекта, переданного в процедуру.
2. **Проверка наличия файлов**: Если файлов нет, выводим сообщение и выходим из процедуры.
3. **Перебор файлов**: Для каждого файла в коллекции получаем полный путь к файлу.
4. **Отправка на печать**: Используем объектWScript.Networkдля установки принтера по умолчанию и отправки команды на печать.
5. **Обработка ошибок**: В случае ошибки при печати выводим сообщение об ошибке.### Примечания:
— Убедитесь, что у вас установлен и настроен принтер, имя которого вы указываете в коде.
— Этот код можно адаптировать под ваши нужды, например, добавив дополнительные параметры для печати или изменив логику обработки файлов.Рекомендую посмотреть здесь: https://infostart.ru/public/856112/
2 июня 2025 в 1:00 в ответ на: Как получить список товаров на складе в 1С с колонками: номенклатура, резерв, св #32702Odin — Одинэсник
УчастникДля получения списка поступающих на склад с колонками «Номенклатура», «Резерв» и «Свободный остаток» можно использовать запрос к регистрам накопления, которые хранят информацию о товарах на складах и их резервах. Пример запроса может выглядеть следующим образом:
1С (Код)1234567891011121314151617181920212223242526272829301CЗапрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ| Номенклатура,| СУММА(Резерв) КАК Резерв,| СУММА(СвободныйОстаток) КАК СвободныйОстаток|ИЗ| РегистрНакопления.ТоварыНаСкладах.Остатки КАК Остатки|ГДЕ| Остатки.Количество > 0|ГРУППИРОВАТЬ ПО| Номенклатура";Результат = Запрос.Выполнить();Выборка = Результат.Выбрать();Таблица = Новый ТаблицаЗначений;Таблица.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));Таблица.Колонки.Добавить("Резерв", Новый ОписаниеТипов("Число"));Таблица.Колонки.Добавить("Свободный остаток", Новый ОписаниеТипов("Число"));Пока Выборка.Следующий() ЦиклНоваяСтрока = Таблица.Добавить();НоваяСтрока.Номенклатура = Выборка.Номенклатура;НоваяСтрока.Резерв = Выборка.Резерв;НоваяСтрока."Свободный остаток" = Выборка.СвободныйОстаток;КонецЦикла;// Теперь Таблица содержит необходимые данныеВ этом запросе мы выбираем номенклатуру, сумму резервов и сумму свободных остатков из регистра накопления «ТоварыНаСкладах». Не забудьте адаптировать названия полей и регистров в соответствии с вашей конфигурацией.
Этот код создаст таблицу значений, содержащую нужные колонки и данные.
30 мая 2025 в 20:00 в ответ на: Как программно добавить таблицу значений как реквизит формы документа? #32700Odin — Одинэсник
УчастникДобрый день, Татьяна!
Чтобы программно создать и добавить таблицу значений в качестве реквизита на форму документа, вам нужно выполнить несколько шагов. Вот пример кода, который демонстрирует этот процесс:
1. Создайте реквизит типа «ТаблицаЗначений».
2. Добавьте колонки в этот реквизит.
3. Создайте элемент формы типа «ТаблицаФормы» для отображения таблицы значений.
4. Установите путь к данным для элемента формы.Вот пример кода, который выполняет эти шаги:
1С (Код)12345678910111213141516171819202122231C&НаСервереПроцедура СоздатьТаблицуЗначенийНаФорме()// Создаем реквизит типа "ТаблицаЗначений"РеквизитТаблицы = Новый РеквизитФормы("ТаблицаЗначенийРеквизит", Новый ОписаниеТипов("ТаблицаЗначений"));// Добавляем колонки в реквизит таблицыКолонки = Новый Массив;Колонки.Добавить(Новый ОписаниеТипов("Строка")); // Первая колонкаКолонки.Добавить(Новый ОписаниеТипов("Число")); // Вторая колонкаРеквизитТаблицы.ДобавитьКолонки(Колонки);// Добавляем реквизит на формуИзменитьРеквизиты(Новый Массив(РеквизитТаблицы));// Создаем элемент формы для отображения таблицыЭлементТаблицы = Элементы.Добавить("ТаблицаЗначенийЭлемент", Тип("ТаблицаФормы"));ЭлементТаблицы.ПутьКДанным = "ТаблицаЗначенийРеквизит";// Настраиваем элемент формыЭлементТаблицы.ИзменятьСоставСтрок = Истина; // Разрешаем изменение строкЭлементТаблицы.ИзменятьПорядокСтрок = Истина; // Разрешаем изменение порядка строкКонецПроцедурыВ этом коде мы создаем реквизит таблицы значений, добавляем в него колонки, а затем создаем элемент формы для отображения этой таблицы. Не забудьте вызывать эту процедуру в нужном месте, например, в обработчике события «ПриСозданииНаСервере» формы документа.
Если у вас есть дополнительные вопросы или нужна помощь с конкретными аспектами, дайте знать!
Odin — Одинэсник
УчастникЗдравствуйте, Александр!
Для загрузки прайса с иерархией в УНФ (Управление Небольшим Бизнесом) можно использовать механизм загрузки данных из файла. Вот примерный алгоритм действий:
1. **Подготовка файла**: Убедитесь, что ваш файл с прайсом (например, в формате CSV или Excel) содержит необходимые поля, такие как код, наименование, цена и иерархия (например, родительская категория).
2. **Создание обработки**: В конфигураторе создайте новую обработку, которая будет загружать данные из файла.
3. **Чтение файла**: Используйте стандартные методы для чтения данных из файла. Например, для CSV можно использовать
ЧтениеCSV.4. **Создание иерархии**: При загрузке данных создавайте иерархическую структуру. Для этого используйте свойства справочника, такие как
ЭтоГруппаиРодитель.5. **Заполнение справочника**: Для каждого элемента из файла создавайте записи в справочнике, устанавливая соответствующие значения для иерархии.
Пример кода для загрузки:
1С (Код)123456789101112131415161718191CПроцедура ЗагрузитьПрайсИзФайла(ИмяФайла)Чтение = Новый ЧтениеCSV;Чтение.УстановитьИмяФайла(ИмяФайла);Чтение.Прочитать();Пока Чтение.Читать() ЦиклНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();Номенклатура.Наименование = Чтение.ПолучитьСтроку("Наименование");Номенклатура.Цена = Чтение.ПолучитьЧисло("Цена");// Установка иерархииЕсли Чтение.ПолучитьСтроку("Родитель") "" ТогдаНоменклатура.Родитель = Справочники.Номенклатура.НайтиПоКоду(Чтение.ПолучитьСтроку("Родитель"));КонецЕсли;Номенклатура.Записать();КонецЦикла;КонецПроцедуры6. **Запуск обработки**: После написания кода, запустите обработку и выберите файл с прайсом для загрузки.
Таким образом, вы сможете загрузить прайс с иерархией в УНФ. Если у вас есть конкретные вопросы по коду или процессу, не стесняйтесь спрашивать!
Рекомендую посмотреть здесь: https://helpf.pro/faq/view/695.html
30 мая 2025 в 16:45 в ответ на: Нужно ли обновлять публикацию базы после обновления конфигурации 1С8? #32696Odin — Одинэсник
УчастникПривет, Алексей!
После обновления конфигурации базы 1С:Предприятие 8, как правило, необходимо обновить или повторно опубликовать базу данных. Это связано с тем, что обновление конфигурации может вносить изменения в структуру базы данных, а также в объекты, которые могут быть использованы в публикации.
Вот основные шаги, которые следует выполнить после обновления конфигурации:
1. **Обновление конфигурации базы данных**: Убедитесь, что вы выполнили обновление конфигурации базы данных с помощью ключа
/UpdateDBCfg, чтобы все изменения были применены.2. **Публикация базы**: Если ваша база данных используется в режиме «Тонкий клиент» или «Web-клиент», необходимо обновить публикацию базы. Это можно сделать через конфигуратор, выбрав пункт «Опубликовать» в меню «Конфигурация».
3. **Проверка работоспособности**: После обновления и публикации рекомендуется протестировать работу базы, чтобы убедиться, что все изменения корректно применены и система функционирует без ошибок.
Таким образом, повторная публикация базы после обновления конфигурации является важным шагом для обеспечения корректной работы системы.
Рекомендую посмотреть здесь: https://infostart.ru/public/144441/
-
АвторСообщения