0
Завершен

Оформить реализацию физ лицу

Сергей Генрих 2 года назад обновлен Елизавета 2 года назад 4

Здравствуйте!

Можно ли с помощью ПМ изменить транзакцию отгрузки на инвентаризацию?
Есть ли в планах реализация данного функционала в модуле?

Нужно это для того, что бы не делать данную операцию через общую инвентаризацию (корректировка фактических остатков).


УПП 1.3

Ответ

+2
Ответ
На рассмотрении

А операция только списание остатков? Вы можете проводить инвентаризацию по "волшебной палочке", под каждую отгрузку. Вы можете  в подключаемом модуле изменить тип объекта для "МеркурийДокументСписания", добавив дополнительно документ "Реализация товаров и услуг".

Будет вот так: 

Функция Плагин_МеркурийИзменитьНастройкуТиповОбъектов(ИмяСобытия, Параметры, СтандартнаяОбработкаEDI = Истина)

//Пример использования

Если ИмяСобытия = "ИзменитьНастройкуТиповОбъектов" Тогда
Попытка
ТаблицаТипов = Параметры.ТаблицаТипов;


////Здесь Можно добавить дополнительные типы объектов для транзакций  (например у нас за перемещение отвечает 2 документа)
//ПМ_УстановитьТипОбъектаМеркурий(ТаблицаТипов,"МеркурийДокументПеремещение2" ,"ДокументСсылка.ПеремещениеТоваровЯуМамкиЛюбительСделатьКучуДокументов");
////если не указать таб часть для Nного тип документа то будет использовано имя ТЧ предыдущего по счету типа документа
//ПМ_УстановитьТипОбъектаМеркурий(ТаблицаТипов,"МеркурийИмяТЧТоварыПеремещение2" ,"Товары");
ПМ_УстановитьТипОбъектаМеркурий(ТаблицаТипов,"МеркурийДокументСписания" ,"ДокументСсылка.РеализацияТоваровУслуг");
ПМ_УстановитьТипОбъектаМеркурий(ТаблицаТипов,"МеркурийИмяТЧТоварыСписание" ,"Товары");

Исключение
ОсновнойМодуль.Сообщить_КонтурEDI("Какая-то неполадка в подключаемом модуле в Плагин_МеркурийИзменитьНастройкуТиповОбъектов");
КонецПопытки;
КонецЕсли;

КонецФункции


Конечно, дополнительно надо будет изменить список документов, будет выглядеть как-то так:

Функция Плагин_МеркурийИзменитьЗапросВТ(ИмяСобытия, Параметры, СтандартнаяОбработкаEDI = Истина) 
    
    Если ИмяСобытия = "МеркурийИзменитьЗапросВТПоднадзорныхТоваров" Тогда 
        
    КонецЕсли;
    
    Если ИмяСобытия = "МеркурийИзменитьЗапросВТДокументаСПоднадзорнымТоваром" Тогда 
        
        // Параметры:
        // - ЗапросСКэшемПартнеров: объект запроса
        // - ИмяТипа: имя типа документа Меркурия, например "МеркурийДокументОтгрузки"
// - ИмяВТ: имя временной таблицы, в которую нужно положить данные
// - ИмяПараметраНазванияТоваров: имя типа табличной части товаров документа Меркурия, например "МеркурийИмяТЧТоварыОтгрузка"
Если ИмяСобытия = "МеркурийИзменитьЗапросВТДокументаСПоднадзорнымТоваром" Тогда 
Если Параметры.ИмяВТ = "ВТ_СписанияПоднадзорногоТовара" тогда
Параметры.ЗапросСКэшемПартнеров.Текст = Параметры.ЗапросСКэшемПартнеров.Текст + "И ТаблицаДокумента.Контрагент.Наименование = "А тут физ лицо"";
КонецЕсли;       
КонецЕсли;

КонецЕсли;

КонецФункции


ХОРОШО, МНЕ ПОНРАВИЛОСЬ

Спасибо, NaFanya! Вопрос решен.

Оценка удовлетворенности от Сергей Генрих 2 года назад
+2
Ответ
На рассмотрении

А операция только списание остатков? Вы можете проводить инвентаризацию по "волшебной палочке", под каждую отгрузку. Вы можете  в подключаемом модуле изменить тип объекта для "МеркурийДокументСписания", добавив дополнительно документ "Реализация товаров и услуг".

Будет вот так: 

Функция Плагин_МеркурийИзменитьНастройкуТиповОбъектов(ИмяСобытия, Параметры, СтандартнаяОбработкаEDI = Истина)

//Пример использования

Если ИмяСобытия = "ИзменитьНастройкуТиповОбъектов" Тогда
Попытка
ТаблицаТипов = Параметры.ТаблицаТипов;


////Здесь Можно добавить дополнительные типы объектов для транзакций  (например у нас за перемещение отвечает 2 документа)
//ПМ_УстановитьТипОбъектаМеркурий(ТаблицаТипов,"МеркурийДокументПеремещение2" ,"ДокументСсылка.ПеремещениеТоваровЯуМамкиЛюбительСделатьКучуДокументов");
////если не указать таб часть для Nного тип документа то будет использовано имя ТЧ предыдущего по счету типа документа
//ПМ_УстановитьТипОбъектаМеркурий(ТаблицаТипов,"МеркурийИмяТЧТоварыПеремещение2" ,"Товары");
ПМ_УстановитьТипОбъектаМеркурий(ТаблицаТипов,"МеркурийДокументСписания" ,"ДокументСсылка.РеализацияТоваровУслуг");
ПМ_УстановитьТипОбъектаМеркурий(ТаблицаТипов,"МеркурийИмяТЧТоварыСписание" ,"Товары");

Исключение
ОсновнойМодуль.Сообщить_КонтурEDI("Какая-то неполадка в подключаемом модуле в Плагин_МеркурийИзменитьНастройкуТиповОбъектов");
КонецПопытки;
КонецЕсли;

КонецФункции


Конечно, дополнительно надо будет изменить список документов, будет выглядеть как-то так:

Функция Плагин_МеркурийИзменитьЗапросВТ(ИмяСобытия, Параметры, СтандартнаяОбработкаEDI = Истина) 
    
    Если ИмяСобытия = "МеркурийИзменитьЗапросВТПоднадзорныхТоваров" Тогда 
        
    КонецЕсли;
    
    Если ИмяСобытия = "МеркурийИзменитьЗапросВТДокументаСПоднадзорнымТоваром" Тогда 
        
        // Параметры:
        // - ЗапросСКэшемПартнеров: объект запроса
        // - ИмяТипа: имя типа документа Меркурия, например "МеркурийДокументОтгрузки"
// - ИмяВТ: имя временной таблицы, в которую нужно положить данные
// - ИмяПараметраНазванияТоваров: имя типа табличной части товаров документа Меркурия, например "МеркурийИмяТЧТоварыОтгрузка"
Если ИмяСобытия = "МеркурийИзменитьЗапросВТДокументаСПоднадзорнымТоваром" Тогда 
Если Параметры.ИмяВТ = "ВТ_СписанияПоднадзорногоТовара" тогда
Параметры.ЗапросСКэшемПартнеров.Текст = Параметры.ЗапросСКэшемПартнеров.Текст + "И ТаблицаДокумента.Контрагент.Наименование = "А тут физ лицо"";
КонецЕсли;       
КонецЕсли;

КонецЕсли;

КонецФункции


+1

Точнее , к сожалению, написать (по изменению списка) не могу. Надо понимать какие у вас реквизиты в документе будут указывать на то, что это отгрузка или списание. Пример выше - решение конуретной задачи, под ваши условия явно не подойдет. 

Благодарю, направление понял!

Сервис поддержки клиентов работает на платформе UserEcho