Типовые проблемы с внешней обработкой — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
(Проблемы при запуске обработки, связанные с конфигурацией 1С)
(Проблемы после запуска обработки)
 
(не показаны 23 промежуточные версии этого же участника)
Строка 18: Строка 18:
  
 
: '''Как диагностировать:''' В окне авторизации выдается ошибка «Ошибка WinHTTP Не удается разрешить имя или адрес сервера»:
 
: '''Как диагностировать:''' В окне авторизации выдается ошибка «Ошибка WinHTTP Не удается разрешить имя или адрес сервера»:
   
+
  [[Файл:НетИнтернета.png]]
 
: '''Как решать:''' Администратор должен сделать доступ в интернет либо, если доступ в интернет на данном компьютере не предполагается, переключаемся в режим работы «через каталог». Для этого нажимаем «Настройка соединения» и в открывшемся окне выбираем способ обмена «Каталог»:
 
: '''Как решать:''' Администратор должен сделать доступ в интернет либо, если доступ в интернет на данном компьютере не предполагается, переключаемся в режим работы «через каталог». Для этого нажимаем «Настройка соединения» и в открывшемся окне выбираем способ обмена «Каталог»:
   
+
  [[Файл:НастройкаСпособаОбменаКаталог.png]]
 
Дополнительно устанавливаем и настраиваем СБИС Коннект.
 
Дополнительно устанавливаем и настраиваем СБИС Коннект.
  
Строка 26: Строка 26:
 
1. '''Проблема:''' Конфигурация переименована
 
1. '''Проблема:''' Конфигурация переименована
 
: '''Как диагностировать:''' Выдается протокол проверки файлов настроек, в котором название конфигурации не соответствует выбранным файлам настроек.
 
: '''Как диагностировать:''' Выдается протокол проверки файлов настроек, в котором название конфигурации не соответствует выбранным файлам настроек.
   
+
  [[Файл:НастройкиНеОтНужнойКонфигурации.png]]
 
: '''Как решать:''' Установить настройки от более подходящей по названию конфигурации (либо попробовать все настройки по очереди)
 
: '''Как решать:''' Установить настройки от более подходящей по названию конфигурации (либо попробовать все настройки по очереди)
   
+
  [[Файл:ВыборНужнойКонфигурации.png]]
 
2. '''Проблема:''' В конфигурации отсутствует реестр документов
 
2. '''Проблема:''' В конфигурации отсутствует реестр документов
 
: '''Как диагностировать:''' Выдается протокол проверки с ошибкой вида: «Неправильный текст запроса … Таблица не найдена «Документ.[Имя документа]»…».
 
: '''Как диагностировать:''' Выдается протокол проверки с ошибкой вида: «Неправильный текст запроса … Таблица не найдена «Документ.[Имя документа]»…».
+
[[Файл:ОтсутствуетРеестрДокументов.png]]
: '''Как решать:''' Так как данного реестра в конфигурации нет, то и отправлять такие документы в электронном виде не нужно, поэтому просто удаляем файл настроек с ошибкой.
+
: '''Как решать:''' Если клиенту не требуется отправка документов из данного реестра, то просто отключите данный файл настроек.
 
3. '''Проблема:''' В конфигурации отсутствует регистр сведений для хранения статусов документов и способа доставки документов контрагенту.
 
3. '''Проблема:''' В конфигурации отсутствует регистр сведений для хранения статусов документов и способа доставки документов контрагенту.
 
: '''Как диагностировать:''' Выдается протокол проверки с ошибкой вида: «Неправильный текст запроса … Таблица не найдена «РегистрСведений.[Имя регистра]»…»:
 
: '''Как диагностировать:''' Выдается протокол проверки с ошибкой вида: «Неправильный текст запроса … Таблица не найдена «РегистрСведений.[Имя регистра]»…»:
   
+
[[Файл:ОшибкаСРегистрами.jpg]]  
  
 
: '''Как решать:'''  
 
: '''Как решать:'''  
 
* Исправляем ошибку в запросе в пользовательском файле настроек. Удаляем все левые соединения, в которых указан данный регистр сведений и все поля и условия, связанные с регистром:
 
* Исправляем ошибку в запросе в пользовательском файле настроек. Удаляем все левые соединения, в которых указан данный регистр сведений и все поля и условия, связанные с регистром:
<source lang="1csql">
+
 
 
ВЫБРАТЬ РАЗРЕШЕННЫЕ  
 
ВЫБРАТЬ РАЗРЕШЕННЫЕ  
РеализацияТоваровУслуг.Ссылка,  
+
: РеализацияТоваровУслуг.Ссылка,  
РеализацияТоваровУслуг.Проведен,  
+
: РеализацияТоваровУслуг.Проведен,  
РеализацияТоваровУслуг.ПометкаУдаления,  
+
: РеализацияТоваровУслуг.ПометкаУдаления,  
РеализацияТоваровУслуг.Дата,  
+
: РеализацияТоваровУслуг.Дата,  
РеализацияТоваровУслуг.Номер,  
+
: РеализацияТоваровУслуг.Номер,  
РеализацияТоваровУслуг.Контрагент.Наименование КАК Контрагент,  
+
: РеализацияТоваровУслуг.Контрагент.Наименование КАК Контрагент,  
РеализацияТоваровУслуг.Организация.Наименование КАК Организация,
+
: РеализацияТоваровУслуг.Организация.Наименование КАК Организация,
ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(1000)) КАК Комментарий,
+
: ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(1000)) КАК Комментарий,
РеализацияТоваровУслуг.Склад.Наименование КАК Склад,
+
: РеализацияТоваровУслуг.Склад.Наименование КАК Склад,
РеализацияТоваровУслуг.СуммаДокумента
+
: РеализацияТоваровУслуг.СуммаДокумента
 
ПОМЕСТИТЬ ВТ_Реализация  
 
ПОМЕСТИТЬ ВТ_Реализация  
 
ИЗ
 
ИЗ
Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
+
: Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
+
: <strike>ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        ПО РеализацияТоваровУслуг.Контрагент = ЗначенияСвойствОбъектов.Объект И ЗначенияСвойствОбъектов.Свойство.Наименование = "СБИС_СпособДоставки"
+
:      ПО РеализацияТоваровУслуг.Контрагент = ЗначенияСвойствОбъектов.Объект И ЗначенияСвойствОбъектов.Свойство.Наименование = "СБИС_СпособДоставки"</strike>
 
ГДЕ  
 
ГДЕ  
((РеализацияТоваровУслуг.Дата МЕЖДУ &amp;ДатаНач И &amp;ДатаКон) ИЛИ (НЕ &amp;ЗначениеДатаКонЗаполнено И РеализацияТоваровУслуг.Дата &gt; &amp;ДатаНач))  
+
: ((РеализацияТоваровУслуг.Дата МЕЖДУ &amp;ДатаНач И &amp;ДатаКон) ИЛИ (НЕ &amp;ЗначениеДатаКонЗаполнено И РеализацияТоваровУслуг.Дата &gt; &amp;ДатаНач))  
И ((РеализацияТоваровУслуг.Контрагент = &amp;Контрагент) ИЛИ (РеализацияТоваровУслуг.Контрагент В Иерархии(&amp;Контрагент)) ИЛИ (НЕ &amp;ЗначениеКонтрагентЗаполнено))  
+
: И ((РеализацияТоваровУслуг.Контрагент = &amp;Контрагент) ИЛИ (РеализацияТоваровУслуг.Контрагент В Иерархии(&amp;Контрагент)) ИЛИ (НЕ &amp;ЗначениеКонтрагентЗаполнено))  
И ((РеализацияТоваровУслуг.Организация = &amp;ТекущаяОрганизация) ИЛИ (НЕ &amp;ЗначениеТекущаяОрганизацияЗаполнено))
+
: И ((РеализацияТоваровУслуг.Организация = &amp;ТекущаяОрганизация) ИЛИ (НЕ &amp;ЗначениеТекущаяОрганизацияЗаполнено))
И ((РеализацияТоваровУслуг.Ссылка = &amp;ТекущийДокумент)  ИЛИ (НЕ &amp;ЗначениеТекущийДокументЗаполнено))
+
: И ((РеализацияТоваровУслуг.Ссылка = &amp;ТекущийДокумент)  ИЛИ (НЕ &amp;ЗначениеТекущийДокументЗаполнено))
И (&amp;КонтрагентПодключен="" ИЛИ &amp;КонтрагентПодключен=ЗначенияСвойствОбъектов.Значение.Наименование)
+
: <strike>И (&amp;КонтрагентПодключен="" ИЛИ &amp;КонтрагентПодключен=ЗначенияСвойствОбъектов.Значение.Наименование)</strike>
И (&amp;Ответственный=Значение(Справочник.Пользователи.ПустаяСсылка) ИЛИ &amp;Ответственный=РеализацияТоваровУслуг.Ответственный)
+
: И (&amp;Ответственный=Значение(Справочник.Пользователи.ПустаяСсылка) ИЛИ &amp;Ответственный=РеализацияТоваровУслуг.Ответственный)
И НЕ РеализацияТоваровУслуг.ПометкаУдаления;
+
: И НЕ РеализацияТоваровУслуг.ПометкаУдаления;
 
ВЫБРАТЬ  
 
ВЫБРАТЬ  
ВТ_Реализация.Ссылка КАК Документ,
+
: ВТ_Реализация.Ссылка КАК Документ,
ВТ_Реализация.Проведен КАК ДокументПроведен,
+
: ВТ_Реализация.Проведен КАК ДокументПроведен,
ВТ_Реализация.ПометкаУдаления КАК ДокументПометкаУдаления,  
+
: ВТ_Реализация.ПометкаУдаления КАК ДокументПометкаУдаления,  
ВТ_Реализация.Дата КАК ДатаДокумента,
+
: ВТ_Реализация.Дата КАК ДатаДокумента,
ВТ_Реализация.Номер КАК НомерДокумента,  
+
: ВТ_Реализация.Номер КАК НомерДокумента,  
ВТ_Реализация.Контрагент КАК Контрагент,  
+
: ВТ_Реализация.Контрагент КАК Контрагент,  
ВТ_Реализация.Организация КАК Организация,
+
: ВТ_Реализация.Организация КАК Организация,
ВТ_Реализация.Комментарий КАК Комментарий,
+
: ВТ_Реализация.Комментарий КАК Комментарий,
ВТ_Реализация.Склад КАК Склад,
+
: ВТ_Реализация.Склад КАК Склад,
ВТ_Реализация.СуммаДокумента КАК СуммаДокумента,  
+
: ВТ_Реализация.СуммаДокумента КАК СуммаДокумента,  
СвязьДокументов.Ссылка КАК Приложение,  
+
: СвязьДокументов.Ссылка КАК Приложение,  
СвязьДокументов.Ссылка.СуммаДокумента КАК СуммаПриложения,  
+
: СвязьДокументов.Ссылка.СуммаДокумента КАК СуммаПриложения,  
СвязьДокументов.Ссылка.Дата КАК ДатаПриложения,  
+
: СвязьДокументов.Ссылка.Дата КАК ДатаПриложения,  
СвязьДокументов.Ссылка.Номер КАК НомерПриложения,
+
: СвязьДокументов.Ссылка.Номер КАК НомерПриложения<strike>,
ЗначенияСвойствОбъектов.Значение КАК СтатусЭД
+
: ЗначенияСвойствОбъектов.Значение КАК СтатусЭД</strike>
 
ИЗ  
 
ИЗ  
ВТ_Реализация  
+
: ВТ_Реализация  
ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный.ДокументыОснования КАК СвязьДокументов
+
: ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный.ДокументыОснования КАК СвязьДокументов
ПО ВТ_Реализация.Ссылка = СвязьДокументов.ДокументОснование
+
: ПО ВТ_Реализация.Ссылка = СвязьДокументов.ДокументОснование
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
+
: <strike>ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ПО ВТ_Реализация.Ссылка = ЗначенияСвойствОбъектов.Объект И ЗначенияСвойствОбъектов.Свойство.Наименование = "ДокументСБИС_Статус"  
+
: ПО ВТ_Реализация.Ссылка = ЗначенияСвойствОбъектов.Объект И ЗначенияСвойствОбъектов.Свойство.Наименование = "ДокументСБИС_Статус"</strike>
 
УПОРЯДОЧИТЬ ПО
 
УПОРЯДОЧИТЬ ПО
 
ДатаДокумента, НомерДокумента
 
ДатаДокумента, НомерДокумента
</source>
+
 
 
* Указываем, что статусы документов будут храниться в dbf-файле. Для этого из файла настроек конфигурации выносим в пользовательский файл настроек параметр «ФормаРаботыСоСтатусами»:
 
* Указываем, что статусы документов будут храниться в dbf-файле. Для этого из файла настроек конфигурации выносим в пользовательский файл настроек параметр «ФормаРаботыСоСтатусами»:
 
<source lang="xml">
 
<source lang="xml">
Строка 99: Строка 99:
 
: '''Как диагностировать:''' Выдается протокол проверки со списком ненайденных реквизитов и справочной информацией.
 
: '''Как диагностировать:''' Выдается протокол проверки со списком ненайденных реквизитов и справочной информацией.
 
: Например, не найден реквизит «ДоговорКонтрагента» в документе «РеализацияТоваровУслуг»:
 
: Например, не найден реквизит «ДоговорКонтрагента» в документе «РеализацияТоваровУслуг»:
+
[[Файл:ОтсутствуетРеквизит.png]]
 
: '''Как решать:''' В справочной информации или в конфигурации (если есть доступ) смотрим, где лежат ненайденные значения.
 
: '''Как решать:''' В справочной информации или в конфигурации (если есть доступ) смотрим, где лежат ненайденные значения.
 
: В протоколе проверки ищем таблицу РеализацияТоваровУслуг (в тексте ошибки указано название таблицы доступных реквизитов). В таблице ищем реквизит по смыслу похожий на "ДоговорКонтрагента".  
 
: В протоколе проверки ищем таблицу РеализацияТоваровУслуг (в тексте ошибки указано название таблицы доступных реквизитов). В таблице ищем реквизит по смыслу похожий на "ДоговорКонтрагента".  
   
+
[[Файл:СправочнаяИнформация.png]]  
 
: Видим, что есть реквизит "Договор". В пользовательском файле настроек вместо параметра [Документ]. ДоговорКонтрагента пишем [Документ].Договор.
 
: Видим, что есть реквизит "Договор". В пользовательском файле настроек вместо параметра [Документ]. ДоговорКонтрагента пишем [Документ].Договор.
  
 
=Проблемы после запуска обработки=
 
=Проблемы после запуска обработки=
# Проблема: Выгружаются неправильные значения
+
1. '''Проблема:''' Выгружаются неправильные значения
Как диагностировать: Данные в печатной форме 1С отличаются от данных в нашей визуализации.
+
: '''Как диагностировать:''' Данные в печатной форме 1С отличаются от данных в нашей визуализации.
Например, отличается наименование поставщика:
+
: Например, отличается наименование поставщика:
+
[[Файл:РазныеЗначенияПриПечати.png]]
Как решать: Ищем нужное значение в карточке документа (либо в карточках, которые можно открыть из документа – карточка Организации, Контрагента, Договора и т.д.).
+
: '''Как решать:''' Ищем нужное значение в карточке документа (либо в карточках, которые можно открыть из документа – карточка Организации, Контрагента, Договора и т.д.).
В нашем случае открываем карточку организации, т.к. поставщик в случае реализации – это наша организация:
+
: В нашем случае открываем карточку организации, т.к. поставщик в случае реализации – это наша организация:
+
[[Файл:ОткрытьКарточкуОрганизацииИзДокумента.png]]
 
    
 
    
Видим, что в печатной форме 1С наименование поставщика берется из поля «Сокращенное наименование (по учредительным документам)».
+
: Видим, что в печатной форме 1С наименование поставщика берется из поля «Сокращенное наименование (по учредительным документам)».
Теперь нам нужно понять, как называется данный реквизит в конфигурации.
+
: Теперь нам нужно понять, как называется данный реквизит в конфигурации.
Для этого:
+
: Для этого:
Открываем конфигурацию, находим документ «РеализацияТоваровУслуг» и открываем форму документа. В форме смотрим свойства поля Организация, из которого мы открывали карточку:
+
* Открываем конфигурацию, находим документ «РеализацияТоваровУслуг» и открываем форму документа. В форме смотрим свойства поля Организация, из которого мы открывали карточку:
+
[[Файл:ГдеЛежитОрганизация.png]]
 +
 
 
Видим, что тип значения данного поля – справочник Организации.
 
Видим, что тип значения данного поля – справочник Организации.
Находим в конфигурации справочник Организации и открываем форму элемента. В форме смотрим свойства поля, в котором лежит нужное нам наименование:
+
* Находим в конфигурации справочник Организации и открываем форму элемента. В форме смотрим свойства поля, в котором лежит нужное нам наименование:
   
+
  [[Файл:ГдеЛежитНаименованиеОрганизации.png]]
Видим, что данные в этом поле заполняются из реквизита «НаименованиеСокращенное».
+
 
Создаем пользовательский файл настроек для выгрузки реализации и выносим туда параметр с наименованием организации:
+
Видим, что данные в этом поле заполняются из реквизита «НаименованиеСокращенное».
 +
* Создаем пользовательский файл настроек для выгрузки реализации и выносим туда параметр с наименованием организации:
 +
<source lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
<?xml version="1.0" encoding="utf-8"?>
 
<ини>
 
<ини>
 
<мФайл Имя="ЭДОНакл">
 
<мФайл Имя="ЭДОНакл">
 
        <мСторона Имя="Отправитель">
 
        <мСторона Имя="Отправитель">
<Сторона_Наименование>[Сторона].НаименованиеСокращенное</Сторона_Наименование>
+
<Сторона_Наименование>[Сторона].НаименованиеСокращенное</Сторона_Наименование>
 
        </мСторона>
 
        </мСторона>
 
</мФайл>
 
</мФайл>
 
</ини>
 
</ини>
 +
</source>
 
Структура вложенности узлов должна быть соблюдена, как в основном файле настроек.
 
Структура вложенности узлов должна быть соблюдена, как в основном файле настроек.
# Проблема: Нужна дополнительная информация в документе
+
 
Как диагностировать: В печатной форме 1С присутствует дополнительная информация, которой нет в нашей визуализации.
+
2. '''Проблема:''' Нужна дополнительная информация в печатной форме документа
Как решать:
+
: '''Как диагностировать:''' В печатной форме 1С присутствует дополнительная информация, которой нет в нашей визуализации.
Чтобы выгрузить любую дополнительную информацию, в пользовательский файл настроек добавляются параметры. Существует особая группа параметров, которые автоматически попадают в печатную форму документа:  
+
: '''Как решать:'''
*ИнфШапка - значение параметра отображается в шапке документа
+
: Чтобы выгрузить любую дополнительную информацию, в пользовательский файл настроек добавляются параметры. Существует особая группа параметров, которые автоматически попадают в печатную форму документа (Дополнительно можно почитать [[Настройка внешней обработки СБИС для 1С 8.х#Визуализация дополнительной информации|здесь]]):  
*ИнфПередТабл - значение параметра отображается перед табличной частью документа
+
* ИнфШапка - значение параметра отображается в шапке документа
*ИнфПослеТабл - значение параметра отображается после табличной части документа
+
* ИнфПередТабл - значение параметра отображается перед табличной частью документа
*ИнфПодвал - значение параметра отображается в подвале документа
+
* ИнфПослеТабл - значение параметра отображается после табличной части документа
Таким образом решить проблему без изменения визуализации мы можем только в случае, если дополнительная информация в печатной форме клиента выводится в одном из перечисленных мест.
+
* ИнфПодвал - значение параметра отображается в подвале документа
Например, клиент хочет в счет-фактуре перед табличной частью видеть название договора. В каком реквизите хранится это название, определяем так же, как в п.1 определяли наименование организации.
+
: Таким образом решить проблему без изменения визуализации мы можем только в случае, если дополнительная информация в печатной форме клиента выводится в одном из перечисленных мест.
В этом случае в пользовательский файл настроек добавляется параметр "ИнфПередТабл":  
+
: Например, клиент хочет в счет-фактуре перед табличной частью видеть название договора. В каком реквизите хранится это название, определяем так же, как в п.1 определяли наименование организации.
 +
: В этом случае в пользовательский файл настроек добавляется параметр "ИнфПередТабл":  
 +
<source lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
<?xml version="1.0" encoding="utf-8"?>
 
<ини>
 
<ини>
Строка 153: Строка 159:
 
     </мФайл>
 
     </мФайл>
 
</ини>
 
</ини>
В результате получим:
+
</source>
+
: В результате получим:
# Проблема: Нужна своя визуализация документа.
+
[[Файл:ВизуализацияИнфПередТабл.png]]
Как диагностировать: Печатная форма документа в 1С сильно отличается от нашей и клиент настаивает, что стандартная форма не подходит.
+
 
Как решать: Заказываем визуализацию в отделе внедрения ЭДО. По готовности добавляем в пользовательский файл настроек идентификатор визуализации в параметр Файл_КодФормы:
+
3. '''Проблема:''' Нужна своя визуализация документа.
 +
: '''Как диагностировать:''' Печатная форма документа в 1С сильно отличается от нашей и клиент настаивает, что стандартная форма не подходит.
 +
: '''Как решать:''' Заказываем визуализацию в отделе внедрения ЭДО. По готовности добавляем в пользовательский файл настроек идентификатор визуализации в параметр Файл_КодФормы:
 +
<source lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
<?xml version="1.0" encoding="utf-8"?>
 
<ини>
 
<ини>
Строка 164: Строка 173:
 
     </мФайл>
 
     </мФайл>
 
</ини>
 
</ини>
Идентификатор записывается в одинарных кавычках.
+
</source>
# Проблема: Медленно работает отправка через SDK.
+
: Идентификатор записывается в одинарных кавычках.
Как диагностировать: Клиента не устраивает скорость отправки большого количества документов.
+
: Если кроме изменения формы новая визуализация должна содержать значения, отсутствующие в xml файле, то недостающие данные можно добавить в xml файл при помощи [[Настройка внешней обработки СБИС для 1С 8.х#Добавление параметра в выгружаемый файл|параметров документа или параметров строки табличной части]].
Как решать: На вкладке Настройки в обработке указываем способ обмена «Каталог». Устанавливаем и настраиваем СБИС Коннект. Каталог обмена, указанный в обработке должен соответствовать рабочему каталогу СБИС Коннекта.
+
 
В настройках СБИС Коннекта необходимо указать формат «Документ (*.native.xml)» для исходящих документов, входящих и статусов:
+
4. '''Проблема:''' Медленно работает отправка через SDK.
+
: '''Как диагностировать:''' Клиента не устраивает скорость отправки большого количества документов.
# Проблема: Нет драйвера для работы с dbf - файлами, используемого по умолчанию (Microsoft dBASE Driver).
+
: '''Как решать:''' Если клиент за один раз отправляет несколько тысяч документов, имеет смысл предложить отправку через коннект. В этом режиме обработка быстро выгрузит на диск необходимые файлы и в 1С можно будет продолжить работу. А СБИС Коннект в фоновом режиме будет отправлять файлы и не мешать бухгалтеру работать в 1С.
Как диагностировать: При открытии полученных документов возникает ошибка: «Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers):[Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию».
+
: На вкладке Настройки в обработке указываем способ обмена «Каталог». Устанавливаем и настраиваем СБИС Коннект. Каталог обмена, указанный в обработке должен соответствовать рабочему каталогу СБИС Коннекта.
Как решать: Драйвер используется при работе с DBF-файлами, в которых хранится сопоставление номенклатуры (нашей и контрагента). Есть два варианта решения проблемы:
+
: В настройках СБИС Коннекта необходимо указать формат «Документ (*.native.xml)» для исходящих документов, входящих и статусов:
При наличии другого драйвера прописать строку подключения в пользовательском файле настроек конфигурации. Например:
+
[[Файл:НастройкаКоннекта.png]]
 +
 
 +
5. '''Проблема:''' Нет драйвера для работы с dbf - файлами, используемого по умолчанию (Microsoft dBASE Driver).
 +
: '''Как диагностировать:''' При открытии полученных документов возникает ошибка: «Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers):[Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию».
 +
: '''Как решать:''' Драйвер используется при работе с DBF-файлами, в которых хранится сопоставление номенклатуры (нашей и контрагента). Есть два варианта решения проблемы:
 +
* При наличии другого драйвера прописать строку подключения в пользовательском файле настроек конфигурации. Например:
 +
<source lang="xml">
 
<СтрокаПодключенияДБФ>'Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties="DBASE IV;";Data Source='</СтрокаПодключенияДБФ>
 
<СтрокаПодключенияДБФ>'Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties="DBASE IV;";Data Source='</СтрокаПодключенияДБФ>
В процессе работы обработка к этой строке в конце дописывает путь к каталогу с нужным dbf-файлом, в результате получается полная строка подключения, например:
+
</source>
'Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties="DBASE IV;";Data Source=C:\Sbis1C\НоменклатураПоставщика\6000000001\'
+
: В процессе работы обработка к этой строке в конце дописывает путь к каталогу с нужным dbf-файлом, в результате получается полная строка подключения, например:
Наличие драйверов можно посмотреть в меню «Пуск/Панель управления/Администрирование/Источники данных ODBC»
+
: 'Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties="DBASE IV;";Data Source=C:\Sbis1C\НоменклатураПоставщика\6000000001\'
Если нет подходящего драйвера, то можно воспользоваться штатными местами для хранения сопоставления номенклатуры в 1С. В зависимости от конфигурации это может быть регистр сведений «НоменклатураКонтрагентов» или справочник «НоменклатураПоставщиков».  
+
: Наличие драйверов можно посмотреть в меню «Пуск/Панель управления/Администрирование/Источники данных ODBC»
Чтобы переключить хранение сопоставления номенклатуры с DBF на регистр или справочник, выносим в пользовательский файл настроек конфигурации параметр «ФормаРаботыСНоменклатуройПоставщика». Если в конфигурации присутствует регистр сведений «НоменклатураКонтрагентов», то указываем форму работы «СопоставлениеНоменклатуры_Регистры»:
+
* Если нет подходящего драйвера, то можно воспользоваться штатными местами для хранения сопоставления номенклатуры в 1С. В зависимости от конфигурации это может быть регистр сведений «НоменклатураКонтрагентов» или справочник «НоменклатураПоставщиков».  
 +
: Чтобы переключить хранение сопоставления номенклатуры с DBF на регистр или справочник, выносим в пользовательский файл настроек конфигурации параметр «ФормаРаботыСНоменклатуройПоставщика». Если в конфигурации присутствует регистр сведений «НоменклатураКонтрагентов», то указываем форму работы «СопоставлениеНоменклатуры_Регистры»:
 +
<source lang="xml">
 
<ФормаРаботыСНоменклатуройПоставщика>'СопоставлениеНоменклатуры_Регистры'</ФормаРаботыСНоменклатуройПоставщика>
 
<ФормаРаботыСНоменклатуройПоставщика>'СопоставлениеНоменклатуры_Регистры'</ФормаРаботыСНоменклатуройПоставщика>
Если в конфигурации присутствует справочник «НоменклатураПоставщиков», то указываем форму работы «СопоставлениеНоменклатуры_Справочники»:
+
</source>
 +
: Если в конфигурации присутствует справочник «НоменклатураПоставщиков», то указываем форму работы «СопоставлениеНоменклатуры_Справочники»:
 +
<source lang="xml">
 
<ФормаРаботыСНоменклатуройПоставщика>'СопоставлениеНоменклатуры_Справочники’</ФормаРаботыСНоменклатуройПоставщика>
 
<ФормаРаботыСНоменклатуройПоставщика>'СопоставлениеНоменклатуры_Справочники’</ФормаРаботыСНоменклатуройПоставщика>
Понять, какую из двух форм указать, можно не открывая конфигурацию 1С, а по параметру «НоменклатураПоставщиков» в стандартном файле настроек конфигурации. В этом параметре указана либо ссылка на регистр сведений, либо ссылка на справочник.  
+
</source>
 +
: Понять, какую из двух форм указать, можно не открывая конфигурацию 1С, а по параметру «НоменклатураПоставщиков» в стандартном файле настроек конфигурации. В этом параметре указана либо ссылка на регистр сведений, либо ссылка на справочник.  
  
  

Текущая версия на 17:59, 7 октября 2015

Проблемы при запуске обработки, не связанные с конфигурацией 1С

1. Проблема: Не хватает прав в Windows на регистрацию SDK

Как диагностировать: При запуске выдаются ошибки: «Не зарегистрирована ActiveX компонента SBIS.Docflow» или «Не удалось зарегистрировать новую версию ActiveX компоненты SBIS.Docflow», обработка закрывается.
Как решать: Системный администратор клиента должен дать пользователю права на регистрацию, либо сам зарегистрировать Sbis3SDK.dll (зайти на компьютер пользователя с правами администратора и запустить внешнюю обработку).

2. Проблема: Не хватает прав в Windows на сохранение файлов настроек в каталог

Как диагностировать: Выдается ошибка «Каталог настроек [Имя каталога] не доступен (с сервера для клиент-серверной версии)»
Как решать: Системный администратор клиента должен дать пользователю права на указанный каталог. Либо дать права на любой другой каталог и указать его в качестве каталога настроек на вкладке «Файлы настроек» в обработке. Внимание! Для клиент-серверной 1С, работающей в управляемом режиме, каталог указывается на сервере. То есть, если указан путь C:\Sbis1C – это локальный путь на сервере и именно туда надо дать доступ, либо указать какой-то сетевой каталог, который доступен с сервера.

3. Проблема: Не хватает прав в 1С на запуск обработки через меню «Файл/Открыть».

Как диагностировать: Выдается ошибка «Нарушение прав доступа», обработка не запускается.
Как решать: Администратор должен добавить обработку в список внешних обработок для данного пользователя, либо, если это возможно, добавить пользователю права «Дополнительное право открытия внешних отчетов и обработок».

4. Проблема: Нет доступа в интернет.

Как диагностировать: В окне авторизации выдается ошибка «Ошибка WinHTTP Не удается разрешить имя или адрес сервера»:
НетИнтернета.png
Как решать: Администратор должен сделать доступ в интернет либо, если доступ в интернет на данном компьютере не предполагается, переключаемся в режим работы «через каталог». Для этого нажимаем «Настройка соединения» и в открывшемся окне выбираем способ обмена «Каталог»:
НастройкаСпособаОбменаКаталог.png

Дополнительно устанавливаем и настраиваем СБИС Коннект.

Проблемы при запуске обработки, связанные с конфигурацией 1С

1. Проблема: Конфигурация переименована

Как диагностировать: Выдается протокол проверки файлов настроек, в котором название конфигурации не соответствует выбранным файлам настроек.
НастройкиНеОтНужнойКонфигурации.png
Как решать: Установить настройки от более подходящей по названию конфигурации (либо попробовать все настройки по очереди)
ВыборНужнойКонфигурации.png 

2. Проблема: В конфигурации отсутствует реестр документов

Как диагностировать: Выдается протокол проверки с ошибкой вида: «Неправильный текст запроса … Таблица не найдена «Документ.[Имя документа]»…».

ОтсутствуетРеестрДокументов.png

Как решать: Если клиенту не требуется отправка документов из данного реестра, то просто отключите данный файл настроек.

3. Проблема: В конфигурации отсутствует регистр сведений для хранения статусов документов и способа доставки документов контрагенту.

Как диагностировать: Выдается протокол проверки с ошибкой вида: «Неправильный текст запроса … Таблица не найдена «РегистрСведений.[Имя регистра]»…»:

ОшибкаСРегистрами.jpg

Как решать:
  • Исправляем ошибку в запросе в пользовательском файле настроек. Удаляем все левые соединения, в которых указан данный регистр сведений и все поля и условия, связанные с регистром:

ВЫБРАТЬ РАЗРЕШЕННЫЕ

РеализацияТоваровУслуг.Ссылка,
РеализацияТоваровУслуг.Проведен,
РеализацияТоваровУслуг.ПометкаУдаления,
РеализацияТоваровУслуг.Дата,
РеализацияТоваровУслуг.Номер,
РеализацияТоваровУслуг.Контрагент.Наименование КАК Контрагент,
РеализацияТоваровУслуг.Организация.Наименование КАК Организация,
ВЫРАЗИТЬ(РеализацияТоваровУслуг.Комментарий КАК СТРОКА(1000)) КАК Комментарий,
РеализацияТоваровУслуг.Склад.Наименование КАК Склад,
РеализацияТоваровУслуг.СуммаДокумента

ПОМЕСТИТЬ ВТ_Реализация ИЗ

Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ПО РеализацияТоваровУслуг.Контрагент = ЗначенияСвойствОбъектов.Объект И ЗначенияСвойствОбъектов.Свойство.Наименование = "СБИС_СпособДоставки"

ГДЕ

((РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон) ИЛИ (НЕ &ЗначениеДатаКонЗаполнено И РеализацияТоваровУслуг.Дата > &ДатаНач))
И ((РеализацияТоваровУслуг.Контрагент = &Контрагент) ИЛИ (РеализацияТоваровУслуг.Контрагент В Иерархии(&Контрагент)) ИЛИ (НЕ &ЗначениеКонтрагентЗаполнено))
И ((РеализацияТоваровУслуг.Организация = &ТекущаяОрганизация) ИЛИ (НЕ &ЗначениеТекущаяОрганизацияЗаполнено))
И ((РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент) ИЛИ (НЕ &ЗначениеТекущийДокументЗаполнено))
И (&КонтрагентПодключен="" ИЛИ &КонтрагентПодключен=ЗначенияСвойствОбъектов.Значение.Наименование)
И (&Ответственный=Значение(Справочник.Пользователи.ПустаяСсылка) ИЛИ &Ответственный=РеализацияТоваровУслуг.Ответственный)
И НЕ РеализацияТоваровУслуг.ПометкаУдаления;

ВЫБРАТЬ

ВТ_Реализация.Ссылка КАК Документ,
ВТ_Реализация.Проведен КАК ДокументПроведен,
ВТ_Реализация.ПометкаУдаления КАК ДокументПометкаУдаления,
ВТ_Реализация.Дата КАК ДатаДокумента,
ВТ_Реализация.Номер КАК НомерДокумента,
ВТ_Реализация.Контрагент КАК Контрагент,
ВТ_Реализация.Организация КАК Организация,
ВТ_Реализация.Комментарий КАК Комментарий,
ВТ_Реализация.Склад КАК Склад,
ВТ_Реализация.СуммаДокумента КАК СуммаДокумента,
СвязьДокументов.Ссылка КАК Приложение,
СвязьДокументов.Ссылка.СуммаДокумента КАК СуммаПриложения,
СвязьДокументов.Ссылка.Дата КАК ДатаПриложения,
СвязьДокументов.Ссылка.Номер КАК НомерПриложения,
ЗначенияСвойствОбъектов.Значение КАК СтатусЭД

ИЗ

ВТ_Реализация
ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный.ДокументыОснования КАК СвязьДокументов
ПО ВТ_Реализация.Ссылка = СвязьДокументов.ДокументОснование
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ПО ВТ_Реализация.Ссылка = ЗначенияСвойствОбъектов.Объект И ЗначенияСвойствОбъектов.Свойство.Наименование = "ДокументСБИС_Статус"

УПОРЯДОЧИТЬ ПО ДатаДокумента, НомерДокумента

  • Указываем, что статусы документов будут храниться в dbf-файле. Для этого из файла настроек конфигурации выносим в пользовательский файл настроек параметр «ФормаРаботыСоСтатусами»:
<?xml version="1.0" encoding="utf-8"?>
<ини>
	<ФормаРаботыСоСтатусами>'Статусы_ДБФ'</ФормаРаботыСоСтатусами>
</ини>

4. Проблема: Не все реквизиты хранятся там, где нужно

Как диагностировать: Выдается протокол проверки со списком ненайденных реквизитов и справочной информацией.
Например, не найден реквизит «ДоговорКонтрагента» в документе «РеализацияТоваровУслуг»:

ОтсутствуетРеквизит.png

Как решать: В справочной информации или в конфигурации (если есть доступ) смотрим, где лежат ненайденные значения.
В протоколе проверки ищем таблицу РеализацияТоваровУслуг (в тексте ошибки указано название таблицы доступных реквизитов). В таблице ищем реквизит по смыслу похожий на "ДоговорКонтрагента".

СправочнаяИнформация.png

Видим, что есть реквизит "Договор". В пользовательском файле настроек вместо параметра [Документ]. ДоговорКонтрагента пишем [Документ].Договор.

Проблемы после запуска обработки

1. Проблема: Выгружаются неправильные значения

Как диагностировать: Данные в печатной форме 1С отличаются от данных в нашей визуализации.
Например, отличается наименование поставщика:

РазныеЗначенияПриПечати.png

Как решать: Ищем нужное значение в карточке документа (либо в карточках, которые можно открыть из документа – карточка Организации, Контрагента, Договора и т.д.).
В нашем случае открываем карточку организации, т.к. поставщик в случае реализации – это наша организация:

ОткрытьКарточкуОрганизацииИзДокумента.png

Видим, что в печатной форме 1С наименование поставщика берется из поля «Сокращенное наименование (по учредительным документам)».
Теперь нам нужно понять, как называется данный реквизит в конфигурации.
Для этого:
  • Открываем конфигурацию, находим документ «РеализацияТоваровУслуг» и открываем форму документа. В форме смотрим свойства поля Организация, из которого мы открывали карточку:

ГдеЛежитОрганизация.png

Видим, что тип значения данного поля – справочник Организации.

  • Находим в конфигурации справочник Организации и открываем форму элемента. В форме смотрим свойства поля, в котором лежит нужное нам наименование:
ГдеЛежитНаименованиеОрганизации.png

Видим, что данные в этом поле заполняются из реквизита «НаименованиеСокращенное».

  • Создаем пользовательский файл настроек для выгрузки реализации и выносим туда параметр с наименованием организации:
<?xml version="1.0" encoding="utf-8"?>
<ини>
	<мФайл Имя="ЭДОНакл">
	        <мСторона Имя="Отправитель">
			<Сторона_Наименование>[Сторона].НаименованиеСокращенное</Сторона_Наименование>
	        </мСторона>
	</мФайл>
</ини>

Структура вложенности узлов должна быть соблюдена, как в основном файле настроек.

2. Проблема: Нужна дополнительная информация в печатной форме документа

Как диагностировать: В печатной форме 1С присутствует дополнительная информация, которой нет в нашей визуализации.
Как решать:
Чтобы выгрузить любую дополнительную информацию, в пользовательский файл настроек добавляются параметры. Существует особая группа параметров, которые автоматически попадают в печатную форму документа (Дополнительно можно почитать здесь):
  • ИнфШапка - значение параметра отображается в шапке документа
  • ИнфПередТабл - значение параметра отображается перед табличной частью документа
  • ИнфПослеТабл - значение параметра отображается после табличной части документа
  • ИнфПодвал - значение параметра отображается в подвале документа
Таким образом решить проблему без изменения визуализации мы можем только в случае, если дополнительная информация в печатной форме клиента выводится в одном из перечисленных мест.
Например, клиент хочет в счет-фактуре перед табличной частью видеть название договора. В каком реквизите хранится это название, определяем так же, как в п.1 определяли наименование организации.
В этом случае в пользовательский файл настроек добавляется параметр "ИнфПередТабл":
<?xml version="1.0" encoding="utf-8"?>
<ини>
    <мФайл Имя="СчФктр">
        <мПараметр Имя="ИнфПередТабл">
             <Параметр_Имя>'ИнфПередТабл'</Параметр_Имя>
             <Параметр_Значение>[Договор].Наименование</Параметр_Значение>
        </мПараметр>
    </мФайл>
</ини>
В результате получим:

ВизуализацияИнфПередТабл.png

3. Проблема: Нужна своя визуализация документа.

Как диагностировать: Печатная форма документа в 1С сильно отличается от нашей и клиент настаивает, что стандартная форма не подходит.
Как решать: Заказываем визуализацию в отделе внедрения ЭДО. По готовности добавляем в пользовательский файл настроек идентификатор визуализации в параметр Файл_КодФормы:
<?xml version="1.0" encoding="utf-8"?>
<ини>
    <мФайл Имя="СчФктр">
             <Файл_КодФормы>’СФВодоканал’</ Файл_КодФормы >
    </мФайл>
</ини>
Идентификатор записывается в одинарных кавычках.
Если кроме изменения формы новая визуализация должна содержать значения, отсутствующие в xml файле, то недостающие данные можно добавить в xml файл при помощи параметров документа или параметров строки табличной части.

4. Проблема: Медленно работает отправка через SDK.

Как диагностировать: Клиента не устраивает скорость отправки большого количества документов.
Как решать: Если клиент за один раз отправляет несколько тысяч документов, имеет смысл предложить отправку через коннект. В этом режиме обработка быстро выгрузит на диск необходимые файлы и в 1С можно будет продолжить работу. А СБИС Коннект в фоновом режиме будет отправлять файлы и не мешать бухгалтеру работать в 1С.
На вкладке Настройки в обработке указываем способ обмена «Каталог». Устанавливаем и настраиваем СБИС Коннект. Каталог обмена, указанный в обработке должен соответствовать рабочему каталогу СБИС Коннекта.
В настройках СБИС Коннекта необходимо указать формат «Документ (*.native.xml)» для исходящих документов, входящих и статусов:

НастройкаКоннекта.png

5. Проблема: Нет драйвера для работы с dbf - файлами, используемого по умолчанию (Microsoft dBASE Driver).

Как диагностировать: При открытии полученных документов возникает ошибка: «Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers):[Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию».
Как решать: Драйвер используется при работе с DBF-файлами, в которых хранится сопоставление номенклатуры (нашей и контрагента). Есть два варианта решения проблемы:
  • При наличии другого драйвера прописать строку подключения в пользовательском файле настроек конфигурации. Например:
<СтрокаПодключенияДБФ>'Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties="DBASE IV;";Data Source='</СтрокаПодключенияДБФ>
В процессе работы обработка к этой строке в конце дописывает путь к каталогу с нужным dbf-файлом, в результате получается полная строка подключения, например:
'Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties="DBASE IV;";Data Source=C:\Sbis1C\НоменклатураПоставщика\6000000001\'
Наличие драйверов можно посмотреть в меню «Пуск/Панель управления/Администрирование/Источники данных ODBC»
  • Если нет подходящего драйвера, то можно воспользоваться штатными местами для хранения сопоставления номенклатуры в 1С. В зависимости от конфигурации это может быть регистр сведений «НоменклатураКонтрагентов» или справочник «НоменклатураПоставщиков».
Чтобы переключить хранение сопоставления номенклатуры с DBF на регистр или справочник, выносим в пользовательский файл настроек конфигурации параметр «ФормаРаботыСНоменклатуройПоставщика». Если в конфигурации присутствует регистр сведений «НоменклатураКонтрагентов», то указываем форму работы «СопоставлениеНоменклатуры_Регистры»:
<ФормаРаботыСНоменклатуройПоставщика>'СопоставлениеНоменклатуры_Регистры'</ФормаРаботыСНоменклатуройПоставщика>
Если в конфигурации присутствует справочник «НоменклатураПоставщиков», то указываем форму работы «СопоставлениеНоменклатуры_Справочники»:
<ФормаРаботыСНоменклатуройПоставщика>'СопоставлениеНоменклатуры_Справочники’</ФормаРаботыСНоменклатуройПоставщика>
Понять, какую из двух форм указать, можно не открывая конфигурацию 1С, а по параметру «НоменклатураПоставщиков» в стандартном файле настроек конфигурации. В этом параметре указана либо ссылка на регистр сведений, либо ссылка на справочник.