Проблемы и решения
- Сохранение файлов БЭ с версии 8.3.13.4
- Многодоговорность во входящих документах СБИС СписокXDTO
- В платформе 8.3.22 перестала работать почта
- В 8.3.13 БЭ спрятали кнопки в списках документов в "ещё" как вернуть?
- СБИС
- Шпаргалка 1С
- Обнаружено нарушение целостности системы 1С
- Пароль приложения
- Проверка установки сертификата ЭЦП организации в 1С:Бухгалтерия
- Выключение простых форм документов БЭ
- Изменение номера "Документа об отгрузке" СБИС
- Очистить расширения в базе 1C
- Изменение адреса внешней формы СБИС
- Перезапуск рабочих процессов 1С
- Как зайти под USR1CV8 на удалённый рабочий стол
- IIS 1C Отображение страницы невозможно из-за большого размера объекта запроса
Сохранение файлов БЭ с версии 8.3.13.4
Изменился способ сохранения файлов в БЭ:
в версии 8.3.13.3 нужно было выбирать файл:
В общем, теперь нужно выбирать папку, а не файл. Это непривычно, но такова воля разработчика.
Многодоговорность во входящих документах СБИС СписокXDTO
ПараметрыДоговораXDTO = ?(ТипЗнч(XMLДоговор) = Тип("СписокXDTO"),ПараметрыДоговораИзСпискаXDTO(XMLДоговор),XMLДоговор);
ДатаДоговора = ВычленитьДату(ПараметрыДоговораXDTO.ДатаОсн);
Прототип.Договор = ITSP_ВернутьЭлементСправочника("CW_ДоговорыПоГрузоперевозкам",
Новый Структура("НомерДоговора,ДатаДоговора,Наименование,Владелец,Организация,ВалютаДоговора,ВидДоговора",
ПараметрыДоговораXDTO.НомОсн,
ДатаДоговора,
ПараметрыДоговораXDTO.НомОсн+" "+Формат(ДатаДоговора,"ДФ=dd.MM.yy"),
Прототип.Контрагент,
Прототип.Организация,
Прототип.Валюта,
Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком),
СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок("НомерДоговора,Владелец,Организация,ВалютаДоговора,ВидДоговора"),Истина); // Поиск по всему, кроме наименования и даты. Мало ли может ошиблись. Это не критично
Если НЕ ЗначениеЗаполнено(Прототип.Договор) И (Поставщик = "Трипконт, ООО" ИЛИ Поставщик = "АТТ, ООО" ИЛИ Поставщик = "ПЛ, ООО" ИЛИ Поставщик = "Эвергрин, ООО" ИЛИ Поставщик = "Терминал Авто-ВМРП, ООО" ИЛИ Поставщик = "ТФЛ, ООО") Тогда
Прототип.Договор = ВернутьПоследнийДоговорБЭ(Прототип.Контрагент,Прототип.Организация,Прототип.Валюта,Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Прототип.Договор) Тогда
МассивСообщений.Добавить("Не удалось найти договор "+ПараметрыДоговораXDTO.НомОсн+" от "+Формат(ДатаДоговора,"ДФ=dd.MM.yy")+" с "+Прототип.Контрагент);
Возврат Неопределено;
КонецЕсли;
&НаСервереБезКонтекста
Функция ПараметрыДоговораИзСпискаXDTO(ОснованияСписокXDTO)
Наименьшее = Неопределено;
НаименьшееДатаОсн = Неопределено;
Для каждого С ИЗ ОснованияСписокXDTO Цикл
Если НаименьшееДатаОсн = Неопределено ИЛИ НаименьшееДатаОсн > С.ДатаОсн Тогда
НаименьшееДатаОсн = С.ДатаОсн;
Наименьшее = С;
КонецЕсли;
КонецЦикла;
Возврат Наименьшее;
КонецФункции
&НаСервереБезКонтекста
Функция ВернутьНаименьшееЗначениеПоляСписокXDTO(СписокXDTO,Поле)
Наименьшее = Неопределено;
Для каждого С ИЗ СписокXDTO Цикл
Если Наименьшее <> Неопределено И Наименьшее > С[Поле] Тогда
Наименьшее = С[Поле];
КонецЕсли;
КонецЦикла;
Возврат Наименьшее;
КонецФункции
В платформе 8.3.22 перестала работать почта
В conf.cfg добавить опцию IgnoreInternetMailServerCertificateVerificationList:
IgnoreInternetMailServerCertificateVerificationList=imap.gmail.com;smtp.gmail.com
В баг репорте ошибка описана для почты gmail, но у нас свой почтовый сервер и ошибка та же самая, и попутно было обнаружено, что и с mail.ru такая же есть ошибка, а вот Yandex.ru ошибку не дает.
Файл conf.cfg находится в папке C:\Program Files\1cv8\conf (для 64 платформы).
https://infostart.ru/1c/articles/1892304/
В 8.3.13 БЭ спрятали кнопки в списках документов в "ещё" как вернуть?
Добавление кнопок
Вернём на панель кнопку "установить период":
Теперь кнопка есть на панели:
Копирование настроек
Выполненную настройку формы списка можно скопировать остальным пользователям:
СБИС
Изменение доп номеров
Док.Файл.Документ.Номер = ПараметрыДляЭДО.НомерДокумента; //--------------------------------------------------------------------- Для каждого Вл ИЗ Контекст.СоставПакета.Вложение Цикл Попытка Если Вл.Тип = Док.Файл.Формат Тогда Вл.Название = СтрЗаменить(Вл.Название,"№ "+Вл.Номер,"№ "+ПараметрыДляЭДО.НомерДокумента); Вл.Номер = ПараметрыДляЭДО.НомерДокумента; Прервать; КонецЕсли; Исключение КонецПопытки; КонецЦикла; //--------------------------------------------------------------------- Если Док.Файл.Документ.Название = "Счет-фактура" Тогда Для каждого О ИЗ Док.Файл.Документ.Основание Цикл Если О.Название = "ДокПодтвОтгр" Тогда О.Номер = ПараметрыДляЭДО.НомерДокумента; КонецЕсли; КонецЦикла; КонецЕсли;
Шпаргалка 1С
Ссылки
https://bugboard.v8.1c.ru Публикация ошибок релизов. Зарегистрированные ошибки релизов, выяснить исправлена ли ошибка и в каком релизе. Например
https://its.1c.ru/db/updinfo Информация об обновлениях. Детальное описание изменений в выпущенных релизах.
https://wonderland.v8.1c.ru Технологический блог 1С. Новости от разработчиков платформы.
http://v8.1c.ru/predpriyatie/questions_licence.htm#mvv Вопросы по лицензированию
Потерян LicData
Следует прислать нам файл запроса лицензии формата tx_.txt, сформированный в программе через «Повторное получение лицензии» (Восстановление лицензии) с резервным пин-кодом и предполагаемыми данными об организации. Как формировать файл с данными лицензии описано в руководстве по получению программной лицензии на стр. 14-18.
Если у Вас платформа 8.2.17 и выше, то в диалоге получения лицензии нажмите «Получить лицензию», укажите регистрационный номер и активный пинкод. Далее следует нажать кнопку «Дополнительно», и убрать галочку с «Автоматически». Далее нажмите «ВОССТАНОВЛЕНИЕ», уберите галочку с «Я уверен(-а), что ключевые параметры компьютера не изменялись». И в появившемся ниже окне введите резервный пин-код. Далее введите ПРЕДПОЛАГАЕМЫЕ данные об Организации. После ввода данных об организации появится выбор получения лицензии. Вам следует выбрать «через файл». Сохранить файл tx_.txt, и выслать его нам. Мы укажем, какие данные нужно исправить.
В одном письме следует присылать один файл запроса.
Синхронизация. Недопустимая строка с указанием класса.
Не удалось подключится к другой программе: -2147221005(0x800401F3): Недопустимая строка с указанием класса
Проблема наблюдалась при синхронизации между ЗуП и бухией.
regsvr32 "C:\Program Files (x86)\1cv8\8.3.12.1685\bin\comcntr.dll"
64-х разрядная библиотека регистрируется так же:
regsvr32 "C:\Program Files\1cv8\8.3.12.1685\bin\comcntr.dll"
Иногда нужно снять регистрацию, потом зарегистрировать заново:
regsvr32 "C:\Program Files\1cv8\8.3.12.1685\bin\comcntr.dll"
regsvr32 /u "C:\Program Files\1cv8\8.3.12.1685\bin\comcntr.dll"
Выполнять под админом, то есть:
Разблокировка при автоматическом обновлении
/UC ПакетноеОбновлениеКонфигурацииИБ /C РазрешитьРаботуПользователей
Обнаружено нарушение целостности системы 1С
Инструкция из мультикей
Происходит это когда 1С обнаруживает драйвер VUSBBus.
1) наличие/отсутствие ключа HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NEWHASP ни на что не влияет;
2) чтобы произошел вылет - должна существовать служба vusbbus и обязательно двоичный файл этой службы (обычно \SystemRoot\system32\DRIVERS\vusbbus.sys);
3) если хотя бы одно из условий п.2 не выполняется - вылета нет.
- Как устранить проблему:
1. В диспетчере устройств ищем, и если есть, удаляем в Системных устройствах - Virtual Usb Bus Enumerator (желательно поставить галку Удалять программы драйвера)
2. Открываем консоль от админа
3. Проверяем наличие службы - sc query vusbbus
4. Если ошибка 1060 - все хорошо, службы нет, работать будет
5. Узнаем имя файла службы - sc qc vusbbus
6. Удаляем указанный файл (SystemRoot обычно равно C:\WINDOWS)
7. Удаляем службу - sc delete vusbbus
Остальное
Удалите эмулятор HASP. Эмуляторов существует много поэтому трудно написать универсальную инструкцию по их удалению. Можете попробовать воспользоваться следующими шагами:
Найдите и удалите файлы VUsb.sys и vusbbus.sys
Выполните команды в командной строке от имени Администратора:
loaddrv.exe -stop haspflt
loaddrv.exe -remove haspflt
del %systemroot%\system32\drivers\haspflt.sys
Рекомендуется удалить также ветки реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\haspflt\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Emulator
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Emu
Пароль приложения
Инструкция для mail.ru
https://help.mail.ru/mail/mailer/password/
Gmail сделал обязательным использование паролей приложений
С июня этого года gmail аккаунты в 1С нуждаются в перенастройке со стороны пользователя. Пользователю необходимо самостоятельно включить двухфакторную аутентификацию (к аккаунту должен быть привязан номер телефона), и получить от gmail "пароль приложения", который нужно вставить в 1С.
Вот инструкция от google регламентирующая этот порядок:
https://support.google.com/accounts/answer/185833?hl=ru
По ней надо зайти в аккаунт, настроить двухфакторную аутентификацию (телефон), и создать "пароль приложения". Полученный пароль вставить в почтовую программу (TheBat! Thunderbird 1С).



То есть сначала включаем двухфакторную аутентификацию:

Выполняем инструкции, возвращаемся в настройки аккаунта:

В безопасности появился пункт "пароли приложений"

Создаём пароль:

Вставляем его в почтовый клиент (TheBat! Thunderbird 1C)

Проверка установки сертификата ЭЦП организации в 1С:Бухгалтерия
Администрирование - Обмен электронными документами. Далее гиперссылка Настройки электронной подписи и шифрования. Вкладка Сертификаты. Показатель: "Все сертификаты". Если в списке нужного сертификата нет, то жмем Добавить - Из установленных на компе. После этого из табличной части открываем нужный сертификат. Проверяем Организацию, Пользователей (оставить пустым) и Программу.

и нажимаем "Проверить". При проверке пароль (как правило, либо пусто, либо от 1 до 8).
Если все "шарики" зелёные — хорошо.
Если нет, то нажимаем кнопку "Сохранить в файл..." (см. картинку - рядом с кнопкой "Проверить").
Затем запускаем КриптоПро (или Випнэт) и переустанавливаем сертификат из сохраненного на предыдущем шаге файла с подтяжкой к нужному контейнеру (можно поставить флаг автоматического поиска нужного контейнера).
И после этого возвращаемся в 1С и повторяем Проверку. Все шарики должны быть зелеными*.

* Если 1С на сервере, то шарики могут быть расположены в два ряда (в зависимости от условий подключения к базе): один ряд - пользовательский комп, второй - сервер.
Выключение простых форм документов БЭ
Убедитесь, что выключены простые формы списков документов:
Откройте форму заново, если она была у вас открыта.
Изменение номера "Документа об отгрузке" СБИС
//--------------------------------- Замена номера документа об отгрузке ------------------------------------
Если Док.Файл.Документ.Свойство("Основание") И ТипЗнч(Док.Файл.Документ.Основание)=Тип("Массив") Тогда
Для каждого О ИЗ Док.Файл.Документ.Основание Цикл
Если О.Название = "ДокПодтвОтгр" Тогда
О.НаимДокОтгр = СтрЗаменить(О.НаимДокОтгр,О.Номер,ПараметрыДляЭДО.НомерДокумента);
О.Номер = ПараметрыДляЭДО.НомерДокумента;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
//--------------------------------- Замена номера документа об отгрузке ------------------------------------
Очистить расширения в базе 1C
MSSQL
При чтении списка расширений в одном случае и при удалении любого из расширений в другом, возникает ошибка "ошибка формата потока" в конфигураторе. Базу удалось запустить очистив таблицу _ExtensionsInfo.
В MSSQL это можно сделать так:
USE [DB_NAME]
GO
DELETE FROM [dbo].[_ExtensionsInfo]
GO
Взято с инфостарта
Время показало, что профит от стирания таблицы _ExtensionsInfo носит временный характер (ошибка проявляется потом).
Очистка таблиц ConfigCAS и ConfigCASSave полностью удаляет расширения
USE [DB_NAME]
GO
DELETE FROM [dbo].[ConfigCAS]
GO
USE [DB_NAME]
GO
DELETE FROM [dbo].[ConfigCASSave]
GO
Ещё ссылки по теме
https://www.online-ufa.ru/content/articles/oshibka-formata-potoka-1c/
https://www.online-ufa.ru/content/articles/1c-error-ef/
В клиентском приложении
Ошибка возникала при обновлении базы, в клиентском приложении (8-9%).
Помог следующий код;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ИдентификаторыОбъектовРасширений.Ссылка КАК Ссылка
|ИЗ
| Справочник.ИдентификаторыОбъектовРасширений КАК ИдентификаторыОбъектовРасширений";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
О = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
О.ОбменДанными.Загрузка = Истина;
О.Удалить();
КонецЦикла;
Набор = РегистрыСведений.ИдентификаторыОбъектовВерсийРасширений.СоздатьНаборЗаписей();
Набор.Записать();
Изменение адреса внешней формы СБИС
При отправке, подготовке документа выходит ошибка:
Неизвестная ошибка клиента (Поле объекта не обнаружено (ВФК_ВнешняяОбработка_ВнешниеФункции_Клиент_Форма_РаботаСДокументами1С))
В модулях, где идёт обращение к "РаботаСДокументами1С" нужно заменить
Кэш.ТекущийСеанс.Формы.Получены.ВФК_ВнешняяОбработка_ВнешниеФункции_Клиент_Форма_РаботаСДокументами1С
на
Кэш.ТекущийСеанс.Формы.Получены.Получить("ВФК_ВнешняяОбработка_ВнешниеФункции_Клиент_Форма_РаботаСДокументами1С")
Перезапуск рабочих процессов 1С
Перезапуск рабочих процессов не приводит к вылету пользователей, 1С притормаживает на непродолжительное время.
Помогает при проблемах после динамического обновления (тормозит), при необходимости снизить потребление памяти.
Локальный кластер -> Свойства
Копируем интервал перезапуска, вставляем 5, нажимаем Применить:
Через 5 секунд, вставляем обратно, нажимаем Применить:
Запустится ещё один рабочий процесс 1С и начнёт забирать на себя подключения.
В данном случае, старый процесс завершится через 60 секунд:
По истечению этого времени, торможение должно пройти.
Как зайти под USR1CV8 на удалённый рабочий стол
Это может понадобиться для того, чтобы проверить/дать доступ к сетевым папкам службе 1С. Если сетевой путь требует аутентификации, то можно его ввести, обращаясь к ресурсу через проводник. При сохранении пароля в проводнике, 1С серверу будет доступен сетевой ресурс на в том числе после перезагрузки (если нет запрета на сохранение пароля).
Для того, чтобы зайти на удалённый рабочий стол USR1CV8, нужно убрать его из политик ограничения, настраиваемых по умолчанию: Добавить в группу доступа удалённых рабочих столов:
После того, как нужные ресурсы пользователю стали доступны, необходимо вернуть обратно политики, убрать из группы доступа.
IIS 1C Отображение страницы невозможно из-за большого размера объекта запроса
Request Entity Too Large
При получении файла в 22МБ пользователь вылетает из базы с ошибкой:
Ошибка HTTP 413.1 — Request Entity Too Large
Отображение страницы невозможно из-за большого размера объекта запроса.
Добрый день,
Наиболее вроятные причины:
Веб-сервер не может обработать запрос, поскольку объект запроса слишком велик. Веб-сервер не может обработать запрос, поскольку пытается согласовать сертификат клиента, но объект запроса слишком велик. Слишком длинный URL-адрес запроса или физическое сопоставление для URL-адреса (т.е. путь в физической файловой системе к содержимому URL-адреса).
Возможные решения:
Проверьте, что запрос допустим. При использовании сертификатов клиента попробуйте: Увеличить параметр system.webServer/serverRuntime@uploadReadAheadSize Настроить конечную точку SSL на согласование сертификатов клиентов в качестве части начального подтверждения SSL. (netsh http add sslcert ... clientcertnegotiation=enable)
При прямом доступе, без IIS - не вылетает.
Помогло увеличить uploadReadAheadSize до 40 МБ (возможно это не надо делать):
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/serverRuntime" -name "uploadReadAheadSize" -value 41943040
Так проверить:
Get-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/serverRuntime" -name "uploadReadAheadSize"
установить maxAllowedContentLength в 100 MB в web.config (После этого заработало):
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="1C Web-service Extension" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Program Files\1cv8\8.3.25.1546\bin\wsisapi.dll" resourceType="Unspecified" requireAccess="None" />
</handlers>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="104857600" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
Перезапуск ISS не потребовался.