Помогите найти обработку

1. Викунец 13.05.13 08:58 Сейчас в теме
Всем доброго времени суток. Помогите пожалуйста найти обработку чтобы автоматически проставить номера ИНН в справочнике Контрагенты. Бухгалтера добавляли контрагентов без инн, якобы они не нужны им в работе. Инн-ки нужно просто проставить по шаблону 0000000000, 0000000001, 0000000002 и т.д. все разом
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. fatumDitis 13.05.13 09:17 Сейчас в теме
uchoice вроде называется, найти можно на диске ИТС.
3. ensot 13.05.13 09:33 Сейчас в теме
Можно так

Процедура Сформировать()
ШаблонИнн=Число(1000000001);
Контр=СоздатьОбъект("Справочник.Контрагенты");   // Вместо Контрагенты вписать идентификатор справочника из конфигуратора
Контр.ВыбратьЭлементы();
Пока контр.ПолучитьЭлемент()=1 Цикл 

ШаблонИнн=ШаблонИнн+1;	
	Контр.УстановитьАтрибут("ИНН",ШаблонИнн); // Вместо "ИНН" вписать идентификатор реквизита из конфигуратора
	Контр.Записать();
	
КонецЦикла;
КонецПроцедуры
Показать
4. Викунец 13.05.13 10:29 Сейчас в теме
(3) ensot, сейчас попробую)
5. alpaka 13.05.13 10:35 Сейчас в теме
Для ТиС 9.2, например, так:

//*******************************************
Функция СформироватьИНН(Счетчик, НеобходимаяДлина)
		
	ИНН          = Строка(Счетчик);
	ТекущаяДлина = СтрДлина(ИНН);
	
	Нули = "";
	Для А = 1 По НеобходимаяДлина - ТекущаяДлина Цикл 
		
		Нули = Нули + "0";
		
	КонецЦикла;
	
	Возврат (Нули + ИНН);
	
КонецФункции

//*******************************************
Процедура Сформировать()

	ДлинаИНН = 10;	//Меняем здесь длину кода
	Счетчик  = 0;
	
	НачатьТранзакцию();	
	
	Спр = СоздатьОбъект("Справочник.Контрагенты");
	Спр.ВыбратьЭлементы();
	Пока Спр.ПолучитьЭлемент() = 1 Цикл
		
		Если Спр.ЭтоГруппа() = 1 Тогда
			Продолжить;
		КонецЕсли;
		
		ЮФЛ = Спр.ЮрФизЛицо;
		Если ЮФЛ.Выбран() = 0 Тогда
			Продолжить;						
		КонецЕсли;
		Если ПустаяСтрока(ЮФЛ.ИНН) = 0 Тогда
			Продолжить;
		КонецЕсли;
		
		ЮФЛОбъект = СоздатьОбъект("Справочник." + ЮФЛ.Вид());
		Если ЮФЛОбъект.НайтиЭлемент(ЮФЛ) = 1 Тогда
			
			Счетчик = Счетчик + 1;			
			ЮФЛОбъект.ИНН = СформироватьИНН(Счетчик, ДлинаИНН);
			ЮФЛОбъект.Записать();
			Сообщить("Контрагенту """ + Спр.ТекущийЭлемент() + """ присвоен ИНН!");
			
		Иначе
			
		        Сообщить("Не удалось получить объект: " + ЮФЛ, "!");			
			
		КонецЕсли;
		
		Состояние("Присвоено ИНН: " + Счетчик);
		
	КонецЦикла;
	
	ЗафиксироватьТранзакцию();
	
КонецПроцедуры
Показать


При этом, уже заполненные ИНН будут сохранены.

Не забывайте про резервную копию!
Всё это в модуль формы новой обработки и выполнить.
6. Викунец 13.05.13 10:47 Сейчас в теме
(5) alpaka, ура ура)))спасибо)))получилось
Оставьте свое сообщение

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