Добавить поля в выгрузку из СБИСа

1. rujiy_kot 11 16.05.19 18:58 Сейчас в теме +2 $m
Есть обработка СБИСа.
Выгрузка реализаций и счетов-фактур настроена.
Контрагенту необходимо добавить поля в выгрузку накладной:
- номер заказа (определяется по основанию (сделке)),
- отсрочка платежа (поле с фиксированным текстом),
- штрих-код (для табличной части, определяется по номенклатуре).
(Такие требования у Призмы)
По сообщениям в интернете обработку менять нельзя. Всё необходимо сделать настройками через ini-файлы, без изменения обработки СБИСа.
Делал по инструкции:
http://wiki.razgovorov.ru/index.php/Настройка_внешней_обработки_СБИС_для_1С_8.х
Добавил новый ini-файл без постфикса sbis, для документа "Реализации товаров и услуг", настройки СБИСа показывает, что настройки реализации изменены, но при выгрузке Реализации в файл формируется два документа в формате xml (накладная и СФ), но каждый раз никаких изменений.
Как я только не пробовал писать, делал по аналогии с примерами (выше по ссылке), но подобные изменения никак не влияют на выходной файл.
Я не понимаю, что делаю не так...
<?xml version="1.0" encoding="utf-8"?>
<ини>
<мФайл Имя="ЭДОНакл">
<мТаблДок Имя="Товары">
<СуммаНДС>11111</СуммаНДС>
</мТаблДок>
</мФайл>
</ини>
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
5. rujiy_kot 11 20.05.19 08:51 Сейчас в теме
Кому интересно или кто случайно найдёт по поиску эту тёму.
Вот код XML файла ВО82УТ10_РеализацияТоваровУслуг.XML
<?xml version="1.0" encoding="utf-8"?>
<ини>
    <мФайл Имя="ЭДОНакл">
	<мПараметр Имя="Заказ">
		<Параметр_Имя>'Заказ'</Параметр_Имя>
		<Параметр_Значение>[Документ].сбисНомерЗаявки</Параметр_Значение>
	</мПараметр>
	<мПараметр Имя="Отсрочка">
		<Параметр_Имя>'Отсрочка'</Параметр_Имя>
		<Параметр_Значение>'K010'</Параметр_Значение>
	</мПараметр>
	<мТаблДок Имя="Товары">
            	<мПараметр Имя="Штрихкод">
                	<Параметр_Имя>'Штрих-код'</Параметр_Имя>
	                <Параметр_Значение>{сбисПолучитьШтрихКод()}</Параметр_Значение>
 		</мПараметр>
        </мТаблДок>
    </мФайл>
</ини>
Показать


Вот код обработки: ВнешниеФункции_Клиент, формы: РаботаСДокументами1С

Функция сбисПолучитьШтрихКод(Контекст) Экспорт
	
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	               |	Штрихкоды.Штрихкод
	               |ИЗ
	               |	РегистрСведений.Штрихкоды КАК Штрихкоды
	               |ГДЕ
	               |	Штрихкоды.Владелец = &Владелец
	               |	И Штрихкоды.ЕдиницаИзмерения = &ЕдиницаИзмерения";
	Запрос.УстановитьПараметр("Владелец",Контекст.Номенклатура);
	Запрос.УстановитьПараметр("ЕдиницаИзмерения",Контекст.ЕдИзмНоменклатуры);
	
	Результат = Запрос.Выполнить().Выбрать();
	
	Если Результат.Следующий() Тогда
		Возврат Результат.Штрихкод;
	Иначе
		Сообщить("По номенклатуре: " + Контекст.Номенклатура + " и единице измерения: " + Контекст.ЕдИзмНоменклатуры + " не найден Штрих-код! В файл ШК не выгружен");
		Возврат "";	
	КонецЕсли;	
	
КонецФункции
Показать

Оба файла нужно положить в каталог со сбисом.
1CrUDOLF; musatov1c.ru; tech96; freeek; +4 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. uriah 17 16.05.19 21:20 Сейчас в теме
Какая платформа, конфигурация, релиз, стандартная или переписанная? Мало данных!
3. rujiy_kot 11 17.05.19 08:44 Сейчас в теме
(2) сверху в тегах - "1С:Управление торговлей 10", в сообщение действительно не написал.
УТ 10.3.
Но обработка СБИСа уже сама адаптируется к конфигурации. Важно понимать как править эти ini-файлы.
4. Sergio_S11 17.05.19 16:38 Сейчас в теме
(3) А в обработке ВнешниеФункции_Клиент ты свой ini подцепил?
My Webpage
6. rujiy_kot 11 20.05.19 08:57 Сейчас в теме
(4) А Вы автор этого вики?
Нет, не подцеплял, решение нашёл методом проб и ошибок.
Из моих ошибок было - значения нужно писать в одинарных кавычках - '.
Новые поля нужно было писать через: мПараметр, его имя и значения.
5. rujiy_kot 11 20.05.19 08:51 Сейчас в теме
Кому интересно или кто случайно найдёт по поиску эту тёму.
Вот код XML файла ВО82УТ10_РеализацияТоваровУслуг.XML
<?xml version="1.0" encoding="utf-8"?>
<ини>
    <мФайл Имя="ЭДОНакл">
	<мПараметр Имя="Заказ">
		<Параметр_Имя>'Заказ'</Параметр_Имя>
		<Параметр_Значение>[Документ].сбисНомерЗаявки</Параметр_Значение>
	</мПараметр>
	<мПараметр Имя="Отсрочка">
		<Параметр_Имя>'Отсрочка'</Параметр_Имя>
		<Параметр_Значение>'K010'</Параметр_Значение>
	</мПараметр>
	<мТаблДок Имя="Товары">
            	<мПараметр Имя="Штрихкод">
                	<Параметр_Имя>'Штрих-код'</Параметр_Имя>
	                <Параметр_Значение>{сбисПолучитьШтрихКод()}</Параметр_Значение>
 		</мПараметр>
        </мТаблДок>
    </мФайл>
</ини>
Показать


Вот код обработки: ВнешниеФункции_Клиент, формы: РаботаСДокументами1С

Функция сбисПолучитьШтрихКод(Контекст) Экспорт
	
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	               |	Штрихкоды.Штрихкод
	               |ИЗ
	               |	РегистрСведений.Штрихкоды КАК Штрихкоды
	               |ГДЕ
	               |	Штрихкоды.Владелец = &Владелец
	               |	И Штрихкоды.ЕдиницаИзмерения = &ЕдиницаИзмерения";
	Запрос.УстановитьПараметр("Владелец",Контекст.Номенклатура);
	Запрос.УстановитьПараметр("ЕдиницаИзмерения",Контекст.ЕдИзмНоменклатуры);
	
	Результат = Запрос.Выполнить().Выбрать();
	
	Если Результат.Следующий() Тогда
		Возврат Результат.Штрихкод;
	Иначе
		Сообщить("По номенклатуре: " + Контекст.Номенклатура + " и единице измерения: " + Контекст.ЕдИзмНоменклатуры + " не найден Штрих-код! В файл ШК не выгружен");
		Возврат "";	
	КонецЕсли;	
	
КонецФункции
Показать

Оба файла нужно положить в каталог со сбисом.
1CrUDOLF; musatov1c.ru; tech96; freeek; +4 Ответить
7. AneJIbcuH 37 27.04.23 11:06 Сейчас в теме
А как можно вставлять доп. поля при определенных условиях? Например, для такого-то контрагента (даже по ИНН). Никто не сталкивался?
8. Aleks.spb 04.05.23 17:14 Сейчас в теме
(7) Делал через обработку "ВнешниеФукнции_Клиент" нужно создать форму из которой обрабатывается нужный вам тип документа отловить можно в самой обработке сбиса.

Далее во внешнюю обработку с имененем "ВнешниеФукнции_Клиент" помещаете данную форму и Функция сбисПослеФормированияДокумента (Док, Кэш, Контекст) Экспорт

В Контекст.Документ будет доступна ссылка на текущий документ 1С, откуда вы можете сравнить нужные вам реквизиты.

Далее в зависимости от того что вам нужно через обработку добавляете поля.

//Добавляем в иные сведения ИнфПолФХЖ1 
Док.Файл.Документ.Параметр.Добавить (Новый Структура ("Имя, Значение", "Договор", Реализация.ДоговорКонтрагента.Номер));

//Добавляем основание
ДопСвОсн = Новый Структура ();
		ДопСвОсн.Вставить("Название", 	"РО"); 
		ДопСвОсн.Вставить("Номер", 		 
                СПб_ОбщийМодуль.ПолучитьЧислоИзСтроки(ТекстКомментарияПечати, Ложь));
		ДопСвОсн.Вставить("НаимДокОтгр", НаимДокОтгрузки);
		ДопСвОсн.Вставить("Дата",  		Формат (СсылкаНаСделку.Дата, "ДФ=dd.MM.yyyy"));		
		Док.Файл.Документ.Основание.Вставить (0,ДопСвОсн);
Показать
evgefremov; +1 Ответить
9. AneJIbcuH 37 05.05.23 10:15 Сейчас в теме
(8) Да, я уже таким же образом реализовал
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день

Специалист техподдержки
Санкт-Петербург
зарплата от 100 руб. до 150 руб.
Полный день