Проблемы и решения

Сохранение файлов БЭ с версии 8.3.13.4

Изменился способ сохранения файлов в БЭ:
image.png

в версии 8.3.13.3 нужно было выбирать файл:
image.png

а 8.3.13.4 требует папку:
image.png

В общем, теперь нужно выбирать папку, а не файл. Это непривычно, но такова воля разработчика.

Многодоговорность во входящих документах СБИС Список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 БЭ спрятали кнопки в списках документов в "ещё" как вернуть?

Добавление кнопок

Вернём на панель кнопку "установить период":
image.png

image.png

Теперь кнопка есть на панели:

image.png

Копирование настроек

Выполненную настройку формы списка можно скопировать остальным пользователям:

image.png

image.png


СБИС

Изменение доп номеров

Док.Файл.Документ.Номер = ПараметрыДляЭДО.НомерДокумента;
	//---------------------------------------------------------------------
	Для каждого Вл ИЗ Контекст.СоставПакета.Вложение Цикл
		Попытка 
			Если Вл.Тип = Док.Файл.Формат Тогда
				Вл.Название = СтрЗаменить(Вл.Название,"№ "+Вл.Номер,"№ "+ПараметрыДляЭДО.НомерДокумента);
				Вл.Номер = ПараметрыДляЭДО.НомерДокумента;
				Прервать;
			КонецЕсли;
		Исключение
		КонецПопытки;
	КонецЦикла;
	//--------------------------------------------------------------------- 
	
	Если Док.Файл.Документ.Название = "Счет-фактура" Тогда
		Для каждого О ИЗ Док.Файл.Документ.Основание Цикл
			Если О.Название = "ДокПодтвОтгр" Тогда
				О.Номер = ПараметрыДляЭДО.НомерДокумента;				
			КонецЕсли;
		КонецЦикла;
	КонецЕсли;

Шпаргалка 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"

Выполнять под админом, то есть:

image.png

Разблокировка при автоматическом обновлении

/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\Emulato­r
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С на сервере, то шарики могут быть расположены в два ряда (в зависимости от условий подключения к базе): один ряд - пользовательский комп, второй - сервер.

Выключение простых форм документов БЭ

Убедитесь, что выключены простые формы списков документов:
image.pngimage.png
Откройте форму заново, если она была у вас открыта.

Изменение номера "Документа об отгрузке" СБИС

image.png

	//--------------------------------- Замена номера документа об отгрузке ------------------------------------
	Если Док.Файл.Документ.Свойство("Основание") И ТипЗнч(Док.Файл.Документ.Основание)=Тип("Массив")  Тогда	
		Для каждого О ИЗ Док.Файл.Документ.Основание Цикл
			Если О.Название = "ДокПодтвОтгр" Тогда
				О.НаимДокОтгр = СтрЗаменить(О.НаимДокОтгр,О.Номер,ПараметрыДляЭДО.НомерДокумента);
				О.Номер = ПараметрыДляЭДО.НомерДокумента;
				Прервать;
			КонецЕсли;	
		КонецЦикла;
	КонецЕсли;
	//--------------------------------- Замена номера документа об отгрузке ------------------------------------

Очистить расширения в базе 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С))

image.png

В модулях, где идёт обращение к "РаботаСДокументами1С" нужно заменить

Кэш.ТекущийСеанс.Формы.Получены.ВФК_ВнешняяОбработка_ВнешниеФункции_Клиент_Форма_РаботаСДокументами1С

на

Кэш.ТекущийСеанс.Формы.Получены.Получить("ВФК_ВнешняяОбработка_ВнешниеФункции_Клиент_Форма_РаботаСДокументами1С")

Перезапуск рабочих процессов 1С

Перезапуск рабочих процессов не приводит к вылету пользователей, 1С притормаживает на непродолжительное время. 
Помогает при проблемах после динамического обновления (тормозит), при необходимости снизить потребление памяти.

Локальный кластер -> Свойства
image.png
Копируем интервал перезапуска, вставляем 5, нажимаем Применить:
image.png
Через 5 секунд, вставляем обратно, нажимаем Применить:
image.png
Запустится ещё один рабочий процесс 1С и начнёт забирать на себя подключения.
В данном случае, старый процесс завершится через 60 секунд:
image.png
По истечению этого времени, торможение должно пройти.

Как зайти под USR1CV8 на удалённый рабочий стол

Это может понадобиться для того, чтобы проверить/дать доступ к сетевым папкам службе 1С. Если сетевой путь требует аутентификации, то можно его ввести, обращаясь к ресурсу через проводник. При сохранении пароля в проводнике, 1С серверу будет доступен сетевой ресурс на в том числе после перезагрузки (если нет запрета на сохранение пароля).

Для того, чтобы зайти на удалённый рабочий стол USR1CV8, нужно убрать его из политик ограничения, настраиваемых по умолчанию: image.pngДобавить в группу доступа удалённых рабочих столов:
image.png
После того, как нужные ресурсы пользователю стали доступны, необходимо вернуть обратно политики, убрать из группы доступа.