Перезаполнение ставки НДС

05.09.23

Задачи пользователя - Мастера заполнения

Обработка умеет перезаполнять ставку НДС в табличных частях документов. На странице "Заказы клиентов" можно вывести список заказов с незаполненным НДС и перезаполнить. На Странице "Общее заполнение", выводится список всех документов и табличных частей с типом реквизита "СправочникСсылка.СтавкиНДС", здесь также можно перезаполнить ставку НДС.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Перезаполнение Ставки НДС:
.epf 12,67Kb
27 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

После не совсем удачного перехода с КА 2.4 на КА 2.5 было обнаружено, что у некоторых документов в табличных частях не заполнена Ставка НДС.

В КА 2.4 реквизит Ставка НДС это перечисление, а в КА 2.5 это уже справочник, реквизит с типом перечисление был переименован в "УдалитьСтавкаНДС", и добавлен реквизит "СтавкаНДС" с типом справочник.

 

Страница "Заказы клиентов":

По кнопке "найти заказы клиентов с пустым НДС", показывает проведенные заказы, у которых реквизит ставка НДС не заполнен с налогообложением: ПродажаОблагаетсяНДС и ПродажаНаЭкспорт.

По кнопке "Заполнить НДС В заказах Клиентов" в отмеченных заказах проставляется НДС через обработку табличных частей из общего модуля.

Можно указать количество обрабатываемых документов, которые будут обработаны.

 

Страница "Общее заполнение":

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

По нажатии кнопки "Найти документы с пустым НДС" показывает количество документов с незаполненной ставкой НДС и реквизитом Сумма НДС > 0.

По нажатию кнопки "Заполнить НДС" заполняет НДС в отмеченных документах.

При заполнении нужно выбрать источник заполнения: Справочник "Номенклатура", Реквизит "УдалитьСтавкаНДС" или фиксированное значение.

 

Исходный код:


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

&НаКлиенте
Процедура НайтиДокументыСПустымНДС(Команда)
	
	НайтиДокументыСПустымНДСНаСервере();
	
КонецПроцедуры

&НаСервере
Процедура ПриОткрытииНаСервере()
	
	Для Каждого ДокументИмя Из Метаданные.Документы Цикл
		Для Каждого ТабличнаяЧастьИмя Из ДокументИмя.ТабличныеЧасти Цикл
			Для Каждого РеквизитИмя Из ТабличнаяЧастьИмя.Реквизиты Цикл
				Если РеквизитИмя.Тип = Новый ОписаниеТипов("СправочникСсылка.СтавкиНДС") И ТабличнаяЧастьИмя.Реквизиты.Найти("СуммаНДС") <> Неопределено Тогда
					НовыйДокумент = Объект.ОбрабатываемыеДокументы.Добавить();
					НовыйДокумент.Документ = ДокументИмя.Имя;
					НовыйДокумент.ТабличнаяЧасть = ТабличнаяЧастьИмя.Имя;					
				КонецЕсли;				
			КонецЦикла;
		КонецЦикла;		
	КонецЦикла;
	
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	ПриОткрытииНаСервере();
	
КонецПроцедуры

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

&НаКлиенте
Процедура ЗаполнитьНДС(Команда)
	
	Если ЗначениеЗаполнено(Объект.БратьНДСИз) Или ЗначениеЗаполнено(Объект.СтавкаНДС) Тогда 
		ЗаполнитьНДСНаСервере();
	Иначе 
		Сообщить("Необходимо выбрать источник заполнения НДС или фиксированную ставку!");
	КонецЕсли;
	
КонецПроцедуры

//-----------------Заказы клиентов------------------//

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

&НаКлиенте
Процедура ЗаполнитьНДСВзаказахКлиентов(Команда)
	
	ЗаполнитьНДСВзаказахКлиентовНаСервере();
	
КонецПроцедуры

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

&НаКлиенте
Процедура НайтиЗаказыКлиентовСПустымНДС(Команда)
	
	НайтиЗаказыКлиентовСПустымНДСНаСервере();
	
КонецПроцедуры

&НаКлиенте
Процедура ДокументыЗаказыКлиентовВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	
	Если Поле.Имя = "ДокументыЗаказыКлиентовДокумент" Тогда
		СтандартнаяОбработка = Ложь;
		ПоказатьЗначение(,Элемент.ТекущиеДанные.Документ);
	КонецЕсли;	
	
КонецПроцедуры

//-----------------*------------------//

 

Протестировано на платформе: 1С:Предприятие 8.3 (8.3.20.1674).

Протестировано в конфигурациях: 1С:Комплексная автоматизация 2 (2.5.7.402).

 

Также Вас может заинтересовать:

  1. Редактирование отчета о розничных продажах (Розница 3)
  2. Создание / перезаполнение отчетов о розничных продажах (УТ 11, КА 2, ERP 2)
  3. Редактирование отчета о розничных продажах (Розница 2, УТ 11, КА 2, ERP 2, БП 3)
  4. Перезаполнение ставки НДС
  5. Email рассылка в формате HTML
  6. Выгрузка внешних отчетов и обработок
  7. Редактор регистра Роли и исполнители
  8. Выгрузка данных из УПП 1.3 в систему NEON
  9. Универсальный передаточный документ (УПД) (постановление №534 с 01.07.2021)
  10. Подпись в почтовом клиенте 1С управляемые формы HTML кодом
  11. Выгрузка товара из 1С: УТ11 в формате XML для сайта avito.ru (Авито: Личные вещи)
  12. Автоматическое гашение ВСД в конфигурации 1С:Управление ветеринарными сертификатами. Интеграция с ФГИС Меркурий

Вступайте в нашу телеграмм-группу Инфостарт

Обработка НДС заполнение Справочник Перечисление СтавкаНДС УдалитьСтавкаНДС Комплексная автоматизация

См. также

Банковские операции Обмен с интернет-банком Эквайринг/ридер магнитных карт Мастера заполнения Программист Бухгалтер Пользователь 1С:Предприятие 8 1C:ERP 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:ERP. Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Корректируйте банковские документы быстро и легко! Создайте правило обработки, и оно автоматически применится при загрузке выписки, экономя ваше время (Можно настроить отбор по любому реквизиту или по регулярному выражению). Решение позволяет автоматически заполнять расшифровку платежа, исключать загрузку ненужных документов (дублей) из банка, заполнять комиссию за эквайринг и многое другое. Вам не нужно доплачивать за алгоритмы, они уже включены в решение. Автоматическая обработка применяется при загрузке данных как из файлов клиент банка, так и через DirectBank. Доступен AI чат бот который умеет консультировать по функционалу решения.

15250 руб.

20.12.2024    14989    65    27    

62

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

5000 руб.

25.02.2026    2969    11    1    

14

Операции по ВЭД Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Мастера заполнения Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Обработка значительно расширяет функционал типовой конфигурации «1С:Бухгалтерия предприятия» и позволяет осуществлять автоматическое заполнение ГТД в документах «Реализация товаров и услуг», «Списание товаров», «Отчет о розничных продажах», «Отчет комиссионера (агента) о продажах», «Требование-накладная», «Возврат товаров от покупателя», «Комплектация номенклатуры», «Безвозмездная передача», «Отчет производства за смену». Обработка предназначена для работы в конфигурации «1С:Бухгалтерия предприятия 8, редакция 3.0» Есть версия обработки оптимизированная для работы в 1CFresh

12200 руб.

19.06.2012    146002    309    81    

258

Регламентированный учет и отчетность Мастера заполнения Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет ЕСН Платные (руб)

Обработка позволяет создавать документы "Сведения об уплате налогов на едином налоговом счете" по данным файла операций из личного кабинета ЕНС сайта ФНС в конфигурации 1С:Бухгалтерия предприятия 3.0.

10000 руб.

22.11.2024    4860    31    12    

31

Внешние источники данных Мастера заполнения Бизнес-аналитик Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 1С:Документооборот Россия Платные (руб)

Решение позволяет по ИНН производить проверку контрагентов, получая сведения: видов деятельности, данных ЕГРЮЛ, связанных организаций, отчетности, налогов, финансовый анализ, а также в один клик заполнить карточки справочников контрагентов/партнеров по ИНН в программе 1С по данным государственных реестров.

7499 руб.

12.08.2025    3064    9    20    

9

Корректировка данных Закрытие периода Мастера заполнения Программист Бизнес-аналитик Бухгалтер Пользователь 1С 8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление нашей фирмой 3.0 1С:УНФ Платные (руб)

Оптимизируйте процесс закрытия периодов. Автоматизируйте любые, даже самые сложные правила переноса и выполните инвентаризацию остатков за минуты. Гибкая обработка для 1С, которая работает как самостоятельный модуль — без привязки к БСП и с поддержкой большинства конфигураций. Ваш идеальный помощник для закрытия периода, исправления ошибок, реорганизации учета, корректировки и списания остатков.

6100 руб.

28.01.2026    985    2    0    

2

Обмен с ГосИС Мастера заполнения Системный администратор Бухгалтер 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Простое решение по автоматическому заполнению реквизитов контрагентов (юридических и физических лиц) по ИНН и наименованию. Может использоваться в любых конфигурациях 1С Предприятие 8: УТ 10.2, УТ 10.3 и т.д. Обновление механизмов 2022 года! Программный код открыт.

5124 руб.

23.07.2015    67060    319    15    

189
Для отправки сообщения требуется регистрация/авторизация