0. SERGQ 40 02.02.15 16:14 Сейчас в теме

Рабочий стол Менеджера CRM для УТ

Обработка "Рабочий стол менеджера" предназначена для легкой работы с клиентами.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. jobkostya1c8 03.02.15 07:19 Сейчас в теме
Хорошая идея с АРМ менеджера для УТ. Такая же работа предстоит. Запомню.
2. Pim 169 07.02.15 12:59 Сейчас в теме
Хотелось бы увидеть код процедуры модОформление.СоздатьКнопкиПодменюТовары.
3. SERGQ 40 09.02.15 15:09 Сейчас в теме
(2) Pim,

Спасибо за интерес к обработке:
Вот сама процедура:
Процедура СоздатьКнопкиПодменюТовары(КоманднаяПанель,Объект = Неопределено) Экспорт
	//В зависимости от объекта создаем соответствующие кнопки.
	//1. Объект = неопределено. Это главная форма, 
	ДобавлятьОтчетыПоДоговору = Ложь;
	ДобавлятьОтчетыПоКонтрагенту = Ложь;
	ДобавлятьОтчетыПоНоменклатуре = Ложь;
	ДобавлятьОтчетыПоСкладу = Ложь;
	ДобавлятьОтчетыПоКассе = Ложь;
	ДобавлятьОтчетыПоЗаказамПоставщикам = Ложь;
	ДобавлятьОтчетыПоЗаказамПокупателей = Ложь;
	
	Если СокрЛП(КоманднаяПанель.ИсточникДействий) = "Форма" Тогда
		Если ТипЗнч(КоманднаяПанель.ИсточникДействий.Ссылка) = Тип("СправочникСсылка.ДоговорыКонтрагентов") Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
		ИначеЕсли ТипЗнч(КоманднаяПанель.ИсточникДействий.Ссылка) = Тип("СправочникСсылка.Контрагенты") Тогда
			ДобавлятьОтчетыПоКонтрагенту = Истина;
		ИначеЕсли ТипЗнч(КоманднаяПанель.ИсточникДействий.Ссылка) = Тип("СправочникСсылка.Номенклатура") Тогда
			ДобавлятьОтчетыПоНоменклатуре = Истина;
		Иначе
			Возврат;
		КонецЕсли;
	ИначеЕсли (Объект <> Неопределено) И (ТипЗнч(Объект) = Тип("ОбработкаОбъект.РабочееМесто")) Тогда
		//Перебираем командные панели рабочего стола
		Если КоманднаяПанель.Имя = "КоманднаяПанельРеализации" Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоСкладу = Истина;
			ДобавлятьОтчетыПоКассе = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельВозвратовОтПокупателей" Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоСкладу = Истина;
			ДобавлятьОтчетыПоКассе = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельЗаказовПокупателей" Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоСкладу = Истина;
			ДобавлятьОтчетыПоЗаказамПокупателей = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельЗаказовПоставщикам" Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоСкладу = Истина;
			ДобавлятьОтчетыПоЗаказамПоставщикам = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельПоступлений" Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоСкладу = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельВозвратовПоставщикам" Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоСкладу = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельНоменклатуры" Тогда
			ДобавлятьОтчетыПоНоменклатуре = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельПеремещенийТоваров" Тогда
			ДобавлятьОтчетыПоНоменклатуре = Истина;
			ДобавлятьОтчетыПоСкладу = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельОприходований" Тогда
			ДобавлятьОтчетыПоСкладу = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельСписаний" Тогда
			ДобавлятьОтчетыПоСкладу = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельКассовыхДокументов" Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоКассе = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельБанковскихДокументов" Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельПКО" Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоКассе = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельРКО" Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоКассе = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельПеремещенийМеждуКассами" Тогда
			ДобавлятьОтчетыПоКассе = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельППВ" Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельППИ" Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельУстановокЦен" Тогда
			
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельКонтрагентов" Тогда
			ДобавлятьОтчетыПоКонтрагенту = Истина;
		ИначеЕсли КоманднаяПанель.Имя = "КоманднаяПанельДоговоров" Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
		КонецЕсли;
	Иначе
		Если Объект = Неопределено Тогда
			Возврат;
		КонецЕсли;
		Если ТипЗнч(Объект) = Тип("ДокументОбъект.ЗаказПоставщику") Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоНоменклатуре = Истина;
			ДобавлятьОтчетыПоСкладу = Истина;
			ДобавлятьОтчетыПоЗаказамПоставщикам = Истина;
		ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ПоступлениеТоваровУслуг") Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоНоменклатуре = Истина;
			ДобавлятьОтчетыПоСкладу = Истина;
		ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.РеализацияТоваровУслуг") Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоНоменклатуре = Истина;
			ДобавлятьОтчетыПоСкладу = Истина;
			ДобавлятьОтчетыПоКассе = Истина;
		ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ВозвратТоваровОтПокупателя") Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоНоменклатуре = Истина;
			ДобавлятьОтчетыПоСкладу = Истина;
			ДобавлятьОтчетыПоКассе = Истина;
		ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ВозвратТоваровПоставщику") Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоНоменклатуре = Истина;
			ДобавлятьОтчетыПоСкладу = Истина;
		ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ПеремещениеТоваров") Тогда
			ДобавлятьОтчетыПоНоменклатуре = Истина;
			ДобавлятьОтчетыПоСкладу = Истина;
			ДобавлятьОтчетыПоКассе = Истина;
		ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ЗаказПокупателя") Тогда
			ДобавлятьОтчетыПоДоговору = Истина;;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоНоменклатуре = Истина;
			ДобавлятьОтчетыПоСкладу = Истина;
			ДобавлятьОтчетыПоЗаказамПокупателей = Истина;
		ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ОприходованиеТоваров") Тогда
			ДобавлятьОтчетыПоНоменклатуре = Истина;
			ДобавлятьОтчетыПоСкладу = Истина;
		ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.СписаниеТоваров") Тогда
			ДобавлятьОтчетыПоНоменклатуре = Истина;
			ДобавлятьОтчетыПоСкладу = Истина;
		ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ПриходныйКассовыйОрдер") Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоКассе = Истина;
		ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.РасходныйКассовыйОрдер") Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
			ДобавлятьОтчетыПоКассе = Истина;
		ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ПлатежноеПоручениеВходящее") Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
		ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ПлатежноеПоручениеИсходящее") Тогда
			ДобавлятьОтчетыПоДоговору = Истина;
			ДобавлятьОтчетыПоКонтрагенту = Истина;
		ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.УстановкаЦенНоменклатуры") Тогда
			ДобавлятьОтчетыПоНоменклатуре = Истина;
		ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ВнутреннееПеремещениеНаличныхДенежныхСредств") Тогда
			ДобавлятьОтчетыПоКассе = Истина;
		КонецЕсли;
	КонецЕсли;
	
	Список = Новый СписокЗначений;
	НуженРазделитель = Ложь;
	Если ДобавлятьОтчетыПоНоменклатуре Тогда
		Если РаботаСРолями.ОпределитьПраво("ДоступностьВедомостиПоНоменклатуре") Тогда
			Список.Добавить("ВедомостьПоПартиям_Номенклатура","Ведомость по товару");
			НуженРазделитель = Истина;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьСпискаДокументовПоНоменклатуре") Тогда
			Список.Добавить("ДокументыПоНоменклатуре_Номенклатура","Документы по номенклатуре");
			НуженРазделитель = Истина;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьОстатковСерийныхНомеров") Тогда
			Список.Добавить("ОстаткиСерийныхНомеров_Номенклатура","Остатки серийных номеров");
			НуженРазделитель = Истина;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьИнформацииОЗакупкахНоменклатуры") Тогда
			Список.Добавить("ЗакупочныеЦены_Номенклатура","История закупок");
			НуженРазделитель = Истина;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьАнализаКомплектующих") Тогда
			Список.Добавить("АнализКомплектующих_Номенклатура","Анализ комплектующих");
			НуженРазделитель = Истина;
		КонецЕсли;
	КонецЕсли;
	
	Если ДобавлятьОтчетыПоКонтрагенту Тогда
		Если НуженРазделитель Тогда
			Список.Добавить("Разделитель1");
			НуженРазделитель = Ложь;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьИнформацииОКонтрагенте") Тогда
			Список.Добавить("ИнформацияОКонтрагенте_Контрагент","Информация о контрагенте");
			НуженРазделитель = Истина;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьАктаСверкиПоКонтрагенту") Тогда
			Список.Добавить("АктСверкиПоКонтрагенту_Контрагент","Акт сверки по контрагенту");
			НуженРазделитель = Истина;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьВедомостиВзаиморасчетовПоКонтрагенту") Тогда
			Список.Добавить("ВедомостьВзаиморасчетовПоКонтрагенту_Контрагент","Ведомость взаиморасчетов по контрагенту");
			НуженРазделитель = Истина;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьСобытийПоКонтрагенту") Тогда
			Список.Добавить("СобытияПоКонтрагенту_Контрагент","События по контрагенту");
			НуженРазделитель = Истина;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьДебиторкиПоКонтрагенту") Тогда
			Список.Добавить("ДебиторкаПоКонтрагенту_Контрагент","Дебиторка по контрагенту");
			НуженРазделитель = Истина;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьДебиторкиПоДоговору") Тогда
			Список.Добавить("ДебиторкаПоКонтрагенту_Договор","Дебиторка по договору");
			НуженРазделитель = Истина;
		КонецЕсли;
	КонецЕсли;
	Если ДобавлятьОтчетыПоДоговору Тогда
		Если НуженРазделитель Тогда
			Список.Добавить("Разделитель2");
			НуженРазделитель = Ложь;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьАктаСверкиПоДоговору") Тогда
			Список.Добавить("АктСверкиПоДоговору_Договор","Акт сверки по договору");
			НуженРазделитель = Истина;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьВедомостиВзаиморасчетовПоДоговору") Тогда
			Список.Добавить("ВедомостьВзаиморасчетовПоДоговору_Договор","Ведомость взаиморасчетов по договору");
			НуженРазделитель = Истина;
		КонецЕсли;
	КонецЕсли;
	Если ДобавлятьОтчетыПоСкладу Тогда
		Если НуженРазделитель Тогда
			Список.Добавить("Разделитель3");
			НуженРазделитель = Ложь;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьВедомостиПоСкладу") Тогда
			Список.Добавить("ВедомостьПоСкладу_Склад","Ведомость по складу");
			НуженРазделитель = Истина;
		КонецЕсли;
	КонецЕсли;
	Если ДобавлятьОтчетыПоКассе Тогда
		Если НуженРазделитель Тогда
			Список.Добавить("Разделитель4");
			НуженРазделитель = Ложь;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьВедомостиПоКассе") Тогда
			Список.Добавить("ВедомостьПоКассе_Касса","Ведомость по кассе");
			НуженРазделитель = Истина;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьДвиженияДенежныхСредств") Тогда
			Список.Добавить("ДвиженияДенежныхСредств_Касса","Движения денежных средств");
			НуженРазделитель = Истина;
		КонецЕсли;
	КонецЕсли;
	Если ДобавлятьОтчетыПоЗаказамПоставщикам Тогда
		Если НуженРазделитель Тогда
			Список.Добавить("Разделитель5");
			НуженРазделитель = Ложь;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьОтчетовПоЗаказамПоставщикам") Тогда
			Список.Добавить("ОтчетПоТекЗаказу_ЗаказПоставщику","Отчет по текущему заказу");
			Список.Добавить("ОтчетПоВсемЗаказам_ЗаказПоставщику","Отчет по незакрытым заказам");
		КонецЕсли;
	КонецЕсли;
	Если ДобавлятьОтчетыПоЗаказамПокупателей Тогда
		Если НуженРазделитель Тогда
			Список.Добавить("Разделитель6");
			НуженРазделитель = Ложь;
		КонецЕсли;
		Если РаботаСРолями.ОпределитьПраво("ДоступностьАнализаЗаказов") Тогда
			Список.Добавить("АнализЗаказов_ЗаказПокупателя","Анализ текущего заказа");
		КонецЕсли;
	КонецЕсли;
	
	Попытка
		КоманднаяПанель.Кнопки.Товары.Текст = "Быстрые отчеты";
	Исключение
		//Сообщить(КоманднаяПанель.Имя);
	КонецПопытки;
	Для Каждого Стр Из Список Цикл
		Если Лев(Стр,11) = "Разделитель" Тогда
			КоманднаяПанель.Кнопки.Товары.Кнопки.Добавить(,ТипКнопкиКоманднойПанели.Разделитель);
			Продолжить;
		КонецЕсли;
		Попытка
			НоваяКнопка = КоманднаяПанель.Кнопки.Товары.Кнопки.Добавить(Стр.Значение,ТипКнопкиКоманднойПанели.Действие,Стр.Представление,Новый Действие("ДействиеПодменюКнопкиТовары"));
		Исключение
			
		КонецПопытки;
	КонецЦикла;
КонецПроцедуры
Показать
4. Volfy 31 21.08.15 11:09 Сейчас в теме
Интересно =) посмотрим что внутри
5. sashajat 19.12.15 08:10 Сейчас в теме
Ошибки при открытии хотя все зааполнено
{ВнешняяОбработка.РабочееМесто.МодульОбъекта(10,32)}: Переменная не определена (мТекущийПользователь)
НовыйДокумент.Ответственный = <<?>>мТекущийПользователь;
{ВнешняяОбработка.РабочееМесто.МодульОбъекта(14,85)}: Переменная не определена (мТекущийПользователь)
НовыйДокумент.Подразделение = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(<<?>>мТекущийПользователь,"ОсновноеПодразделение");
{ВнешняяОбработка.РабочееМесто.МодульОбъекта(15,77)}: Переменная не определена (мТекущийПользователь)
НовыйДокумент.Склад = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(<<?>>мТекущийПользователь,"ОсновнойСклад");
{ВнешняяОбработка.РабочееМесто.МодульОбъекта(22,78)}: Переменная не определена (мТекущийПользователь)
НовыйДокумент.ТипЦен = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(<<?>>мТекущийПользователь,"ОсновнойТипЦенПродажи");
6. ttartem 03.11.17 06:35 Сейчас в теме
Для ут 10.3 не подходит я так понял?
7. SERGQ 40 03.11.17 09:52 Сейчас в теме
Да.. Надо самому допиливать.
8. user795119 21.11.18 14:29 Сейчас в теме
есть интерес к вашим работам -могу предложить постоянное мин 0,5 года рабочее место с офиц ЗП для допила существующей 1с ут10,3 -интересно?
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Специалист 1 категории (Программист 1С)
Фрязино
зарплата от 110 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Специалист 1 категории (Методист-аналитик 1С)
Фрязино
зарплата от 100 000 руб.
Полный день

Главный архитектор 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (Оперативный учет)
Санкт-Петербург
зарплата от 120 000 руб.
Полный день