Семерка

Клиент попросил из 7ки перенести все в УТ 11.3. Сижу настраиваю справочники для типового переноса — какая же скорость работы, не заполнил реквизит — сразу фокус в него…трисполовиной справочника, четыресполовиной документа и пара отчетов…куда катится этот мир…

Я тут понял что ни разу типовыми механизмами переносы никогда не получались.

Вот и  https://its.1c.ru/db/metod81#content:4659:hdoc не дает нужного результата. Ну понятно, если все подчистить, настроить будет гуд, ну почему если я из типовой в типовую лью — он не льется? Почему понятно, вопрос почему лень нормальный обмен 1С забабахать — чтобы ошибки обходились стороной.

Как создать/изменить договор в ТИС 9.2

Практически в любом торговом документе есть поля Контрагент и его Договор. В Тисе при добавлении нового контрагента и выборе его в поле Контрагент в заявке покупателя – договор формируется автоматически с названием Основной договор. Т.е. Контрагент – Петров, Договор – Основной договор. Как сделать так чтобы можно было очищать поле договор/добавлять договор/изменять договор по номеру и дате заявки покупателя:

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

Как из периферийной базы сделать центральную в 1С 7.7?

Если кто-то снес центр, всегда можно восстановить эту центральную базу из периферийки. Для этого необходимо удалить 1SDBSET.CDX и 1SDBSET.DBF. Вся инфа о распределенки хранится в 1SDBSET.DBF. После удаления файлов периферийные образы придется сделать заново. Так же можно менять идентификаторы баз в 1SDBSET.DBF (поле DBSTATUS). Центр это M, периферийка это C. Для просмотра файлов версий 1С 7.7 можно использовать DBF Viewer 2000.