Автоматическое перепроведение счета-фактуры РТУ

1. Intercititude 29.09.20 15:23 Сейчас в теме
Добрый день.
ОФ. 8.2

Есть задача:
При изменении РТУ автоматически перепроведить связааную счет фактуру.

Достаточно ли в обработке проведения РТУ сделать следующее и будет ли это корректным?:

СФ = УчетНДС.НайтиПодчиненныйДокумент(Ссылка,"счетфактуравыданный");
Объект = СФ.получитьобъекта();
Объект.Записать(РежимЗаписи.проведение);
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
3. vlad_d 29.09.20 15:58 Сейчас в теме +0.1 $m
В типовой в ПриЗаписи(), это отрабатывается (пример для БП3.0).

	
Если ДополнительныеСвойства.РежимЗаписи = РежимЗаписиДокумента.Запись Тогда
	УчетНДСПереопределяемый.ПроверитьСоответствиеРеквизитовСчетаФактурыВыданного(ЭтотОбъект,,,НЕ УстановленСтатусДокумента);
КонецЕсли;
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. oleg-x 26 29.09.20 15:44 Сейчас в теме
(1) А зачем? Если она и так меняется при изменение РТУ.
Intercititude; +1 Ответить
3. vlad_d 29.09.20 15:58 Сейчас в теме +0.1 $m
В типовой в ПриЗаписи(), это отрабатывается (пример для БП3.0).

	
Если ДополнительныеСвойства.РежимЗаписи = РежимЗаписиДокумента.Запись Тогда
	УчетНДСПереопределяемый.ПроверитьСоответствиеРеквизитовСчетаФактурыВыданного(ЭтотОбъект,,,НЕ УстановленСтатусДокумента);
КонецЕсли;
4. Intercititude 29.09.20 16:01 Сейчас в теме
(3) У меня в модуле объекта РТУ ПриЗаписи закоменчено почему то это:
УчетНДС.ПроверитьСоответствиеРеквизитовСчетФактуры(ЭтотОбъект)

Это оно?
5. oleg-x 26 29.09.20 16:05 Сейчас в теме
(4) Оно, кто то не хороший закоментировал. Или бух попросили, что бы СФ не менялись сами.
Intercititude; +1 Ответить
6. Intercititude 29.09.20 16:06 Сейчас в теме
(5) Стоят комментарии, мол для корректной работы какой то обработки" ....
7. oleg-x 26 29.09.20 16:10 Сейчас в теме
(6) Теперь выясняй, что за обработка. А то здесь сделаешь, а там сломается. Видимо обработка меняет СФ отдельно от реализации или по разному корректирует документы.
А может уже все давно про неё забыли и она не актуальна. Посмотри во внешних обработках или не типовых обработках в конфигураторе.
Intercititude; +1 Ответить
9. Intercititude 30.09.20 11:17 Сейчас в теме
(7) В итоге вот, что делает обработка. Даже не знаю как быть с моей ситуацией теперь
  Перем Заголовок, СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаПоУслугам, ТаблицаПоТаре;
  
  Перем ТаблицаПоВзаиморасчетам, ТаблицаПоРасчетам;
  
  
  
  Для Каждого Строка из ДокументыСписок Цикл
	  
	  Документ = Строка["Значение"];
	  
	  Если ЗначениеЗаполнено(Документ) Тогда
		  
		  Отказ = Ложь;
		  
		  РежимПроведения = РежимПроведенияДокумента.Неоперативный;
		  
		  ДокументОбъект          = Документ.ПолучитьОбъект();
		  
		  
		  
		  ДокументОбъект.ПодготовитьСтруктуруШапкиДокумента(Заголовок, СтруктураШапкиДокумента, РежимПроведения);
		  
		  
		  
		  // Проверим правильность заполнения шапки документа
		  
		  ПроверитьЗаполнениеШапки(СтруктураШапкиДокумента, Отказ, Заголовок);
		  
		  
		  
		  // Проверим допустимость для пользователя цен документа
		  
		  УправлениеДопПравамиПользователей.ПроверитьДопустимостьЦенОтпуска(ДокументОбъект, "Товары", Отказ);
		  
		  УправлениеДопПравамиПользователей.ПроверитьДопустимостьЦенОтпуска(ДокументОбъект, "Услуги", Отказ);
		  
		  
		  
		  ДокументОбъект.ПодготовитьТаблицыДокумента(СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаПоУслугам, ТаблицаПоТаре);
		  
		  
		  
		  ПроводитьПоВзаиморасчетам = СтруктураШапкиДокумента["ВидДоговора"] = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем;
		  
		  ДокументОбъект["мСтруктураПараметровВзаиморасчетов"].Вставить("ПроводитьПоВзаиморасчетам", ПроводитьПоВзаиморасчетам);
		  
		  
		  
		  СтруктураПодготовленныхТаблиц = Новый Структура("Товары, Услуги", ТаблицаПоТоварам, ТаблицаПоУслугам);
		  
		  ДокументОбъект["мСтруктураПараметровВзаиморасчетов"].Вставить("СтруктураПодготовленныхТаблиц", СтруктураПодготовленныхТаблиц);
		  
		  УправлениеВзаиморасчетами.ПодготовитьТаблицыДляПроведенияПоВзаиморасчетам(ТаблицаПоВзаиморасчетам, ТаблицаПоРасчетам,
		  
		  ДокументОбъект, ДокументОбъект.мСтруктураПараметровВзаиморасчетов, СтруктураШапкиДокумента,
		  
		  Отказ, Заголовок);
		  
		  
		  
		  // Проверить заполнение ТЧ.
		  
		  ПроверитьЗаполнениеТабличнойЧастиТовары(ТаблицаПоТоварам,      СтруктураШапкиДокумента, Отказ, Заголовок);
		  
		  ПроверитьЗаполнениеТабличнойЧастиУслуги(ТаблицаПоУслугам,      СтруктураШапкиДокумента, Отказ, Заголовок);
		  
		  ПроверитьЗаполнениеТабличнойЧастиВозвратнаяТара(ТаблицаПоТаре, СтруктураШапкиДокумента, Отказ, Заголовок);
		  
		  
		  
		  // Проверить заполнение ТЧ "Состав набора".
		  
		  СтруктураПолей = Новый Структура;
		  
		  СтруктураПолей.Вставить("Номенклатура");
		  
		  СтруктураПолей.Вставить("Количество");
		  
		  СтруктураПолей.Вставить("Цена");
		  
		  ЗаполнениеДокументов.ПроверитьЗаполнениеТабличнойЧасти(ДокументОбъект, "СоставНабора", СтруктураПолей, Отказ, Заголовок);
		  
		  
		  
		  //Проверим на возможность проведения в БУ и НУ.
		  
		  Если ДокументОбъект.ОтражатьВБухгалтерскомУчете
			  
			  Или ДокументОбъект.ОтражатьВНалоговомУчете Тогда
			  
			  УправлениеВзаиморасчетами.ПроверкаВозможностиПроведенияВ_БУ_НУ(ДокументОбъект.ДоговорКонтрагента, ДокументОбъект.ВалютаДокумента,
			  
			  ДокументОбъект.ОтражатьВБухгалтерскомУчете, ДокументОбъект.ОтражатьВНалоговомУчете, ДокументОбъект.мВалютаРегламентированногоУчета,
			  
			  Ложь, Отказ, Заголовок, "", СтруктураШапкиДокумента.ВалютаВзаиморасчетов,
			  
			  СтруктураШапкиДокумента.РасчетыВУсловныхЕдиницах);
			  
		  КонецЕсли;
		  
		  
		  
		  ладДокументы.ПроверкаЛицензии(ДокументОбъект, Отказ);
		  
		  
		  
		  ладДокументы.МинимальныеЦены(ДокументОбъект, Отказ);
		  
		  //ладДокументы.ПроверкаОтгрузки(ДокументОбъект, Отказ);
		  
		  
		  
		  // Движения по документу
		  
		  Если Не Отказ Тогда
			  
			  
			  
			  НаборЗаписей = РегистрыНакопления.ТоварыОрганизацийБухгалтерскийУчет.СоздатьНаборЗаписей();
			  
			  НаборЗаписей.Отбор["Регистратор"].Установить(Документ);
			  
			  НаборЗаписей.Прочитать();
			  
			  НаборЗаписей.Очистить();
			  
			  НаборЗаписей.Записать();
			  
			  
			  
			  ТаблицаПоКомплектам = УправлениеЗапасами.СформироватьТаблицуКомплектующих(ТаблицаПоТоварам, ДокументОбъект);
			  
			  ДвиженияПоРегиструТоварыОрганизаций(РежимПроведенияДокумента.Неоперативный, СтруктураШапкиДокумента, ТаблицаПоКомплектам, ТаблицаПоТаре, ТаблицаПоУслугам, Отказ, Заголовок);
			  
			  
			  
			  ДвиженияПоРегиструСписанныеТовары(СтруктураШапкиДокумента, ТаблицаПоКомплектам, ТаблицаПоТаре, Отказ, Заголовок);
			  
			  
			  
			  Сообщить(Строка(Документ));
			  
		  КонецЕсли;
		  
	  КонецЕсли;
	  
  КонецЦикла;
Показать
8. vlad_d 29.09.20 16:20 Сейчас в теме
(6) Возможно, какой-то обмен с перепроведением ускоряли. Возможно, что-то не заполнялось в счет-фактурах, их обрабатывали обработкой и при перезаписи реквизиты перезаполнялись.
Варианты разные могут быть. Но как правило, через некоторое время попав на разницу между накладными и суммами ндс все же эту проверку возвращают.
Intercititude; +1 Ответить
10. Intercititude 30.09.20 11:18 Сейчас в теме
(8) в (9) описал. как мне быть ? не совсем вижу взаимосвязи.
11. vlad_d 30.09.20 11:31 Сейчас в теме
(10) Ну пишут что-то наборами записей по регистратору, что-то перезаполняют в шапке. В коде не видно, где ДокументОбъект записывают. А это по факту и должно служить триггером для кода по счет-фактуру в призаписи().
12. Intercititude 30.09.20 11:43 Сейчас в теме
(11) Вот и я не пойму где взаимосвязь.
13. vlad_d 30.09.20 11:49 Сейчас в теме
(12) Из того что есть в коде, ДокументОбъект сделан ради того чтобы подсунуть его сюда:
          ладДокументы.ПроверкаЛицензии(ДокументОбъект, Отказ);    
          
          ладДокументы.МинимальныеЦены(ДокументОбъект, Отказ);


И в принципе не записывается. Странно, что тут скажешь.
14. Intercititude 30.09.20 11:50 Сейчас в теме
(13) Нет, вот процедуры ещё:

Процедура ДвиженияПоРегиструТоварыОрганизаций(РежимПроведения, СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаПоТаре, ТаблицаПоУслугам, Отказ, Заголовок) экспорт
	
	
	Если НЕ СтруктураШапкиДокумента.ОтражатьВРегламентированномУчете
		
		Или Отказ Тогда
		
		Возврат;
		
	КонецЕсли;
	
	Если ДокументОбъект.ВидПередачи = Перечисления.ВидыПередачиТоваров.СоСклада Тогда
		
		
		// ТОВАРЫ ПО РЕГИСТРУ ТоварыОрганизаций.
		
		НаборДвижений = ДокументОбъект.Движения.ТоварыОрганизаций;
		
		// Получим таблицу значений, совпадающую со структурой набора записей регистра.
		
		ТаблицаДвижений = НаборДвижений.ВыгрузитьКолонки();
	
		// Заполним таблицу движений.
		
		ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПоТоварам, ТаблицаДвижений);
		
		
		
		// Недостающие поля (качество заполнили в "ПередЗаписью" документа).
		
		ТаблицаДвижений.ЗаполнитьЗначения(ДокументОбъект.Организация, "Организация");
		
		ТаблицаДвижений.ЗаполнитьЗначения(Неопределено,"Комиссионер");
		
	
		Если Не СтруктураШапкиДокумента.ВестиУчетТоваровОрганизацийВРазрезеСкладов Тогда
			
			ТаблицаДвижений.ЗаполнитьЗначения(Неопределено, "Склад");
			
		КонецЕсли;
		
	
		НаборДвижений.мПериод            = ДокументОбъект.Дата;
		
		НаборДвижений.мТаблицаДвижений   = ТаблицаДвижений;
		
		
		
		// Проверка остатков при оперативном проведении.
		
		Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда
			
			НаборДвижений.КонтрольОстатков(ДокументОбъект, "Товары", СтруктураШапкиДокумента, Отказ, Заголовок);
			
		КонецЕсли;
		
		
		
		Если Не Отказ Тогда
			
			ДокументОбъект.Движения.ТоварыОрганизаций.ВыполнитьРасход();
			
			ДокументОбъект.Движения.ТоварыОрганизаций.Записать();
			
		КонецЕсли;
		
		
		
	Иначе // По ордеру
		
		
		
		// ТОВАРЫ ПО РЕГИСТРУ ТоварыКПередачеОрганизаций.
		
		НаборДвижений = ДокументОбъект.Движения.ТоварыКПередачеОрганизаций;
		
		
		
		// Получим таблицу значений, совпадающую со структурой набора записей регистра.
		
		ТаблицаДвижений = НаборДвижений.ВыгрузитьКолонки();
		
		
		
		// Заполним таблицу движений.
		
		ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПоТоварам, ТаблицаДвижений);
		
		
		
		// Недостающие поля (качество заполнили в "ПередЗаписью" документа).
		
		ТаблицаДвижений.ЗаполнитьЗначения(ДокументОбъект.Организация, "Организация");
		
		ТаблицаДвижений.ЗаполнитьЗначения(ДокументОбъект.Ссылка     , "ДокументПередачи");
		
		
		
		Если Не СтруктураШапкиДокумента.ВестиУчетТоваровОрганизацийВРазрезеСкладов Тогда
			
			ТаблицаДвижений.ЗаполнитьЗначения(Неопределено, "Склад");
			
		КонецЕсли;
		
		
		
		НаборДвижений.мПериод            = ДокументОбъект.Дата;
		
		НаборДвижений.мТаблицаДвижений   = ТаблицаДвижений;
		
		
		
		// Проверка остатков при оперативном проведении.
		
		Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда
			
			НаборДвижений.КонтрольСвободныхОстатков(ДокументОбъект, "Товары", СтруктураШапкиДокумента, Отказ, Заголовок);
			
		КонецЕсли;
		
		
		
		Если Не Отказ Тогда
			
			
			
			
			// Проведение по регистру алкТоварыОрганизацийБухгалтерскийУчет
			
			ДвиженияТоваровОрганизацииПоОрдеру(ДокументОбъект, ТаблицаПоТоварам, Отказ, СтруктураШапкиДокумента);
		
			ДокументОбъект.Движения.ТоварыКПередачеОрганизаций.ВыполнитьПриход();
			
		КонецЕсли;
		
		
		
	КонецЕсли;                      
	
	
	
	// Перекинем остатки по организации на комиссионера.
	
	Если СтруктураШапкиДокумента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером Тогда
		
		
		
		// ТОВАРЫ ПО РЕГИСТРУ ТоварыОрганизаций.
		
		НаборДвижений = ДокументОбъект.Движения.ТоварыОрганизаций;
		
		
		
		// Получим таблицу значений, совпадающую со структурой набора записей регистра.
		
		ТаблицаДвижений = НаборДвижений.ВыгрузитьКолонки();
		
		
		
		// Заполним таблицу движений.
		
		ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПоТоварам, ТаблицаДвижений);
		
		
		
		// Недостающие поля (качество заполнили в "ПередЗаписью" документа).
		
		ТаблицаДвижений.ЗаполнитьЗначения(ДокументОбъект.Организация, "Организация");
		
		ТаблицаДвижений.ЗаполнитьЗначения(ДокументОбъект.Контрагент,"Комиссионер");
		
		ТаблицаДвижений.ЗаполнитьЗначения(Неопределено, "Склад");
		
		
		
		НаборДвижений.мПериод            = ДокументОбъект.Дата;
		
		НаборДвижений.мТаблицаДвижений   = ТаблицаДвижений;
		
		
		
		Если Не Отказ Тогда
			
			ДокументОбъект.Движения.ТоварыОрганизаций.ВыполнитьПриход();
			
		КонецЕсли;
		
		
		
	КонецЕсли;
	
	
	
КонецПроцедуры



Процедура ДвиженияПоРегиструСписанныеТовары(СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаПоТаре, Отказ, Заголовок) Экспорт
	
	
	
	// ТОВАРЫ ПО РЕГИСТРУ СписанныеТовары.
	
	НаборДвижений = ДокументОбъект.Движения.СписанныеТовары;
	
	
	
	// Получим таблицу значений, совпадающую со структурой набора записей регистра.
	
	ТаблицаДвижений = НаборДвижений.ВыгрузитьКолонки();
	
	
	
	// Заполним таблицу движений.
	
	
	
	ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПоТоварам, ТаблицаДвижений);
	
	
	
	// Недостающие поля.
	
	Инд = 0;
	
	Для каждого Строка Из ТаблицаДвижений Цикл
		
		Инд = Инд+1;
		
		Строка.НомерСтрокиДокумента = Инд;
		
		Строка.ВидТабличнойЧасти = Перечисления.ВидыТабличныхЧастей.Товары;
		
		
		
	КонецЦикла;
	
	
	
	// Если резервирование под заказ - заказ партии
	
	
	//Если СтруктураШапкиДокумента.ОбособленныйУчетТоваровПоЗаказамПокупателей Тогда
	
	Если СтруктураШапкиДокумента.ОбособленныйУчетТоваровПоЗаказамПокупателей ИЛИ  ДокументОбъект.Сделка.ОбособленныйУчетТоваровПоЗаказамПокупателей ИЛИ ДокументОбъект.ДокументОснование.ОбособленныйУчетТоваровПоЗаказамПокупателей Тогда
		
		ТаблицаЗаказов = ТаблицаПоТоварам.ВыгрузитьКолонку("ЗаказПокупателя");
		
		ТаблицаДвижений.ЗагрузитьКолонку(ТаблицаЗаказов, "ЗаказПартии");
		
	КонецЕсли;
	
	
	
	ТаблицаДвижений.ЗаполнитьЗначения(ДокументОбъект.Дата,   "Период");
	
	ТаблицаДвижений.ЗаполнитьЗначения(ДокументОбъект.Ссылка, "Регистратор");
	
	ТаблицаДвижений.ЗаполнитьЗначения(Истина, "Активность");
	
	
	
	Если Не ДокументОбъект.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.Брак Тогда
		
		ТаблицаДвижений.ЗаполнитьЗначения(Справочники.Качество.Новый, "Качество");
		
	КонецЕсли;
	
	
	
	Если СтруктураШапкиДокумента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем Тогда
		
		
		
		ТаблицаДвижений.ЗаполнитьЗначения(Перечисления.КодыОперацийПартииТоваров.Реализация, "КодОперацииПартииТоваров");
		
		
		
	ИначеЕсли СтруктураШапкиДокумента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером Тогда
		
		
		
		ТаблицаДвижений.ЗаполнитьЗначения(Перечисления.КодыОперацийПартииТоваров.ПередачаНаКомиссию, "КодОперацииПартииТоваров");
		
		
		
		ТаблицаДвижений.ЗаполнитьЗначения(ДокументОбъект.Ссылка,                "ДокументПередачи");
		
		ТаблицаДвижений.ЗаполнитьЗначения(Перечисления.СтатусыПолученияПередачиТоваров.НаКомиссию, "СтатусПередачи");
		
		
		
	КонецЕсли;
	
	
	
	// Документы с видом передачи по ордеру сразу не проводятся
	
	Если ДокументОбъект.ВидПередачи = Перечисления.ВидыПередачиТоваров.ПоОрдеру Тогда
		
		ТаблицаДвижений.ЗаполнитьЗначения(Истина, "НеСписывать");
		
	КонецЕсли;
	
	
	
	ТаблицаДвижений.ЗаполнитьЗначения(ДокументОбъект.ДоговорКонтрагента, "ДоговорКонтрагента");
	
	
	
	ЗаполнитьКолонкиРегистраСписанныеТоварыПоТоварамУпр(ТаблицаДвижений, СтруктураШапкиДокумента, ТаблицаПоТоварам);
	
	
	
	// Данные для регл учета (НДС)
	
	ЗаполнитьКолонкиРегистраСписанныеТоварыПоТоварамРегл(ТаблицаДвижений, СтруктураШапкиДокумента, ТаблицаПоТоварам);
	
	
	
	НаборДвижений.мПериод          = ДокументОбъект.Дата;
	
	НаборДвижений.мТаблицаДвижений = ТаблицаДвижений;
	
	
	
	Если Не Отказ Тогда
		
		ДокументОбъект.Движения.СписанныеТовары.ВыполнитьДвижения();
		
	КонецЕсли;
	
	
	
	// ТАРА ПО РЕГИСТРУ СписанныеТовары.
	
	
	
	НаборДвижений = ДокументОбъект.Движения.СписанныеТовары;
	
	
	
	// Получим таблицу значений, совпадающую со структурой набора записей регистра.
	
	ТаблицаДвижений = НаборДвижений.ВыгрузитьКолонки();
	
	
	
	// Заполним таблицу движений.
	
	ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПоТаре, ТаблицаДвижений);
	
	
	
	// Недостающие поля.
	
	Для каждого Строка Из ТаблицаДвижений Цикл
		
		
		
		Инд = Инд+1;
		
		Строка.НомерСтрокиДокумента = Инд;
		
		Строка.ВидТабличнойЧасти = Перечисления.ВидыТабличныхЧастей.Тара;
		
		
		
	КонецЦикла;
	
	
	
	// Документы с видом передачи по ордеру сразу не проводятся
	
	Если ДокументОбъект.ВидПередачи = Перечисления.ВидыПередачиТоваров.ПоОрдеру Тогда
		
		ТаблицаДвижений.ЗаполнитьЗначения(Истина, "НеСписывать");
		
	КонецЕсли;
	
	
	
	ТаблицаДвижений.ЗаполнитьЗначения(ДокументОбъект.Сделка, "ЗаказПартии");
	
	
	
	ТаблицаДвижений.ЗаполнитьЗначения(ДокументОбъект.Дата,   "Период");
	
	ТаблицаДвижений.ЗаполнитьЗначения(ДокументОбъект.Ссылка, "Регистратор");
	
	ТаблицаДвижений.ЗаполнитьЗначения(Истина, "Активность");
	
	
	
	ТаблицаДвижений.ЗаполнитьЗначения(Перечисления.КодыОперацийПартииТоваров.ПередачаТарыКонтрагенту,"КодОперацииПартииТоваров");
	
	ТаблицаДвижений.ЗаполнитьЗначения(Справочники.Качество.Новый, "Качество");
	
	
	
	ЗаполнитьКолонкиРегистраСписанныеТоварыПоТареУпр(ТаблицаДвижений, СтруктураШапкиДокумента, ТаблицаПоТаре);
	
	
	
	НаборДвижений.мПериод            = ДокументОбъект.Дата;
	
	НаборДвижений.мТаблицаДвижений   = ТаблицаДвижений;
	
	
	
	Если Не Отказ Тогда
		
		ДокументОбъект.Движения.СписанныеТовары.ВыполнитьДвижения();
		
	КонецЕсли;
	
	
	
	Если ДокументОбъект.Движения.СписанныеТовары.Модифицированность() Тогда
		
		ДокументОбъект.Движения.СписанныеТовары.Записать(Истина);
		
	КонецЕсли;
	
	
	
КонецПроцедуры
Показать
15. vlad_d 30.09.20 12:04 Сейчас в теме
(14) Судя по всему, код выдрали из модульдокумента.обработкапроведения и перезаписывают движения по части регистров. Но какое отношение это к счетфактуре имеет - непонятно. При перезаписи документа он просто перетрет эти наборы, и счет-фактура тут вообще непричем.
16. Intercititude 30.09.20 12:09 Сейчас в теме
(15) Возможно где то в общих модулях велосипед, продолжаю поиски.
17. oleg-x 26 30.09.20 12:11 Сейчас в теме
Проверьте этот модуль ладДокументы, для чего вообще он предназначен?
18. Intercititude 30.09.20 12:15 Сейчас в теме
(17) Там всякие проверки,Счет фактура не участвует даже.
19. oleg-x 26 30.09.20 12:19 Сейчас в теме
(18) Как вариант. Раскоментируйте код в модуле РТУ и воспользуйтесь обработкой. И посмотрите что получится. Посмотрите как создается СФ сейчас и как если код не был закомментирован. Возможно увидите разницу и сразу станет понятно.
Intercititude; +1 Ответить
22. Intercititude 30.09.20 12:44 Сейчас в теме
(19) Я так полагаю дело в плане обмена и только. Даже не знаю как быть в такой ситуации. Хм
20. oleg-x 26 30.09.20 12:20 Сейчас в теме
(18) Было бы проще спросить у разработчика, но я так понимаю у него уже не спросить.
21. Intercititude 30.09.20 12:35 Сейчас в теме
23. oleg-x 26 30.09.20 12:56 Сейчас в теме
Как вариант, добавьте экспортную переменную в модуль объекта типа "НеПроверятьСФ".
Далее в обработке сделайте
ДокОбъект.НеПроверятьСФ = Истина;
//А процедуру проверки СФ оберните в код
Если НеПроверятьСФ = Истина Тогда
//Ничего
Иначе
Типовая процедура
КонецЕсли;
Intercititude; +1 Ответить
25. Intercititude 30.09.20 14:18 Сейчас в теме
(23) А если есть связь с обменом какая-либо ? хм
24. oleg-x 26 30.09.20 12:57 Сейчас в теме
Таким образом, если действия выполняются обработкой, то ничего не будет происходить. Если типовыми средствами, то все отработает по типовому коду.
26. Intercititude 30.09.20 15:22 Сейчас в теме
(24) Как оказалось пользователи пользуются лишь обработкой "Групповка обработка справочиков и документов". С помощью неё и меняют СФ. Далее это всё дело идёт в обмен. Я ещё больше запутался теперь..
27. oleg-x 26 30.09.20 15:37 Сейчас в теме
Можно по простому, раскоментируйте код и ждите пока где то сломается. Если жалоб не будет, значит уже давно не актуально все что написано.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот