Авансы, кредиты и предоплаты ФФД 1.05. Изменение типовой УТ 10.3.72.3

05.03.22

Задачи пользователя - Адаптация типовых решений

Изменение типовой конфигурации Управление торговлей 10.3.72.3 и ниже для случаев, когда клиент оплачивает частично по накладной. В расчетной части чека должны быть типы оплат "Постоплата кредит" - сумма оставшегося долга, "Зачет аванса" - сумма предыдущих оплат. Также исправлена ошибка при оплате за накладную, в которой указаны товарные позиции с разными ставками НДС.

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

 

В общем модуле МенеджерОборудованияВызовСервера, заменить процедуру ЗаполнитьПоНовому() на:

Процедура ЗаполнитьПоНовому(ОбщиеПараметры, ДеревоСделок, НаименованиеПредметаРасчета, ВалютаРеглУчета)
	Для Каждого СтрокаСделки Из ДеревоСделок.Строки Цикл
		Для Каждого СтрокаСтавки Из СтрокаСделки.Строки Цикл
			Если СтрокаСтавки.ВалютаСделки = ВалютаРеглУчета Тогда
				КурсОплаты = 1;
			Иначе
				КурсОплаты = Окр(СтрокаСтавки.СуммаПлатежа / СтрокаСтавки.СуммаВзаиморасчетов, 8);
			КонецЕсли;
			
			Если Не ЗначениеЗаполнено(СтрокаСтавки.Сделка) Тогда
				ЗаполнитьФиктивнуюСтрокуЧека(ОбщиеПараметры, СтрокаСтавки, НаименованиеПредметаРасчета);
			Иначе
				// детальная печать
				Для Каждого СтрокаПозиции Из СтрокаСтавки.Строки Цикл
					Если ЗначениеЗаполнено(СтрокаПозиции.Номенклатура) Тогда
						ЗаполнитьТоварнуюСтрокуЧека(ОбщиеПараметры, СтрокаПозиции, КурсОплаты);
					Иначе
						// есть платеж по сделке и ставке, но нет товарных позиций по такой ставке
						// излишек денег, нужно добавить авансовую товарную позицию
						ЗаполнитьФиктивнуюСтрокуЧека(ОбщиеПараметры, СтрокаПозиции, НаименованиеПредметаРасчета);
					КонецЕсли;
				КонецЦикла;
				
			КонецЕсли;
		КонецЦикла;
		
		Если ЗначениеЗаполнено(СтрокаСтавки.Сделка) Тогда
			
			СуммаТовара = Окр(СтрокаСделки.СуммаТовара * КурсОплаты,2);
			СуммаПрошлыхОплат = ПолучитьСуммуОплатПоСделке(СтрокаСделки.Сделка) - СтрокаСделки.СуммаПлатежа;
			СуммаПрошлыхОплат = ?(СуммаПрошлыхОплат < 0, 0, СуммаПрошлыхОплат);
			
			Если (СуммаТовара - СуммаПрошлыхОплат - СтрокаСделки.СуммаПлатежа) > 0 Тогда
				// недостаток денег по сделке и ставке, нужно добавить оплату кредитом
				СтрокаОплаты = Новый Структура();
				СтрокаОплаты.Вставить("ТипОплаты", ПредопределенноеЗначение("Перечисление.ТипыОплатыККТ.Постоплата"));
				СтрокаОплаты.Вставить("Наименование", "Постоплата (кредит)");
				СтрокаОплаты.Вставить("Сумма", СуммаТовара - СуммаПрошлыхОплат - СтрокаСделки.СуммаПлатежа);
				ОбщиеПараметры.ТаблицаОплат.Добавить(СтрокаОплаты);
			КонецЕсли;	
					
			Если СуммаПрошлыхОплат > 0 Тогда
				//учитываем прошлые оплаты как зачет аванса
				СтрокаОплаты = Новый Структура();
				СтрокаОплаты.Вставить("ТипОплаты", ПредопределенноеЗначение("Перечисление.ТипыОплатыККТ.Предоплата"));
				СтрокаОплаты.Вставить("Наименование", "Зачет аванса");
				СтрокаОплаты.Вставить("Сумма", СуммаПрошлыхОплат);
				ОбщиеПараметры.ТаблицаОплат.Добавить(СтрокаОплаты);
			КонецЕсли;	
						
		КонецЕсли;
		
	КонецЦикла;
КонецПроцедуры

Добавить функцию ПолучитьСуммуОплатПоСделке():

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

	Возврат ПогашеннаяСумма;
		
КонецФункции

 

Также исправлено следующее.

При пробитии чека документом Приходный кассовый ордер, если указан документ расчетов реализация товаров и услуг (или другой) в котором в табличной части указаны товарные позиции по разным ставкам НДС (10% и 20%), а в ПКО указана ставка, например 20%, то товарные позиции с ставкой 10% отсекались.

В общем модуле МенеджерОборудованияВызовСервера, заменить функцию ЗапросДанныеЧека на:

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

	ТекстЗапроса = "ВЫБРАТЬ
	               |	ПДРП.Ссылка КАК Ссылка,
	               |	ВЫБОР
	               |		КОГДА ПДРП.ДокументРасчетовСКонтрагентом <> НЕОПРЕДЕЛЕНО
	               |				И ТИПЗНАЧЕНИЯ(ПДРП.ДокументРасчетовСКонтрагентом) В (&ДопустимыеТипыДР)
	               |				И НЕ ПДРП.ДокументРасчетовСКонтрагентом В (&ПустыеСсылки)
	               |			ТОГДА ПДРП.ДокументРасчетовСКонтрагентом
	               |		КОГДА ПДРП.Сделка <> НЕОПРЕДЕЛЕНО
	               |				И ТИПЗНАЧЕНИЯ(ПДРП.Сделка) В (&ДопустимыеТипыСД)
	               |				И НЕ ПДРП.Сделка В (&ПустыеСсылки)
	               |			ТОГДА ПДРП.Сделка
	               |		КОГДА ПДРП.Ссылка.ДокументОснование <> НЕОПРЕДЕЛЕНО
	               |				И ТИПЗНАЧЕНИЯ(ПДРП.Ссылка.ДокументОснование) В (&ДопустимыеТипыДО)
	               |				И НЕ ПДРП.Ссылка.ДокументОснование В (&ПустыеСсылки)
	               |			ТОГДА ПДРП.Ссылка.ДокументОснование
	               |		ИНАЧЕ НЕОПРЕДЕЛЕНО
	               |	КОНЕЦ КАК Сделка,
	               |	ПДРП.СтавкаНДС КАК СтавкаНДС,
	               |	СУММА(ПДРП.СуммаПлатежа) КАК СуммаПлатежа,
	               |	СУММА(ПДРП.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
	               |	СУММА(ПДРП.СуммаНДС) КАК СуммаНДС,
	               |	МАКСИМУМ(ВЫБОР
	               |			КОГДА ПДРП.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18)
	               |				ТОГДА 18
	               |			КОГДА ПДРП.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10)
	               |				ТОГДА 10
				   |			КОГДА ПДРП.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20)
	               |				ТОГДА 20
	               |			ИНАЧЕ 0
	               |		КОНЕЦ) КАК ПроцентНДС,
	               |	ПДРП.ПризнакСпособаРасчета
	               |ПОМЕСТИТЬ ТаблицаПлатежей
	               |ИЗ
	               |	Документ."+ИмяДокумента+".РасшифровкаПлатежа КАК ПДРП
	               |ГДЕ
	               |	ПДРП.Ссылка = &Ссылка
	               |
	               |СГРУППИРОВАТЬ ПО
	               |	ПДРП.Ссылка,
	               |	ПДРП.СтавкаНДС,
	               |	ПДРП.ПризнакСпособаРасчета,
	               |	ВЫБОР
	               |		КОГДА ПДРП.ДокументРасчетовСКонтрагентом <> НЕОПРЕДЕЛЕНО
	               |				И ТИПЗНАЧЕНИЯ(ПДРП.ДокументРасчетовСКонтрагентом) В (&ДопустимыеТипыДР)
	               |				И НЕ ПДРП.ДокументРасчетовСКонтрагентом В (&ПустыеСсылки)
	               |			ТОГДА ПДРП.ДокументРасчетовСКонтрагентом
	               |		КОГДА ПДРП.Сделка <> НЕОПРЕДЕЛЕНО
	               |				И ТИПЗНАЧЕНИЯ(ПДРП.Сделка) В (&ДопустимыеТипыСД)
	               |				И НЕ ПДРП.Сделка В (&ПустыеСсылки)
	               |			ТОГДА ПДРП.Сделка
	               |		КОГДА ПДРП.Ссылка.ДокументОснование <> НЕОПРЕДЕЛЕНО
	               |				И ТИПЗНАЧЕНИЯ(ПДРП.Ссылка.ДокументОснование) В (&ДопустимыеТипыДО)
	               |				И НЕ ПДРП.Ссылка.ДокументОснование В (&ПустыеСсылки)
	               |			ТОГДА ПДРП.Ссылка.ДокументОснование
	               |		ИНАЧЕ НЕОПРЕДЕЛЕНО
	               |	КОНЕЦ
				   |;
				   |";
	ИмяВТ = "НоменклатураСделок";
	Для Каждого ОписаниеТипа Из ДопустимыеТипыДО Цикл
		ОбъектМетаданных = Метаданные.НайтиПоТипу(ОписаниеТипа);
		Если ОбъектМетаданных = Неопределено Тогда
			Продолжить;
		КонецЕсли;
		Для Каждого ТЧ Из МенеджерОборудованияКлиентСервер.ДопустимыеТабличныеЧасти() Цикл
			Если ОбъектМетаданных.ТабличныеЧасти.Найти(ТЧ) <> Неопределено Тогда
				ТекстЗапроса = ТекстЗапроса + ТекстаЗапросаТЧпоВидуДокументов(ОбъектМетаданных.Имя, ТЧ, ИмяВТ);
				ИмяВТ = "";
			КонецЕсли;
		КонецЦикла;
	КонецЦикла;
	ТекстЗапроса = ТекстЗапроса +
				   "
	               |;
	               |
	               |////////////////////////////////////////////////////////////////////////////////
	               |ВЫБРАТЬ
	               |	ТаблицаПлатежей.Сделка КАК Сделка,
	               |	НоменклатураСделок.СтавкаНДС КАК СтавкаНДС,
				   |	ЕСТЬNULL(НоменклатураСделок.ВалютаСделки, &ВалютаРеглУчета) КАК ВалютаСделки,
	               |	НоменклатураСделок.Номенклатура КАК Номенклатура,
				   |	НоменклатураСделок.Услуга КАК Услуга,
	               |	НоменклатураСделок.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	               |	НоменклатураСделок.Характеристика КАК Характеристика,
	               |	НоменклатураСделок.Серия КАК Серия,
	               |	ВЫБОР
	               |		КОГДА НоменклатураСделок.Количество = 0
	               |				И ЕСТЬNULL(НоменклатураСделок.Номенклатура.Услуга, ИСТИНА)
	               |			ТОГДА 1
	               |		ИНАЧЕ ЕСТЬNULL(НоменклатураСделок.Количество, 0)
	               |	КОНЕЦ КАК Количество,
	               |	ВЫРАЗИТЬ(ВЫБОР
	               |			КОГДА НоменклатураСделок.СуммаВключаетНДС
	               |				ТОГДА НоменклатураСделок.Цена
	               |			ИНАЧЕ НоменклатураСделок.Цена + НоменклатураСделок.Цена * НоменклатураСделок.ПроцентНДС / 100
	               |		КОНЕЦ КАК ЧИСЛО(15, 2)) КАК Цена,
	               |	ВЫБОР
	               |		КОГДА НоменклатураСделок.СуммаВключаетНДС
	               |			ТОГДА ЕСТЬNULL(НоменклатураСделок.Сумма, 0)
	               |		ИНАЧЕ ЕСТЬNULL(НоменклатураСделок.Сумма, 0) + ЕСТЬNULL(НоменклатураСделок.СуммаНДС, 0)
	               |	КОНЕЦ КАК СуммаТовара,
	               |	ЕСТЬNULL(НоменклатураСделок.СуммаНДС, 0) КАК СуммаНДСТовара,
	               |	ТаблицаПлатежей.СуммаПлатежа КАК СуммаПлатежа,
				   |	ТаблицаПлатежей.СуммаНДС КАК СуммаНДС,
	               |	ТаблицаПлатежей.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
	               |	&СтрокаВыборкиПоляСодержания КАК Наименование,
				   |	НоменклатураСделок.НомерСекции КАК НомерСекции,
				   |	ТаблицаПлатежей.ПризнакСпособаРасчета КАК ПризнакСпособаРасчета
	               |ИЗ
				   |	ТаблицаПлатежей КАК ТаблицаПлатежей
	               |	ЛЕВОЕ СОЕДИНЕНИЕ НоменклатураСделок КАК НоменклатураСделок
				   |		ПО ТаблицаПлатежей.Сделка = НоменклатураСделок.Сделка
				   //|			И ТаблицаПлатежей.СтавкаНДС = НоменклатураСделок.СтавкаНДС
				   |	УПОРЯДОЧИТЬ ПО
				   |	Сделка,
				   |	СтавкаНДС
	               |ИТОГИ
	               |	СУММА(СуммаТовара),
				   |	СУММА(СуммаНДСТовара),
	               |	МАКСИМУМ(СуммаПлатежа),
				   |	МАКСИМУМ(СуммаНДС),
	               |	МАКСИМУМ(СуммаВзаиморасчетов),
				   |	МАКСИМУМ(ВалютаСделки),
				   |	МАКСИМУМ(ПризнакСпособаРасчета)
	               |ПО
	               |	Сделка,
	               |	СтавкаНДС";
				   
	СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("НоменклатураСделок");
	
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&СтрокаВыборкиПоляСодержания", СтрокаВыборкиПоляСодержания);
	
	Запрос.Текст = ТекстЗапроса;
	
	Запрос.УстановитьПараметр("Ссылка", Ссылка);
	Запрос.УстановитьПараметр("ВалютаРеглУчета", ВалютаРеглУчета);
	Запрос.УстановитьПараметр("ДопустимыеТипыДР", ДопустимыеТипыДР);
	Запрос.УстановитьПараметр("ДопустимыеТипыСД", ДопустимыеТипыСД);
	Запрос.УстановитьПараметр("ДопустимыеТипыДО", ДопустимыеТипыДО);
	Запрос.УстановитьПараметр("ПустыеСсылки", ПустыеСсылки(ДопустимыеТипыДО));

	Возврат Запрос;

Функцию ТекстаЗапросаТЧпоВидуДокументов на:

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

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

 

Авансы кредиты и предоплаты ФФД 1.05

См. также

Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    4777    10    5    

18

Расширение для 1С:УНФ. Автоматическое снятие резервов в Заказах покупателей

Логистика, склад и ТМЦ Адаптация типовых решений Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    3188    4    0    

20

Шаблоны новых объектов 1С для 1С:Бухгалтерии предприятия

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 1С:Бухгалтерия 3.0 Бесплатно (free)

Используются для создания новых объектов в конфигурации, чтобы не забыть, что нужно сделать. Сделано на примере 1С:Бухгалтерия предприятия, в других конфигурациях могут быть другие, а могут быть и похожие объекты.

28.12.2023    5138    mrXoxot    11    

101

Ключи аналитик учета в ЕРП, КА, УТ

Механизмы типовых конфигураций Платформа 1С v8.3 1С:ERP Управление предприятием 2 Россия Управленческий учет Бесплатно (free)

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

08.11.2023    8147    ids79    25    

75

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

28.08.2023    9842    YA_418728146    6    

146
Оставьте свое сообщение