Обновление Автоверсант 1.0

Обновление типовой АВ 1.0

  1. Зайти в папку "Автоверсант" - "Обновления", найти текстовые документы с названием, похожим на "Изменения".

     В этих текстовых документах написаны изменения, которые нужно внести в конфигурацию.

image.png

2. Начать проверять и  вводить изменения. В документе «Счет на оплату покупателю» должен быть реквизит «фмДокументОснование».

image.png

Информация для создания реквизита:

image.png


После каждого изменения обязательно сохраняться!!!

3. В этом же документе в разделе «Ввод на основании».  В списке «Является основанием для…» должен быть документ «Счет на оплату покупателю» и "фмПодтверждениеПолученияДокумента", а в списке "Вводится на основании..." должен быть документ "фмРеестрТранспортныхУслуг".

image.png

4. В этом же документе в модуле объекта должна быть часть кода с пометкой «фм».

Процедура ЗаполнитьПоДокументуОснованию(Основание)

	***
		// Заполним табличные части
		Отбор = Новый Структура;
		Отбор.Вставить("НомерВерсии", ДанныеОснования.НомерВерсии);
		
		ТоварыВерсии = Основание.Товары.Выгрузить(Отбор);
		
		Для Каждого СтрокаТовары Из ТоварыВерсии Цикл
			НоваяСтрока = Товары.Добавить();
			ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТовары);
		КонецЦикла;
	//ФМ{
	ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.фмРеестрТранспортныхУслуг") Тогда
		
		// Заполним реквизиты шапки по документу основанию.
		ЗаполнениеДокументов.ЗаполнитьПоОснованию(ЭтотОбъект, Основание);
		СтруктурнаяЕдиница = Основание.СтруктурнаяЕдиница;
		
		фмДокументОснования=Основание.ссылка;
		если фмДокументОснования.услуги.количество()>0 тогда
			ставкандс=фмДокументОснования.услуги.получить(0).ставкандс;
		конецесли;
		если основание.короткийсчет тогда
			новаястрока=Товары.Добавить();
			Если Основание.Услуги.Количество() > 0 Тогда
				СписокВыбранныхНоменклатур = Основание.Услуги.Выгрузить();
				СписокВыбранныхНоменклатур.Свернуть("Номенклатура");
				Если СписокВыбранныхНоменклатур.Количество() = 1 Тогда
					новаястрока.Номенклатура = СписокВыбранныхНоменклатур.Получить(0).Номенклатура;
				Иначе
					новаястрока.Номенклатура=Справочники.Номенклатура.НайтиПоНаименованию("Транспортно-зкспедиционные услуги");
				КонецЕсли;
			Иначе
				новаястрока.Номенклатура=Справочники.Номенклатура.НайтиПоНаименованию("Транспортно-зкспедиционные услуги");
			КонецЕсли;
			новаястрока.Содержание="Транспортно-экспедиционные услуги по доставке груза согласно реестра №"+сокрлп(основание.номерреестра)+" от "+сокрлп(сред(основание.дата,1,10));
			новаястрока.Количество=основание.услуги.количество();
			новаястрока.Сумма=?(основание.суммавключаетндс,основание.суммадокумента,основание.услуги.итог("Сумма"));
			новаястрока.СуммаНДС=основание.услуги.итог("СуммаНДС");
			новаястрока.СтавкаНДС=ставкандс;
		иначе
			
			Запрос = Новый Запрос();
			Запрос.УстановитьПараметр("Ссылка", Основание.Ссылка);
			
			Запрос.Текст =
			"ВЫБРАТЬ
			|	АктОбОказанииПроизводственныхУслугУслуги.Номенклатура,
			|	АктОбОказанииПроизводственныхУслугУслуги.СтавкаНДС,
			|	АктОбОказанииПроизводственныхУслугУслуги.Цена,
			|	АктОбОказанииПроизводственныхУслугУслуги.Количество КАК Количество,
			|	АктОбОказанииПроизводственныхУслугУслуги.Сумма КАК Сумма,
			|	АктОбОказанииПроизводственныхУслугУслуги.СуммаНДС КАК СуммаНДС,
			|	АктОбОказанииПроизводственныхУслугУслуги.Содержание
			|ИЗ
			|	Документ.фмРеестрТранспортныхУслуг.Услуги КАК АктОбОказанииПроизводственныхУслугУслуги
			|ГДЕ
			|	АктОбОказанииПроизводственныхУслугУслуги.Ссылка = &Ссылка";
			ВыборкаУслуг = Запрос.Выполнить().Выбрать();
			
			Пока ВыборкаУслуг.Следующий() Цикл
				НоваяСтрока = Товары.Добавить();
				ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаУслуг);
			КонецЦикла;
		конецесли;
		//ФМ}	
	КонецЕсли;

КонецПроцедуры

5. В критерии отбора «Связанные документы» во вкладке «Данные» тип должен содержать определенные документы с пометкой «фм», «тф» и «ав», а в свойствах критерия отбора в составе должны быть помечены почти все реквизиты и табличные части документов с пометкой «тф» и «фм» (не критично, если все) и реквизиты документов «Счет на оплату покупателю» и «Счет на оплату поставщика».

Если нет какого-то реквизита в составе - необходимо проверить тип реквизита. Ссылочный тип реквизита должен быть включен во вкладке данные Связанных документов

Тип:

image.png

image.png

image.png

Состав:

image.png

image.png

image.png

image.png

image.png

image.png

6. В свойствах определяемого типа «Объект с дополнительными командами» тип параметра команды должен содержать определенные документы с пометкой «фм» и «тф».

image.png

image.png

7.  Сохранить изменения.

image.png

8. В свойствах определяемого типа «Владелец файлов» тип должен содержать определенные документы с пометкой «фм» и «тф». И документ Заказ-наряд.

image.png

image.png

image.png

9. В свойствах определяемого типа «Владелец присоединенных файлов» тип должен содержать определенные документы с пометкой «фм» и «тф». И документ Заказ-наряд.

image.png

image.png

image.png

10. В свойствах общей команды «Показать движения документа» тип параметра команды должен содержать определенные документы с пометкой «фм» и «тф»

image.png

image.png

11. В свойствах общей команды «Связанные документы» тип параметра команды должен содержать определенные документы с пометкой «фм» и «тф».

image.png

image.png

12. В свойствах подписки на события «Перед записью документа проверка номера по дате организации подразделению» источник должен содержать "фмРеестрТранспортныхУслуг".

image.png

13. В свойствах подписки на события «Установить префикс информационной базы организации подразделения номеру документа» источник должен содержать "фмРеестрТранспортныхУслуг" и "фмПретензии".

image.png

14. В свойствах подписки на события «Зарегистрировать данные первичных документов» источник должен содержать "фмПретензии".

image.png

15. Проверить "Полные права". Должна стоять галочка на Удалении, но должны быть сняты галочки на Интерактивном удалении.

image.png

16. Проверить базовые права по Экспедиции и Транспорту. В планах счетов должны стоять галочки на чтение и просмотр

image.png

17. В табличной части «По данным организации» документа «Акт сверки взаиморасчетов» есть реквизит «Документ». В свойствах этого реквизита в типе должен быть указан документ «Претензии».

image.png

image.png

18. В регистре сведений «Данные первичных документов» в свойствах измерения «Документ» в типах должен быть указан документ «Претензии».

image.png

image.png

19. В свойствах подписки на события «Перед записью документа проверка номера по дате организации подразделению» обработчик должен содержать часть кода с пометкой "фм".

image.png

Процедура ПроверитьНомерДокументаПоДатеОрганизацииПодразделению(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
	
	Если Источник.ОбменДанными.Загрузка Тогда
		Возврат;
	ИначеЕсли Источник.ЭтоНовый() Тогда
		//ФМ
		если типзнч(источник)=тип("ДокументОбъект.СчетНаОплатуПокупателю") тогда
			Если Источник.Дата > Константы.тфДатаНачалаФормированияПроводокДвиженияТС.Получить() Тогда
				источник.номер=сокрлп(источник.фмДокументОснования.Номер);
			КонецЕсли;
		иначеесли типзнч(источник)=тип("ДокументОбъект.РеализацияТоваровУслуг") тогда
			Если Источник.Дата > Константы.тфДатаНачалаФормированияПроводокДвиженияТС.Получить() Тогда
				источник.номер=сокрлп(источник.СчетНаОплатуПокупателю.Номер);
			КонецЕсли;
		конецесли;
		//ФМ--
		Возврат;
	КонецЕсли;
	
	УстановитьПривилегированныйРежим(Истина);
	
	ИмяОрганизации   = ПрефиксацияОбъектовСобытия.ИмяРеквизитаОрганизация(Источник.Метаданные());
	ИмяПодразделения = ИмяРеквизитаПодразделение(Источник.Ссылка);
	
	СтарыеРеквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Источник.Ссылка, 
		"Дата" + "," + ИмяОрганизации + "," + ИмяПодразделения);
		
	СтарыйПрефикс = ПрефиксОрганизацииПодразделения(СтарыеРеквизиты[ИмяОрганизации], СтарыеРеквизиты[ИмяПодразделения]);
	НовыйПрефикс  = ПрефиксОрганизацииПодразделения(Источник[ИмяОрганизации], Источник[ИмяПодразделения]);
		
	Если НовыйПрефикс <> СтарыйПрефикс 
		ИЛИ НЕ ПрефиксацияОбъектовСлужебный.ДатыОбъектаОдногоПериода(
			СтарыеРеквизиты.Дата, 
			Источник.Дата, 
			Источник.Ссылка) Тогда
			
		Источник.Номер = "";
		
	КонецЕсли;
	
КонецПроцедуры

20. В свойствах подписки на события «Перед записью документа проверка номера по дате и организации» обработчик должен содержать часть кода с пометкой "фм".

image.png

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

21. Запрет на редактирование в общем модуле «Даты запрета изменения БП» - часть кода с пометкой "фм".

Процедура ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения(Знач ИсточникиДанных) Экспорт
	
	// Данные(Таблица, ПолеДаты, Раздел, ПолеОбъекта)
	
	//ФМ
	ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.фмРеестрТранспортныхУслуг", "Дата" , "БухгалтерскийУчет", "Организация");
	//ФМ--
	
	ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.АвансовыйОтчет"                                                  , "Дата" , "БухгалтерскийУчет", "Организация");
	ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.АктОбОказанииПроизводственныхУслуг"                              , "Дата" , "БухгалтерскийУчет", "Организация");
	ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.АктСверкиВзаиморасчетов"                                         , "Дата" , "БухгалтерскийУчет", "Организация");
    
    ***

КонецПроцедуры

22. В подписке на события «Проверить дату запрета изменения перед записью документа БП» в источнике должен быть добавлен "фмРеестрТранспортныхУслуг".

image.png

23. В общем модуле «Управление печатью переопределяемый» должна быть часть кода с пометкой "фм".

Процедура ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт
	
    ***
	СписокОбъектов.Добавить(Документы.ФормированиеУставногоКапитала);
	СписокОбъектов.Добавить(Документы.ФормированиеЗаписейРаздела7ДекларацииНДС);
	СписокОбъектов.Добавить(Документы.ПередачаЗадолженностиНаФакторинг);
	СписокОбъектов.Добавить(Документы.НачислениеДивидендов);
	
	СписокОбъектов.Добавить(Документы.фмЗаявкиПоЭкспедиции); //ФМ
	СписокОбъектов.Добавить(Документы.фмРеестрТранспортныхУслуг); //ФМ
	СписокОбъектов.Добавить(Документы.тфПутевойЛист); //ФМ
	СписокОбъектов.Добавить(Документы.фмПретензии); //ФМ
	СписокОбъектов.Добавить(Документы.фмСчетНаОплатуОтПеревозчика); //ФМ
	СписокОбъектов.Добавить(Документы.фмПодтверждениеПолученияДокументов); //ФМ
	СписокОбъектов.Добавить(Документы.тфЗаявкаНаРемонтТС); //ФМ
	СписокОбъектов.Добавить(Документы.тфАктОсмотраТранспортногоСредства); //ФМ
	СписокОбъектов.Добавить(Документы.фмПодтверждениеПолученияДокументов); //ФМ
	СписокОбъектов.добавить(Документы.тфВыдачаРасходныхМатериалов); //фм
	СписокОбъектов.добавить(Документы.тфЗаказНаряд); //фм
	
	СписокОбъектов.Добавить(ЖурналыДокументов.Деньги);
	СписокОбъектов.Добавить(ЖурналыДокументов.ДенежныеДокументы);
	СписокОбъектов.Добавить(ЖурналыДокументов.ДокументыПоНМА);
	СписокОбъектов.Добавить(ЖурналыДокументов.ДокументыПоОС);
	СписокОбъектов.Добавить(ЖурналыДокументов.Документы);
	СписокОбъектов.Добавить(ЖурналыДокументов.ЖурналОпераций);
	СписокОбъектов.Добавить(ЖурналыДокументов.ПроизводственныеДокументы);
	СписокОбъектов.Добавить(ЖурналыДокументов.СкладскиеДокументы);
	СписокОбъектов.Добавить(ЖурналыДокументов.ВыплатаЗарплаты);
	
	СписокОбъектов.Добавить(ПланыСчетов.Хозрасчетный);
	
	УчетОбособленныхПодразделений.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	УчетОбесцененияЗапасов.НастроитьКомандыПечати(СписокОбъектов);
	
	ЗарплатаКадры.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	
	РегламентированнаяОтчетность.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	
	ЭлектронноеВзаимодействие.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	
	ПрослеживаемостьБРУ.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	
	УчетПроцентовПоОбязательствам.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	
	// ИнтеграцияИСМП
	СписокОбъектов.Добавить(Документы.МаркировкаТоваровИСМП);
	СписокОбъектов.Добавить(Документы.ВыводИзОборотаИСМП);
	СписокОбъектов.Добавить(Документы.ЗаказНаЭмиссиюКодовМаркировкиСУЗ);
	СписокОбъектов.Добавить(Документы.ПеремаркировкаТоваровИСМП);
	СписокОбъектов.Добавить(Документы.СписаниеКодовМаркировкиИСМП);
	
КонецПроцедуры

24. В модуле объекта документа "Счет на оплату поставщика" должна быть часть кода с пометкой "фм". 

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
	
	СуммаВключаетНДС = Истина;
	
	ЗаполнениеДокументов.Заполнить(ЭтотОбъект, ДанныеЗаполнения);
	
	//ФМ
	Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.фмСчетНаОплатуОтПеревозчика") Тогда
		тфСчетОтПеревозчика = ДанныеЗаполнения.ссылка;
		Организация = ДанныеЗаполнения.Организация;
		Контрагент = ДанныеЗаполнения.Контрагент;
		//ДоговорКонтрагента = ДанныеЗаполнения.Договор;
		НомерВходящегоДокумента = ДанныеЗаполнения.НомерСчета;
		ДатаВходящегоДокумента = ДанныеЗаполнения.ДатаСчета;
		СуммаВключаетНДС = РегистрыСведений.тфПараметрыУчетаПоТранспорту.ПолучитьПоследнее(Дата).НДСВСуммеВСчетахОтПоставщика;
		Если Дата >= Дата(2019, 1, 1) Тогда
			ндс = 20;
			СтавкаНДС = Перечисления.СтавкиНДС.НДС20;
		Иначе
			ндс = 18;
			СтавкаНДС = Перечисления.СтавкиНДС.НДС18;
		КонецЕсли;
		для каждого текстрока из ДанныеЗаполнения.СписокЗаявок цикл
			нс = Товары.Добавить();
			Если текстрока.Заявка.Услуги.Количество() > 0 Тогда
				нс.Номенклатура = текстрока.Заявка.Услуги.Получить(0).Номенклатура;
				Если текстрока.Заявка.СуммаПеревозчикаБезНДС Тогда
					СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
				Иначе
					СтавкаНДС = текстрока.Заявка.Услуги.Получить(0).СтавкаНДС;
				КонецЕсли;
				Если СтавкаНДС = Перечисления.СтавкиНДС.БезНДС Тогда
					ндс = 0;
				ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС18 Тогда
					ндс = 18;
				ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС20 Тогда	
					ндс = 20;
				КонецЕсли;
			КонецЕсли;
			нс.Содержание = фмОбщий.ПолучитьСодержаниеУслугиЗаявки(текстрока.заявка, нс.Номенклатура);
			нс.СуммаНДС = УчетНДСКлиентСервер.РассчитатьСуммуНДС(текстрока.сумма, истина, ндс);
			нс.Сумма = ?(СуммаВключаетНДС, текстрока.сумма, текстрока.сумма - нс.СуммаНДС);
			нс.СтавкаНДС = СтавкаНДС;			
		конеццикла;
	КонецЕсли;
	//ФМ--
КонецПроцедуры

 

Не для всех компании

Вернуть права пользователю А.Е.В. через конфигуратор после обновления (опыт решения 000000087):

1) Проведение документов автотранспорта в закрытом периоде
2) Автоверсант экспедиция редактирование заявки с проведенным реестром

image.png

image.png

Ошибки при обновлении АВ 1.0

На удаляемый объект есть ссылки в объектах основной конфигурации:

Ошибка:

image.png

Решение:

Необходимо выполнить поиск ссылок на объект и удалить все имеющиеся ссылки.

image.png

Записи регистра сведений стали неуникальными:

Ошибка:

image.png

Решение 1:

Вернуться к конфигурации БД и заново накатить обновления. При каждой накатке в окне сравнения/объединения конфигураций снять флажок на изменения того объекта, на который ругается программа

Решение 2:

Через консоль запросов проверить дубли значений и типов значений в регистре, на который ругается программа. Если есть - очистить.

Решение 3:

Осторожно!!! Могут быть необратимо потеряны данные!!! Сначала проконсультироваться с программистом!!! Перед очисткой рекомендуется снять копию базы!!

Очистить полностью регистр, на который выходит ошибка. Обработка очистки регистра: ОчисткаРегистров.epf.

Ошибка при выполнении файловой операции:

Ошибка:

image.png

Решение:

Одна из причин возникновения ошибки: кривой файл обновления. Необходимо удалить и заново скачать  и установить файл обновления.

Ошибка при проведении Заказ-Нарядов после обновления:

Ошибка:

image.png

Решение:

Убрать флажок "Разрешить разделение итогов".

image.png

Обновление АВ 1.0 для ЛТ

1. Зайти в папку "Автоверсант" - "Обновления", найти текстовые документы с названием, похожим на "Изменения".

В этих текстовых документах написаны изменения, которые нужно внести в конфигурацию.

image.png

2. Начать проверять и  вводить изменения. В документе «Счет на оплату покупателю» должен быть реквизит «фмДокументОснование».

image.png

Информация для создания реквизита:

image.png

После каждого изменения обязательно сохраняться!!!

3. В этом же документе в разделе «Ввод на основании».  В списке «Является основанием для…» должен быть документ «Счет на оплату покупателю».

image.png

4. В этом же документе в модуле объекта должна быть часть кода с пометкой «фм».

Процедура ЗаполнитьПоДокументуОснованию(Основание)

	***

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

		// Заполним реквизиты шапки по документу основанию.
		ЗаполнениеДокументов.ЗаполнитьПоОснованию(ЭтотОбъект, Основание);
        фмДокументОснования=Основание.ссылка;
		если фмДокументОснования.услуги.количество()>0 тогда
			ставкандс=фмДокументОснования.услуги.получить(0).ставкандс;
		конецесли;
	БанкСчетЮУД = Документы.фмРеестрТранспортныхУслуг.ПолучитьБанковскийСчетПоЮУД(Контрагент,ДоговорКонтрагента);
	Если ЗначениеЗаполнено(БанкСчетЮУД) Тогда 
		 СтруктурнаяЕдиница = БанкСчетЮУД;
	КонецЕсли;
		если основание.короткийсчет тогда
			новаястрока=Товары.Добавить();
			новаястрока.Номенклатура=Справочники.Номенклатура.НайтиПоНаименованию("Транспортно-зкспедиционные услуги");
			новаястрока.Содержание="Транспортно-экспедиционные услуги по доставке груза согласно реестра №"+сокрлп(основание.номерреестра)+" от "+сокрлп(сред(основание.дата,1,10));
			новаястрока.Количество=основание.услуги.количество();
			новаястрока.Сумма=?(основание.суммавключаетндс,основание.суммадокумента,основание.услуги.итог("Сумма"));
			новаястрока.СуммаНДС=основание.услуги.итог("СуммаНДС");
			новаястрока.СтавкаНДС=ставкандс;
		иначе
			
			Запрос = Новый Запрос();
			Запрос.УстановитьПараметр("Ссылка", Основание.Ссылка);
			
			Запрос.Текст =
			"ВЫБРАТЬ
			|	АктОбОказанииПроизводственныхУслугУслуги.Номенклатура,
			|	АктОбОказанииПроизводственныхУслугУслуги.СтавкаНДС,
			|	АктОбОказанииПроизводственныхУслугУслуги.Цена,
			|	АктОбОказанииПроизводственныхУслугУслуги.Количество КАК Количество,
			|	АктОбОказанииПроизводственныхУслугУслуги.Сумма КАК Сумма,
			|	АктОбОказанииПроизводственныхУслугУслуги.СуммаНДС КАК СуммаНДС,
			|	АктОбОказанииПроизводственныхУслугУслуги.Содержание
			|ИЗ
			|	Документ.фмРеестрТранспортныхУслуг.Услуги КАК АктОбОказанииПроизводственныхУслугУслуги
			|ГДЕ
			|	АктОбОказанииПроизводственныхУслугУслуги.Ссылка = &Ссылка";
			ВыборкаУслуг = Запрос.Выполнить().Выбрать();
			
			Пока ВыборкаУслуг.Следующий() Цикл
				НоваяСтрока = Товары.Добавить();
				ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаУслуг);
			КонецЦикла;
		конецесли;
	//ФМ}	
	КонецЕсли;

КонецПроцедуры

5. В критерии отбора «Связанные документы» во вкладке «Данные» тип должен содержать определенные документы с пометкой «фм», «тф» и «ав», а в свойствах критерия отбора в составе должны быть помечены почти все реквизиты и табличные части документов с пометкой «тф» и «фм» (не критично, если все) и реквизиты документов «Счет на оплату покупателю» и «Счет на оплату поставщика».

Если нет какого-то реквизита в составе - необходимо проверить тип реквизита. Ссылочный тип реквизита должен быть включен во вкладке данные Связанных документов.

Тип:

image.png

image.png

Состав:

image.png

image.png

image.png

image.png

6. В свойствах определяемого типа «Объект с дополнительными командами» тип должен содержать определенные документы с пометкой «фм» и «тф».

image.png

image.png

7.  Сохранить изменения.

image.png

8. В свойствах общей команды «Показать движения документа» тип параметра команды должен содержать определенные документы с пометкой «фм» и «тф»

image.png

image.png

9. В свойствах общей команды «Связанные документы» тип параметра команды должен содержать определенные документы с пометкой «фм» и «тф».

image.png

image.png

10. В свойствах подписки на события «Перед записью документа проверка номера по дате организации подразделению» источник должен содержать "фмРеестрТранспортныхУслуг".

image.png

11. В свойствах подписки на события «Установить префикс информационной базы организации подразделения номеру документа» источник должен содержать "фмРеестрТранспортныхУслуг" и "фмПретензии".

image.png

12. В свойствах подписки на события «Зарегистрировать данные первичных документов» источник должен содержать "фмПретензии".

image.png

13. Проверить "Полные права". Должна стоять галочка на Удалении, но должны быть сняты галочки на Интерактивном удалении. Проверить Базовые права - План счетов.

image.png

image.png

14. В табличной части «По данным организации» документа «Акт сверки взаиморасчетов» есть реквизит «Документ». В свойствах этого реквизита в типе должен быть указан документ «Претензии».

image.png

image.png

15. В регистре сведений «Данные первичных документов» в свойствах измерения «Документ» в типах должен быть указан документ «Претензии».

image.png

image.png

16. В свойствах подписки на события «Перед записью документа проверка номера по дате организации подразделению» обработчик должен содержать часть кода с пометкой "фм".

image.png

Процедура ПроверитьНомерДокументаПоДатеОрганизацииПодразделению(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
	
	Если Источник.ОбменДанными.Загрузка Тогда
		Возврат;
	ИначеЕсли Источник.ЭтоНовый() Тогда
		//ФМ
		если типзнч(источник)=тип("ДокументОбъект.СчетНаОплатуПокупателю") тогда
			Если Источник.Дата > Константы.тфДатаНачалаФормированияПроводокДвиженияТС.Получить() Тогда
				источник.номер=сокрлп(источник.фмДокументОснования.Номер);
			КонецЕсли;
		иначеесли типзнч(источник)=тип("ДокументОбъект.РеализацияТоваровУслуг") тогда
			Если Источник.Дата > Константы.тфДатаНачалаФормированияПроводокДвиженияТС.Получить() Тогда
				Если ЗначениеЗаполнено(Источник.СчетНаОплатуПокупателю) и Не Источник.СчетНаОплатуПокупателю.фмДокументОснования.Пустая() Тогда
					источник.номер = сокрлп(источник.СчетНаОплатуПокупателю.Номер);
				КонецЕсли;
			КонецЕсли;
		конецесли;
		//ФМ--
		Возврат;
	КонецЕсли;
	
	УстановитьПривилегированныйРежим(Истина);
	
	ИмяОрганизации   = ПрефиксацияОбъектовСобытия.ИмяРеквизитаОрганизация(Источник.Метаданные());
	ИмяПодразделения = ИмяРеквизитаПодразделение(Источник.Ссылка);
	
	СтарыеРеквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Источник.Ссылка, 
		"Дата" + "," + ИмяОрганизации + "," + ИмяПодразделения);
		
	СтарыйПрефикс = ПрефиксОрганизацииПодразделения(СтарыеРеквизиты[ИмяОрганизации], СтарыеРеквизиты[ИмяПодразделения]);
	НовыйПрефикс  = ПрефиксОрганизацииПодразделения(Источник[ИмяОрганизации], Источник[ИмяПодразделения]);
		
	Если НовыйПрефикс <> СтарыйПрефикс 
		ИЛИ НЕ ПрефиксацияОбъектовСлужебный.ДатыОбъектаОдногоПериода(
			СтарыеРеквизиты.Дата, 
			Источник.Дата, 
			Источник.Ссылка) Тогда
			
		Источник.Номер = "";
		
	КонецЕсли;
	
КонецПроцедуры

17. В свойствах подписки на события «Перед записью документа проверка номера по дате и организации» обработчик должен содержать часть кода с пометкой "фм".

image.png

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

18. Запрет на редактирование в общем модуле «Даты запрета изменения БП» - часть кода с пометкой "фм".

Процедура ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения(Знач ИсточникиДанных) Экспорт
	
	// Данные(Таблица, ПолеДаты, Раздел, ПолеОбъекта)
	
	//ФМ
	ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.фмРеестрТранспортныхУслуг", "Дата" , "БухгалтерскийУчет", "Организация");
	//ФМ--
	
	ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.АвансовыйОтчет"                                                  , "Дата" , "БухгалтерскийУчет", "Организация");
	ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.АктОбОказанииПроизводственныхУслуг"                              , "Дата" , "БухгалтерскийУчет", "Организация");
	ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.АктСверкиВзаиморасчетов"                                         , "Дата" , "БухгалтерскийУчет", "Организация");
	ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.АктОРасхождениях"                                                , "Дата" , "БухгалтерскийУчет", "Организация");
	ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.АктОРасхожденияхПолученный"                                      , "Дата" , "БухгалтерскийУчет", "Организация");
	ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.ВводНачальныхОстатков"                                           , "Дата" , "БухгалтерскийУчет", "Организация");
    
    ***
	
КонецПроцедуры

19. В подписке на события «Проверить дату запрета изменения перед записью документа БП» в источнике должен быть добавлен "фмРеестрТранспортныхУслуг".

image.png

20. В общем модуле «Управление печатью переопределяемый» должна быть часть кода с пометкой "фм".

Процедура ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт
	
	***
    
	СписокОбъектов.Добавить(Документы.ПередачаЗадолженностиНаФакторинг);
	СписокОбъектов.Добавить(Документы.НачислениеДивидендов);
	
	СписокОбъектов.Добавить(Документы.фмЗаявкиПоЭкспедиции); //ФМ
	СписокОбъектов.Добавить(Документы.фмРеестрТранспортныхУслуг); //ФМ
	СписокОбъектов.Добавить(Документы.тфПутевойЛист); //ФМ
	
	СписокОбъектов.Добавить(ЖурналыДокументов.Деньги);
	СписокОбъектов.Добавить(ЖурналыДокументов.ДенежныеДокументы);
	СписокОбъектов.Добавить(ЖурналыДокументов.ДокументыПоНМА);
	СписокОбъектов.Добавить(ЖурналыДокументов.ДокументыПоОС);
	СписокОбъектов.Добавить(ЖурналыДокументов.Документы);
	СписокОбъектов.Добавить(ЖурналыДокументов.ЖурналОпераций);
	СписокОбъектов.Добавить(ЖурналыДокументов.ПроизводственныеДокументы);
	СписокОбъектов.Добавить(ЖурналыДокументов.СкладскиеДокументы);
	СписокОбъектов.Добавить(ЖурналыДокументов.ВыплатаЗарплаты);
	
	СписокОбъектов.Добавить(ПланыСчетов.Хозрасчетный);
	
	УчетОбособленныхПодразделений.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	УчетОбесцененияЗапасов.НастроитьКомандыПечати(СписокОбъектов);
	
	ЗарплатаКадры.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	
	РегламентированнаяОтчетность.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	
	ЭлектронноеВзаимодействие.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	
	ПрослеживаемостьБРУ.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	
	УчетПроцентовПоОбязательствам.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	
	// ИнтеграцияИСМП
	СписокОбъектов.Добавить(Документы.МаркировкаТоваровИСМП);
	СписокОбъектов.Добавить(Документы.ВыводИзОборотаИСМП);
	СписокОбъектов.Добавить(Документы.ЗаказНаЭмиссиюКодовМаркировкиСУЗ);
	СписокОбъектов.Добавить(Документы.ПеремаркировкаТоваровИСМП);
	СписокОбъектов.Добавить(Документы.СписаниеКодовМаркировкиИСМП);
	
КонецПроцедуры

21. В общем модуле «Дополнительные отчеты и обработки переопределяемый» должна быть часть кода с пометкой "фм".

Процедура ОпределитьРазделыСДополнительнымиОтчетами(Разделы) Экспорт
	
	Разделы.Добавить(Метаданные.Подсистемы.Руководителю);
	Разделы.Добавить(Метаданные.Подсистемы.БанкИКасса);
	Разделы.Добавить(Метаданные.Подсистемы.Продажи);
	Разделы.Добавить(Метаданные.Подсистемы.Покупки);
	Разделы.Добавить(Метаданные.Подсистемы.Склад);
	Разделы.Добавить(Метаданные.Подсистемы.Производство);
	Разделы.Добавить(Метаданные.Подсистемы.ОСИНМА);
	Разделы.Добавить(Метаданные.Подсистемы.ЗарплатаИКадры);
	Разделы.Добавить(Метаданные.Подсистемы.Операции);
	Разделы.Добавить(Метаданные.Подсистемы.Отчеты);
	Разделы.Добавить(Метаданные.Подсистемы.Справочники);
	
	//ФМ//тф++
	Разделы.Добавить(Метаданные.Подсистемы.тфОтчетыБухгалтерии);
	Разделы.Добавить(Метаданные.Подсистемы.тфОтчетыЛогистов);
	Разделы.Добавить(Метаданные.Подсистемы.тфОтчетыНачальниковКолонн);
    Разделы.Добавить(Метаданные.Подсистемы.тфОтчетыТехОтдела);
	Разделы.Добавить(Метаданные.Подсистемы.тфОтчетыОтделаКадров);
	Разделы.Добавить(Метаданные.Подсистемы.тфОтчетыРуководителей);
	Разделы.Добавить(Метаданные.Подсистемы.тфОтчетыТрансЛайнер);
	//тф--
	
КонецПроцедуры

22. В модуле объекта документа "Счет на оплату от поставщика" должна быть часть кода с пометкой "фм". 

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
	
	СуммаВключаетНДС = Истина;
	
	ЗаполнениеДокументов.Заполнить(ЭтотОбъект, ДанныеЗаполнения);
	
	//ФМ
	Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.фмСчетНаОплатуОтПеревозчика") Тогда
		тфСчетОтПеревозчика = ДанныеЗаполнения.ссылка;
		Организация = ДанныеЗаполнения.Организация;
		Контрагент = ДанныеЗаполнения.Контрагент;
		//ДоговорКонтрагента = ДанныеЗаполнения.Договор;
		НомерВходящегоДокумента = ДанныеЗаполнения.НомерСчета;
		ДатаВходящегоДокумента = ДанныеЗаполнения.ДатаСчета;
		СуммаВключаетНДС = Истина;
		Если Дата >= Дата(2019, 1, 1) Тогда
			ндс = 20;
			СтавкаНДС = Перечисления.СтавкиНДС.НДС20;
		Иначе
			ндс = 18;
			СтавкаНДС = Перечисления.СтавкиНДС.НДС18;
		КонецЕсли;
		для каждого текстрока из ДанныеЗаполнения.СписокЗаявок цикл
			нс = Товары.Добавить();
			Если текстрока.Заявка.Услуги.Количество() > 0 Тогда
				нс.Номенклатура = текстрока.Заявка.Услуги.Получить(0).Номенклатура;
				Если текстрока.Заявка.СуммаПеревозчикаБезНДС Тогда
					СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
				Иначе
					СтавкаНДС = текстрока.Заявка.Услуги.Получить(0).СтавкаНДС;
				КонецЕсли;
				Если СтавкаНДС = Перечисления.СтавкиНДС.БезНДС Тогда
					ндс = 0;
				ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС18 Тогда
					ндс = 18;
				ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС20 Тогда	
					ндс = 20;
				КонецЕсли;
			КонецЕсли;
			нс.Содержание = фмОбщий.ПолучитьСодержаниеУслугиЗаявки(текстрока.заявка, нс.Номенклатура);
			нс.СуммаНДС = УчетНДСКлиентСервер.РассчитатьСуммуНДС(текстрока.сумма, истина, ндс);
			нс.Сумма = ?(СуммаВключаетНДС, текстрока.сумма, текстрока.сумма - нс.СуммаНДС);
			нс.СтавкаНДС = СтавкаНДС;			
		конеццикла;
	КонецЕсли;
	//ФМ--
КонецПроцедуры

RLS-шаблоны

1. В свойствах определяемого типа «Владелец значений ключей доступа» тип должен содержать определенные документы и справочники с пометкой «фм» и «тф». Конкретно: документ "Заявка по экспедиции" и справочник "Транспортное средство".

image.png

image.png

2. В свойствах определяемого типа «Владелец значений ключей доступа документ» тип должен содержать определенные документы и справочники с пометкой «фм» и «тф».

Конкретно: документ объект "Заявка по экспедиции"!!!!!

image.png

3. В свойствах определяемого типа «Владелец значений ключей доступа объект» тип должен содержать определенные документы и справочники с пометкой «фм» и «тф».

Конкретно: справочник объект "Транспортное средство"!!!!!!

image.png

4. В свойствах определяемого типа «Значение доступа» тип должен содержать определенные документы и справочники с пометкой «фм» и «тф». Конкретно: справочник "Транспортное средство".

image.png

5. В свойствах определяемого типа «Значение доступа объект» тип должен содержать определенные документы и справочники с пометкой «фм» и «тф».

Конкретно: справочник объект "Транспортное средство"!!!!!!!

image.png

6. В свойствах определяемого типа «Поле регистра ключей доступа к регистрам» тип должен содержать определенные документы и справочники с пометкой «фм» и «тф». Конкретно: справочник "Транспортное средство".

image.png

7.  В общем модуле "Управление доступом БП" должна быть часть кода с пометкой "фм".

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

8. В том же общем модуле "Управление доступом БП" должна быть часть кода с пометкой "фм".

Процедура ЗаполнитьВидыОграниченийПравОбъектовМетаданных(Описание) Экспорт

	Описание = "
	|Документ.фмЗаявкиПоЭкспедиции.Чтение.ТС     //фм разграничение ТС
	|Документ.фмЗаявкиПоЭкспедиции.Изменение.ТС //фм разграничение ТС    	
	|Справочник.тфТранспортноеСредство.Чтение.ТС     //фм разграничение ТС
	|Справочник.тфТранспортноеСредство.Изменение.ТС  //фм разграничение ТС 
	|РегистрНакопления.тфСтавкиСобственногоТранспорта.Чтение.ТС  //фм разграничение ТС 
	|Справочник.АвансовыйПлатежИностранцаПоНДФЛПрисоединенныеФайлы.Чтение.ГруппыФизическихЛиц
	|Справочник.АвансовыйПлатежИностранцаПоНДФЛПрисоединенныеФайлы.Чтение.Организации
    
    ***
    
КонецПроцедуры

 

Доработки по бухгалтерской части (исправление ошибок)

В справочнике "Банковские счета" - в формах "Форма списка" и "Форма выбора" - в динамическом списке - во вкладке Параметры необходимо указать тип "Банковские счета" у параметра "Основной банковский счет".

image.png

Обновление АВ 1.0 при помощи cf-файла

Накатывание типового обновления:
  1. Зайти в конфигуратор Автоверсант и открыть информацию о программе

image.png

2. Найти номер релиза Бухгалтерии предприятия и скопировать его без скобок

image.png

3. Перейти на сайт: https://users.v8.1c.ru. Нажать на ссылку "Скачать обновления".

image.png

4. На открывшейся странице ввести логин, пароль и нажать на кнопку "Войти"

image.png

5. В имеющемся списке найти группу "Типовые конфигурации фирмы 1С для России". Во избежание путаницы, остальные группы можно свернуть.

image.png

6. В этой группе найти нужную типовую конфигурацию, обозначенную в конфигураторе возле релиза Бухгалтерии предприятия и перейти по ссылке. В этом случае, "Бухгалтерия предприятия, редакция 3.0". 

image.png

image.png

7. В списке релизов сочетанием клавиш "Ctrl+F" вызвать строку поиска и вставить в него скопированный в пункте 2 номер релиза. Найти самый первый в списке новый релиз, в колонке "Обновление версии" которого содержится текущий релиз программы, вставленный в поисковик. В этом случае, самым первым в списке новым релизом будет являться 3.0.126.18. Далее перейти по ссылке этого нового релиза.

image.png

8. В новом окне обратить внимание на предупреждение, в котором описаны версии платформы, поддерживающие данный релиз. Необходимо сверить текущую версию платформы с версиями на сайте.

image.png

В этом случае, текущая версия платформы - 8.3.18.1741. В списке версий платформы на сайте найти версию с первыми тремя числами: 8.3.18. На сайте есть подобная версия: 8.3.18.1957. Последние числа двух версий необходимо сравнить 1741 > 1957.

Вывод: версия платформы ниже поддерживаемой версии. Значит необходимо попросить системного администратора обновить платформу, прежде чем обновлять.

image.png

При неподходящей версии платформы накатывать релизы и cf-файл можно, нельзя только обновлять. Поэтому лучший вариант: попросить системного администратора обновить платформу, а пока продолжить накатывать.

9. Перейти по ссылке "Дистрибутив обновления"

image.png

10. Далее выбрать "Скачать дистрибутив". После этого начнется скачивание.

image.png

11. Следующий релиз уже необходимо подбирать по предыдущему скачанному релизу. В этом случае, в 7-ом пункте был скачан релиз 3.0.126.18, значит через строку поиска необходимо найти новый релиз, содержащий в колонке Обновление версии данный номер: 3.0.126.18. Значит следующим скачивается релиз 3.0.128.15. И такие действия проделываются до нужного релиза.

image.png

12. После скачивания релизов перейти к папке, где они находятся.

image.png

13. Каждый их этих архивов извлечь: файлы с написанными релизами. Например: 3.0.126.18 и 3.0.128.15.

image.png

14. Провалиться в каждый из разархивированных файлов, нажать на кнопку"setup".

image.png

image.png

15. Проделать определенные настройки

Нажать на кнопку "Далее".

image.png

Выбрать папку или запомнить путь, где сохранится файл обновления. Нажать на кнопку "Далее". 

image.png

Снять галочку и нажать на кнопку "Готово".

image.png

16. Перейти в конфигуратор, выбрать Конфигурация - Поддержка - Обновить конфигурацию.

image.png

17. В открывшемся окне выбрать "Выбор файла обновления" и нажать на кнопку Далее.

image.png

18. Через кнопку "Три точки" выбрать папку, где было сохранено обновление, перейти в папку 1С - Accounting - Номер релиза. Выбрать файл с названием "1cv8".

Релизы устанавливаются в том порядке, в каком скачивались. Например: первым будет релиз 3.0.126.18, потом 3.0.128.15. От меньшего к большему!

image.png

image.png

19. Нажать на кнопку Продолжить обновление.

image.png

20. Если все сделано правильно, то через какое-то время выйдет окно сравнения релизов, если - нет, то программа попросту не даст вам обновиться. Здесь нажать на кнопку ОК.

image.png

21. После долгой загрузки выйдет окно сравнения объектов конфигурации. Здесь нажать на кнопку Выполнить.

image.png

22. О том, что загрузка в процессе или завершена, можно узнать в нижней части конфигуратора. В данному случае процесс идет.

image.png

23. После долгой загрузки выйдет предупреждение о том, что некоторые объекты в конфигурации изменены. Нажать на кнопку Да.

image.png

24. В окне Настройка правил поддержки нажать на кнопку ОК. Далее снова пойдет долгая загрузка.

image.png

25. После успешного завершения накатывания нажать на кнопку ОК.

image.png

26. После недолгой загрузки сохранить накатку. Чтобы вместо звездочки появился "!". Точно таким же образом необходимо накатить все релизы. 

image.png

Накатывание cf-файла

27. Далее скачать cf-файл (Сервисы-Фиксация действий для контрагентов) , перейти в конфигуратор, выбрать Сравнить, объединить с конфигурацией из файла...

image.png

28. В окне выбора файла выбрать скачанный cf-файл.

image.png

29. Начнется загрузка, затем откроется окно сравнения объектов конфигурации. Нажать на кнопку Выполнить.

image.png

30. Подтвердить успешно завершенное обновление.

image.png

31. Сохранить введенные изменения

image.png

Монопольно!
Обновление монопольно:

Монопольное обновление - обновление после выхода всех пользователей из программы.

1. Войти во вкладку Администрирование - Обслуживание.

image.png

2. В открывшемся окне перейти по ссылке Активные пользователи

image.png

3. Нажать на строку с первым пользователем и сочетанием клавиш Ctrl+A выделить всех пользователей в списке. 

image.png

4. Найти в списке пользователя в конфигураторе. Зажатием клавиши Ctrl нажать на пользователя и отменить выделение

image.png

5. Нажать на кнопку Завершить

image.png

6. Перед обновлением ОБЯЗАТЕЛЬНО выгрузить копию базы. Сохранять в папку Автоверсант - Архив. 

image.png

7. Нажать на кнопку ОК.

image.png

8. Обновить, нажав на кнопку "Бочонок"

image.png

image.png

9. Зайти в пользовательский режим.

image.png

10. Поставить галочку и нажать на кнопку "Продолжить"

image.png

11. После завершению загрузки пользовательский режим оставить открытым, а конфигурацию обязательно закрыть!

image.png

Обновление АВ 1.0 для ТМП

1. Зайти в папку "Автоверсант" - "Обновления", найти текстовые документы с названием, похожим на "Изменения".

В этих текстовых документах написаны изменения, которые нужно внести в конфигурацию.

image.png

2. Начать проверять и  вводить изменения. В документе «Счет на оплату покупателю» должен быть реквизит «фмДокументОснование».

image.png

Информация для создания реквизита:

image.png

После каждого изменения обязательно сохраняться!!!

3. В этом же документе в разделе «Ввод на основании».  В списке «Является основанием для…» должен быть документ «Счет на оплату покупателю», фмПодтверждениеОплаты и "фмПодтверждениеПолученияДокумента", а в списке "Вводится на основании..." должен быть документ "фмРеестрТранспортныхУслуг".

image.png

4. В этом же документе в модуле объекта должна быть часть кода с пометкой «фм».

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

		// Заполним реквизиты шапки по документу основанию.
		ЗаполнениеДокументов.ЗаполнитьПоОснованию(ЭтотОбъект, Основание);
        фмДокументОснования=Основание.ссылка;
		если фмДокументОснования.услуги.количество()>0 тогда
			ставкандс=фмДокументОснования.услуги.получить(0).ставкандс;
		конецесли;
		если основание.короткийсчет тогда
			новаястрока=Товары.Добавить();
			новаястрока.Номенклатура=Справочники.Номенклатура.НайтиПоНаименованию("Транспортно-зкспедиционные услуги");
			новаястрока.Содержание="Транспортно-экспедиционные услуги по доставке груза согласно реестра №"+сокрлп(основание.номерреестра)+" от "+сокрлп(сред(основание.дата,1,10));
			новаястрока.Количество=основание.услуги.количество();
			новаястрока.Сумма=?(основание.суммавключаетндс,основание.суммадокумента,основание.услуги.итог("Сумма"));
			новаястрока.СуммаНДС=основание.услуги.итог("СуммаНДС");
			новаястрока.СтавкаНДС=ставкандс;
		иначе
			
			Запрос = Новый Запрос();
			Запрос.УстановитьПараметр("Ссылка", Основание.Ссылка);
			
			Запрос.Текст =
			"ВЫБРАТЬ
			|	АктОбОказанииПроизводственныхУслугУслуги.Номенклатура,
			|	АктОбОказанииПроизводственныхУслугУслуги.СтавкаНДС,
			|	АктОбОказанииПроизводственныхУслугУслуги.Цена,
			|	АктОбОказанииПроизводственныхУслугУслуги.Количество КАК Количество,
			|	АктОбОказанииПроизводственныхУслугУслуги.Сумма КАК Сумма,
			|	АктОбОказанииПроизводственныхУслугУслуги.СуммаНДС КАК СуммаНДС,
			|	АктОбОказанииПроизводственныхУслугУслуги.Содержание
			|ИЗ
			|	Документ.фмРеестрТранспортныхУслуг.Услуги КАК АктОбОказанииПроизводственныхУслугУслуги
			|ГДЕ
			|	АктОбОказанииПроизводственныхУслугУслуги.Ссылка = &Ссылка";
			ВыборкаУслуг = Запрос.Выполнить().Выбрать();
			
			Пока ВыборкаУслуг.Следующий() Цикл
				НоваяСтрока = Товары.Добавить();
				ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаУслуг);
			КонецЦикла;
		конецесли;
	//ФМ}	
    
	КонецЕсли;
    
КонецПроцедуры

5. В критерии отбора «Связанные документы» во вкладке «Данные» тип должен содержать определенные документы с пометкой «фм», «тф» и «ав», а в свойствах критерия отбора в составе должны быть помечены почти все реквизиты и табличные части документов с пометкой «тф» и «фм» (не критично, если все) и реквизиты документов «Счет на оплату покупателю» и «Счет на оплату поставщика».

Если нет какого-то реквизита в составе - необходимо проверить тип реквизита. Ссылочный тип реквизита должен быть включен во вкладке данные Связанных документов.

Тип:

image.png

image.png

Состав:

image.png

image.png

image.png

image.png

image.png

image.png

6. В свойствах определяемого типа «Объект с дополнительными командами» тип параметра команды должен содержать определенные документы с пометкой «фм» и «тф».

image.png

image.png

7.  Сохранить изменения.

image.png

8. В свойствах общей команды «Показать движения документа» тип параметра команды должен содержать определенные документы с пометкой «фм» и «тф».

image.png

image.png

9. В свойствах общей команды «Связанные документы» тип параметра команды должен содержать определенные документы с пометкой «фм» и «тф».

image.png

image.png

10. В свойствах подписки на события «Перед записью документа проверка номера по дате организации подразделению» источник должен содержать "фмРеестрТранспортныхУслуг".

image.png

11. В свойствах подписки на события «Установить префикс информационной базы организации подразделения номеру документа» источник должен содержать "фмРеестрТранспортныхУслуг" и "фмПретензии".

image.png

12. В свойствах подписки на события «Зарегистрировать данные первичных документов» источник должен содержать "фмПретензии".

image.png

13. Проверить "Полные права". Должна стоять галочка на Удалении, но должны быть сняты галочки на Интерактивном удалении.

image.png

14. В табличной части «По данным организации» документа «Акт сверки взаиморасчетов» есть реквизит «Документ». В свойствах этого реквизита в типе должен быть указан документ «Претензии».

image.png

image.png

15. В регистре сведений «Данные первичных документов» в свойствах измерения «Документ» в типах должен быть указан документ «Претензии».

image.png

image.png

16. В свойствах подписки на события «Перед записью документа проверка номера по дате организации подразделению» обработчик должен содержать часть кода с пометкой "фм".

image.png

Процедура ПроверитьНомерДокументаПоДатеОрганизацииПодразделению(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
	
	Если Источник.ОбменДанными.Загрузка Тогда
		Возврат;
	ИначеЕсли Источник.ЭтоНовый() Тогда
		//ФМ
		если типзнч(источник)=тип("ДокументОбъект.СчетНаОплатуПокупателю") тогда
			Если Источник.Дата > Константы.тфДатаНачалаФормированияПроводокДвиженияТС.Получить() Тогда
				источник.номер=сокрлп(источник.фмДокументОснования.Номер);
			КонецЕсли;
		иначеесли типзнч(источник)=тип("ДокументОбъект.РеализацияТоваровУслуг") тогда
			Если Источник.Дата > Константы.тфДатаНачалаФормированияПроводокДвиженияТС.Получить() Тогда
				источник.номер=сокрлп(источник.СчетНаОплатуПокупателю.Номер);
			КонецЕсли;
		конецесли;
		//ФМ--
		Возврат;
	КонецЕсли;
	
	УстановитьПривилегированныйРежим(Истина);
	
	ИмяОрганизации   = ПрефиксацияОбъектовСобытия.ИмяРеквизитаОрганизация(Источник.Метаданные());
	ИмяПодразделения = ИмяРеквизитаПодразделение(Источник.Ссылка);
	
	СтарыеРеквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Источник.Ссылка, 
		"Дата" + "," + ИмяОрганизации + "," + ИмяПодразделения);
		
	СтарыйПрефикс = ПрефиксОрганизацииПодразделения(СтарыеРеквизиты[ИмяОрганизации], СтарыеРеквизиты[ИмяПодразделения]);
	НовыйПрефикс  = ПрефиксОрганизацииПодразделения(Источник[ИмяОрганизации], Источник[ИмяПодразделения]);
		
	Если НовыйПрефикс <> СтарыйПрефикс 
		ИЛИ НЕ ПрефиксацияОбъектовСлужебный.ДатыОбъектаОдногоПериода(
			СтарыеРеквизиты.Дата, 
			Источник.Дата, 
			Источник.Ссылка) Тогда
			
		Источник.Номер = "";
		
	КонецЕсли;
	
КонецПроцедуры

17. В свойствах подписки на события «Перед записью документа проверка номера по дате и организации» обработчик должен содержать часть кода с пометкой "фм".

image.png

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

18. Общий модуль «Префиксация объектов БП события» должен содержать часть кода с пометкой "фм".

Процедура ПроверитьНомерДокументаПоДатеОрганизацииПодразделению(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
	
	Если Источник.ОбменДанными.Загрузка Тогда
		Возврат;
	ИначеЕсли Источник.ЭтоНовый() Тогда
		//ФМ
		если типзнч(источник)=тип("ДокументОбъект.СчетНаОплатуПокупателю") тогда
			Если Источник.Дата > Константы.тфДатаНачалаФормированияПроводокДвиженияТС.Получить() Тогда
				источник.номер=сокрлп(источник.фмДокументОснования.Номер);
			КонецЕсли;
		иначеесли типзнч(источник)=тип("ДокументОбъект.РеализацияТоваровУслуг") тогда
			Если Источник.Дата > Константы.тфДатаНачалаФормированияПроводокДвиженияТС.Получить() Тогда
				источник.номер=сокрлп(источник.СчетНаОплатуПокупателю.Номер);
			КонецЕсли;
		конецесли;
		//ФМ--
		Возврат;
	КонецЕсли;
	
	УстановитьПривилегированныйРежим(Истина);
	
	ИмяОрганизации   = ПрефиксацияОбъектовСобытия.ИмяРеквизитаОрганизация(Источник.Метаданные());
	ИмяПодразделения = ИмяРеквизитаПодразделение(Источник.Ссылка);
	
	СтарыеРеквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Источник.Ссылка, 
		"Дата" + "," + ИмяОрганизации + "," + ИмяПодразделения);
		
	СтарыйПрефикс = ПрефиксОрганизацииПодразделения(СтарыеРеквизиты[ИмяОрганизации], СтарыеРеквизиты[ИмяПодразделения]);
	НовыйПрефикс  = ПрефиксОрганизацииПодразделения(Источник[ИмяОрганизации], Источник[ИмяПодразделения]);
		
	Если НовыйПрефикс <> СтарыйПрефикс 
		ИЛИ НЕ ПрефиксацияОбъектовСлужебный.ДатыОбъектаОдногоПериода(
			СтарыеРеквизиты.Дата, 
			Источник.Дата, 
			Источник.Ссылка) Тогда
			
		Источник.Номер = "";
		
	КонецЕсли;
	
КонецПроцедуры

19. Общий модуль «Префиксация объектов события» должен содержать часть кода с пометкой "фм".

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

20. Запрет на редактирование в общем модуле «Даты запрета изменения БП» - часть кода с пометкой "фм".

Процедура ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения(Знач ИсточникиДанных) Экспорт
	
	// Данные(Таблица, ПолеДаты, Раздел, ПолеОбъекта)
	
	//ФМ
	ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.фмРеестрТранспортныхУслуг", "Дата" , "БухгалтерскийУчет", "Организация");
	//ФМ--
	
	ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.АвансовыйОтчет"                                                  , "Дата" , "БухгалтерскийУчет", "Организация");
	ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.АктОбОказанииПроизводственныхУслуг"                              , "Дата" , "БухгалтерскийУчет", "Организация");
	ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.АктСверкиВзаиморасчетов"     
    
    ***
 КонецПроцедуры

21. В подписке на события «Проверить дату запрета изменения перед записью документа БП» в источнике должен быть добавлен "фмРеестрТранспортныхУслуг".

image.png

22. В общем модуле «Управление печатью переопределяемый» должна быть часть кода с пометкой "фм".

Процедура ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт

    ***
    
	СписокОбъектов.Добавить(Документы.ПередачаЗадолженностиНаФакторинг);
	СписокОбъектов.Добавить(Документы.НачислениеДивидендов);
	
	СписокОбъектов.Добавить(Документы.фмЗаявкиПоЭкспедиции); //ФМ
	СписокОбъектов.Добавить(Документы.фмРеестрТранспортныхУслуг); //ФМ
	СписокОбъектов.Добавить(Документы.тфПутевойЛист); //ФМ
	СписокОбъектов.Добавить(Документы.тфСнятиеУстановкаСоставляющихТС); //ФМ
    СписокОбъектов.Добавить(Документы.тфЗаказНаряд); //ФМ
	СписокОбъектов.Добавить(Документы.тфСнятиеУстановкаСоставляющихТС); //ФМ
	
	СписокОбъектов.Добавить(ЖурналыДокументов.Деньги);
	СписокОбъектов.Добавить(ЖурналыДокументов.ДенежныеДокументы);
	СписокОбъектов.Добавить(ЖурналыДокументов.ДокументыПоНМА);
	СписокОбъектов.Добавить(ЖурналыДокументов.ДокументыПоОС);
	СписокОбъектов.Добавить(ЖурналыДокументов.Документы);
	СписокОбъектов.Добавить(ЖурналыДокументов.ЖурналОпераций);
	СписокОбъектов.Добавить(ЖурналыДокументов.ПроизводственныеДокументы);
	СписокОбъектов.Добавить(ЖурналыДокументов.СкладскиеДокументы);
	СписокОбъектов.Добавить(ЖурналыДокументов.ВыплатаЗарплаты);
	
	СписокОбъектов.Добавить(ПланыСчетов.Хозрасчетный);
	
	УчетОбособленныхПодразделений.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	УчетОбесцененияАктивов.НастроитьКомандыПечати(СписокОбъектов);
	
	ЗарплатаКадры.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	
	РегламентированнаяОтчетность.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	
	ЭлектронноеВзаимодействие.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	
	ПрослеживаемостьБРУ.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	
	УчетПроцентовПоОбязательствам.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов);
	
	// ИнтеграцияИСМП
	СписокОбъектов.Добавить(Документы.МаркировкаТоваровИСМП);
	СписокОбъектов.Добавить(Документы.ВыводИзОборотаИСМП);
	СписокОбъектов.Добавить(Документы.ЗаказНаЭмиссиюКодовМаркировкиСУЗ);
	СписокОбъектов.Добавить(Документы.ПеремаркировкаТоваровИСМП);
	СписокОбъектов.Добавить(Документы.СписаниеКодовМаркировкиИСМП);
	
КонецПроцедуры

23.  В свойствах критерия отбора "Связанные документы" в составе типа должна стоять галочка на документе "Отчет комитенту о продажах".

image.png

Состав документа "Отчет комитенту о продажах"

image.png

24.  В документе «Счет на оплату поставщика» должен быть реквизит «фмСчетОтПеревозчика».

image.png

Информация для создания реквизита:

image.png

25. В этом же документе в разделе «Ввод на основании».  В списке «Вводится на основании…» должен быть документ «Счет на оплату от перевозчика».

image.png

26. В этом же документе в модуле объекта должна быть часть кода с пометкой «фм».

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

		фмСчетОтПеревозчика = ДанныеЗаполнения.ссылка;
		Организация = ДанныеЗаполнения.Организация;
		Контрагент = ДанныеЗаполнения.Контрагент;
		ДоговорКонтрагента = ДанныеЗаполнения.Договор;
		НомерВходящегоДокумента = ДанныеЗаполнения.НомерСчета;
		ДатаВходящегоДокумента = ДанныеЗаполнения.ДатаСчета;
		для каждого текстрока из ДанныеЗаполнения.СписокЗаявок цикл
			нс = Товары.Добавить();
			Если текстрока.Заявка.Услуги.Количество() > 0 Тогда
				нс.Номенклатура = текстрока.Заявка.Услуги.Получить(0).Номенклатура;
			КонецЕсли;
			нс.Содержание = фмОбщий.ПолучитьСодержаниеУслугиЗаявки(текстрока.заявка, нс.Номенклатура);
			нс.Сумма = текстрока.сумма;
			//+гсв с 01.01.19 изменилась ставка НДС
			Если ДанныеЗаполнения.Дата <  дата('20190101000000')тогда
				нс.СтавкаНДС = Перечисления.СтавкиНДС.НДС18;
				нс.СуммаНДС = УчетНДСКлиентСервер.РассчитатьСуммуНДС(нс.сумма, СуммаВключаетНДС, 18);
			иначе
				нс.СтавкаНДС = Перечисления.СтавкиНДС.НДС20;
				нс.СуммаНДС = УчетНДСКлиентСервер.РассчитатьСуммуНДС(нс.сумма, СуммаВключаетНДС, 20);
			КонецЕсли;
			//-гсв
		конеццикла; 
	КонецЕсли;
	//ФМ--
КонецПроцедуры

27. В документе "Реализация товаров услуг" в формах «Форма документа (услуги)» и «Форма документа (общая)» - вкладка «Услуги» - проверить наличия элемента «Логист». Если его нет, то раскрыть «Объект» – найти таблицу «Услуги» – раскрыть таблицу – найти реквизит «Логист» и перетащить его в левую часть, как на рисунке.

image.png

image.png

28. Проверить разрешение на просмотр в роли «Транспорт» для общей команды «Дополнительные печатные формы объекта»

image.png

29. Проверить справочники и документы в роли «Экспедиция» на пунктах «Интерактивная пометка на удаление» и «Интерактивное снятие пометки удаления» галочки быть не должно

image.png

30. Проверить справочники и документы в роли «Автоверсант: удаление заявки по перевозкам» на пунктах «Интерактивная пометка на удаление» и «Интерактивное снятие пометки удаления» должна быть галочка

image.png

31. Проверить свойства общей команды «Дополнительные печатные формы объекта». В типе параметра команды должна стоять галочка на документе «Заказ-наряд».

image.png

image.png


Обновление АВ 1.0 для КМТКС

1. Зайти в папку "Автоверсант" - "Обновления", найти текстовые документы с названием, похожим на "Изменения".

В этих текстовых документах написаны изменения, которые нужно внести в конфигурацию.

image.png

2. Начать проверять и  вводить изменения. В документе «Счет на оплату покупателю» должен быть реквизит «фмДокументОснование».

image.png

Информация для создания реквизита:

image.png

После каждого изменения обязательно сохраняться!!!

3. В этом же документе в разделе «Ввод на основании».  В списке «Является основанием для…» должен быть документ «Счет на оплату покупателю».

image.png

4. В этом же документе в модуле объекта должна быть часть кода с пометкой «фм».

Процедура ЗаполнитьПоДокументуОснованию(Основание)

	***
		
		Пока Выборка.Следующий() Цикл
			НоваяСтрока = Товары.Добавить();
			НоваяСтрока.Содержание = РаботаСНоменклатуройКлиентСерверБП.СодержаниеУслуги(
				СтрШаблон(НСтр("ru = 'Арендная плата (%1)'"), Выборка.Содержание),
				Перечисления.Периодичность.Месяц,
				ЭтотОбъект.Дата);
			НоваяСтрока.Количество = Выборка.Количество;
			НоваяСтрока.СтавкаНДС = СтавкаНДС;
		КонецЦикла;
		
	ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.КоммерческоеПредложение") Тогда
		// Заполним реквизиты шапки по документу основанию.
		ЗаполнениеДокументов.ЗаполнитьПоОснованию(ЭтотОбъект, Основание);
		
		РеквизитыКЗаполнению = "ДополнительныеУсловия,СуммаСкидки,НомерВерсии";
		ДанныеОснования = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Основание, РеквизитыКЗаполнению);
		ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеОснования);
		
		// Заполним табличные части
		Отбор = Новый Структура;
		Отбор.Вставить("НомерВерсии", ДанныеОснования.НомерВерсии);
		
		ТоварыВерсии = Основание.Товары.Выгрузить(Отбор);
		
		Для Каждого СтрокаТовары Из ТоварыВерсии Цикл
			НоваяСтрока = Товары.Добавить();
			ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТовары);
		КонецЦикла;
		
	//ФМ{
	ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.фмРеестрТранспортныхУслуг") Тогда
		
		// Заполним реквизиты шапки по документу основанию.
		ЗаполнениеДокументов.ЗаполнитьПоОснованию(ЭтотОбъект, Основание);
		фмДокументОснования=Основание.ссылка;
		если фмДокументОснования.услуги.количество()>0 тогда
			ставкандс=фмДокументОснования.услуги.получить(0).ставкандс;
		конецесли;
		Если Контрагент.код = "00-003085" и организация.ИНН = "1639030113" Тогда //Аверс
			СтруктурнаяЕдиница = Справочники.БанковскиеСчета.НайтиПоРеквизиту("НомерСчета", "40702810701490002357");
		ИначеЕсли Контрагент.код = "00-003085" и организация.ИНН = "1639015958" Тогда //Аверс
			СтруктурнаяЕдиница = Справочники.БанковскиеСчета.НайтиПоРеквизиту("НомерСчета", "40702810301490002359");
		ИначеЕсли (Контрагент.ИНН = "5047071528" или Контрагент.ИНН = "5032080978" или Контрагент.ИНН = "7719726605" или Контрагент.ИНН = "7733043569" или Контрагент.ИНН = "5012093506" или Контрагент.ИНН = "5032289680")
			и организация.ИНН = "1639030113" Тогда //Альфа банк
			СтруктурнаяЕдиница = Справочники.БанковскиеСчета.НайтиПоРеквизиту("НомерСчета", "40702810929140003583");
		КонецЕсли;
		если основание.короткийсчет тогда
			новаястрока=Товары.Добавить();
			новаястрока.Номенклатура=Справочники.Номенклатура.НайтиПоНаименованию("Транспортно-зкспедиционные услуги");
			новаястрока.Содержание="Транспортно-экспедиционные услуги по доставке груза согласно реестра №"+сокрлп(основание.номерреестра)+" от "+сокрлп(сред(основание.дата,1,10));
			новаястрока.Количество=основание.услуги.количество();
			новаястрока.Сумма=?(основание.суммавключаетндс,основание.суммадокумента,основание.услуги.итог("Сумма"));
			новаястрока.СуммаНДС=основание.услуги.итог("СуммаНДС");
			новаястрока.СтавкаНДС=ставкандс;
		иначе
			
			Запрос = Новый Запрос();
			Запрос.УстановитьПараметр("Ссылка", Основание.Ссылка);
			
			Запрос.Текст =
			"ВЫБРАТЬ
			|	АктОбОказанииПроизводственныхУслугУслуги.Номенклатура,
			|	АктОбОказанииПроизводственныхУслугУслуги.СтавкаНДС,
			|	АктОбОказанииПроизводственныхУслугУслуги.Цена,
			|	АктОбОказанииПроизводственныхУслугУслуги.Количество КАК Количество,
			|	АктОбОказанииПроизводственныхУслугУслуги.Сумма КАК Сумма,
			|	АктОбОказанииПроизводственныхУслугУслуги.СуммаНДС КАК СуммаНДС,
			|	АктОбОказанииПроизводственныхУслугУслуги.Содержание
			|ИЗ
			|	Документ.фмРеестрТранспортныхУслуг.Услуги КАК АктОбОказанииПроизводственныхУслугУслуги
			|ГДЕ
			|	АктОбОказанииПроизводственныхУслугУслуги.Ссылка = &Ссылка";
			ВыборкаУслуг = Запрос.Выполнить().Выбрать();
			
			Пока ВыборкаУслуг.Следующий() Цикл
				НоваяСтрока = Товары.Добавить();
				ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаУслуг);
			КонецЦикла;
		конецесли;
		//ФМ}
		
	КонецЕсли;

КонецПроцедуры

5. В критерии отбора «Связанные документы» во вкладке «Данные» тип должен содержать определенные документы с пометкой «фм», «тф» и «ав», а в свойствах критерия отбора в составе должны быть помечены почти все реквизиты и табличные части документов с пометкой «тф» и «фм» (не критично, если все) и реквизиты документов «Счет на оплату покупателю» и «Счет на оплату поставщика».

Если нет какого-то реквизита в составе - необходимо проверить тип реквизита. Ссылочный тип реквизита должен быть включен во вкладке данные Связанных документов

Тип:

image.png

Состав:

image.png

image.png

image.png

image.png

6. В свойствах общей команды «Дополнительные печатные формы объекта» тип параметра команды должен содержать определенные документы с пометкой «фм» и «тф».

image.png

7. В свойствах общей команды «Показать движения документа» тип параметра команды должен содержать определенные документы с пометкой «фм» и «тф»

image.png

8. В свойствах определяемого типа «Объект с дополнительными командами» тип параметра команды должен содержать определенные документы с пометкой «фм» и «тф».

image.png

9. В свойствах определяемого типа «Владелец файлов» тип параметра команды должен содержать определенные документы с пометкой «фм» и «тф».

image.png

image.png

10. В свойствах определяемого типа «Владелец присоединенных файлов» тип параметра команды должен содержать определенные документы с пометкой «фм» и «тф».

image.png

image.png

11. В свойствах общей команды «Связанные документы» тип параметра команды должен содержать определенные документы с пометкой «фм» и «тф».

image.png

12.  В общем модуле «Общего назначения» должна быть часть кода с пометкой "фм".

Функция ПроверитьПроведенностьДокументов(Знач Документы) Экспорт
	
	Результат = Новый Массив;
	
	ШаблонЗапроса = 	
		"ВЫБРАТЬ
		|	ПсевдонимЗаданнойТаблицы.Ссылка КАК Ссылка
		|ИЗ
		|	&ИмяДокумента КАК ПсевдонимЗаданнойТаблицы
		|ГДЕ
		|	ПсевдонимЗаданнойТаблицы.Ссылка В(&МассивДокументов)
		//|	И НЕ ПсевдонимЗаданнойТаблицы.Проведен";
		|	И (ПсевдонимЗаданнойТаблицы.ПометкаУдаления)"; //ФМ
	
	ТекстОбъединитьВсе =
		"
		|
		|ОБЪЕДИНИТЬ ВСЕ
		|
		|";
		
	ИменаДокументов = Новый Массив;
	Для Каждого Документ Из Документы Цикл
		МетаданныеДокумента = Документ.Метаданные();
		Если ИменаДокументов.Найти(МетаданныеДокумента.ПолноеИмя()) = Неопределено
			И Метаданные.Документы.Содержит(МетаданныеДокумента)
			И МетаданныеДокумента.Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда
				ИменаДокументов.Добавить(МетаданныеДокумента.ПолноеИмя());
		КонецЕсли;
	КонецЦикла;
	
	ТекстЗапроса = "";
	Для Каждого ИмяДокумента Из ИменаДокументов Цикл
		Если Не ПустаяСтрока(ТекстЗапроса) Тогда
			ТекстЗапроса = ТекстЗапроса + ТекстОбъединитьВсе;
		КонецЕсли;
		ТекстПодзапроса = СтрЗаменить(ШаблонЗапроса, "&ИмяДокумента", ИмяДокумента);
		ТекстЗапроса = ТекстЗапроса + ТекстПодзапроса;
	КонецЦикла;
		
	Запрос = Новый Запрос;
	Запрос.Текст = ТекстЗапроса;
	Запрос.УстановитьПараметр("МассивДокументов", Документы);
	
	Если Не ПустаяСтрока(ТекстЗапроса) Тогда
		Результат = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
	КонецЕсли;
	
	Возврат Результат;
	
КонецФункции

13. В свойствах подписки на события «Перед записью документа проверка номера по дате организации подразделению» источник должен содержать "фмРеестрТранспортныхУслуг".

image.png

14. В свойствах подписки на события «Установить префикс информационной базы организации подразделения номеру документа» источник должен содержать "фмРеестрТранспортныхУслуг" и "фмПретензии".

image.png

 15. В свойствах подписки на события «Зарегистрировать данные первичных документов» источник должен содержать "фмПретензии".

image.png

16. Проверить "Полные права". Должна стоять галочка на Удалении, но должны быть сняты галочки на Интерактивном удалении.

image.png

17. В табличной части «По данным организации» документа «Акт сверки взаиморасчетов» есть реквизит «Документ». В свойствах этого реквизита в типе должен быть указан документ «Претензии».

image.png

image.png

18. В регистре сведений «Данные первичных документов» в свойствах измерения «Документ» в типах должен быть указан документ «Претензии».

image.png

image.png

19. В свойствах подписки на события «Перед записью документа проверка номера по дате организации подразделению» обработчик должен содержать часть кода с пометкой "фм".

image.png

Процедура ПроверитьНомерДокументаПоДатеОрганизацииПодразделению(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
	
	Если Источник.ОбменДанными.Загрузка Тогда
		Возврат;
	ИначеЕсли Источник.ЭтоНовый() Тогда
		//ФМ
		если типзнч(источник)=тип("ДокументОбъект.СчетНаОплатуПокупателю") тогда
			источник.номер=сокрлп(источник.фмДокументОснования.Номер);
		иначеесли типзнч(источник)=тип("ДокументОбъект.РеализацияТоваровУслуг") тогда
			источник.номер=сокрлп(источник.СчетНаОплатуПокупателю.Номер);
		конецесли;
		//ФМ--
		Возврат;
	КонецЕсли;
	
	УстановитьПривилегированныйРежим(Истина);
	
	ИмяОрганизации   = ПрефиксацияОбъектовСобытия.ИмяРеквизитаОрганизация(Источник.Метаданные());
	ИмяПодразделения = ИмяРеквизитаПодразделение(Источник.Ссылка);
	
	СтарыеРеквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Источник.Ссылка, 
		"Дата" + "," + ИмяОрганизации + "," + ИмяПодразделения);
		
	СтарыйПрефикс = ПрефиксОрганизацииПодразделения(СтарыеРеквизиты[ИмяОрганизации], СтарыеРеквизиты[ИмяПодразделения]);
	НовыйПрефикс  = ПрефиксОрганизацииПодразделения(Источник[ИмяОрганизации], Источник[ИмяПодразделения]);
		
	Если НовыйПрефикс <> СтарыйПрефикс 
		ИЛИ НЕ ПрефиксацияОбъектовСлужебный.ДатыОбъектаОдногоПериода(
			СтарыеРеквизиты.Дата, 
			Источник.Дата, 
			Источник.Ссылка) Тогда
			
		Источник.Номер = "";
		
	КонецЕсли;
	
КонецПроцедуры

20. В свойствах подписки на события «Перед записью документа проверка номера по дате и организации» обработчик должен содержать часть кода с пометкой "фм".

image.png

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

21. Запрет на редактирование в общем модуле «Даты запрета изменения БП» - часть кода с пометкой "фм".

Процедура ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения(Знач ИсточникиДанных) Экспорт
	
	// Данные(Таблица, ПолеДаты, Раздел, ПолеОбъекта) 
	
	//ФМ
	ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.фмРеестрТранспортныхУслуг", "Дата" , "БухгалтерскийУчет", "Организация");
	//ФМ--
	
    ***
КонецПроцедуры

22. В подписке на события «Проверить дату запрета изменения перед записью документа БП» в источнике должен быть добавлен "фмРеестрТранспортныхУслуг".

image.png

23. Запрет на редактирование в общем модуле «Управление печатью переопределяемый» - часть кода с пометкой "фм".

Процедура ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт
	
	СписокОбъектов.Добавить(Справочники.БанковскиеСчета);
	СписокОбъектов.Добавить(Справочники.ВетеринарноСопроводительныйДокументВЕТИС);
	СписокОбъектов.Добавить(Справочники.ДоверенностиНалогоплательщика);
	СписокОбъектов.Добавить(Справочники.ДоговорыКонтрагентов);
	
	СписокОбъектов.Добавить(Документы.фмЗаявкиПоЭкспедиции); //ФМ
	СписокОбъектов.Добавить(Документы.фмРеестрТранспортныхУслуг); //ФМ
	
    ***
    
КонецПроцедуры

Ошибки после обновления АВ 1.0

Слетели дополнительные реквизиты:

Ошибка:

image.png

Решение:

Причина в расширении ИнтеграторАВ! Необходимо досконально проверить соответствие объектов ИнтегратораАВ и Конфигурации. В данном случае форма документа Заявки по перевозкам была изменена в конфигураторе и не обновлена в расширении. Решилось обновлением формы документа в расширении ИнтеграторАВ.

Обновление бухгалтерии для Узбекистана