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 30 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С
Москва
зарплата от 80 000 руб.
Полный день

Product Owner (Менеджер по продукту 1С)
Москва
зарплата от 100 000 руб. до 170 000 руб.
Полный день

Тим лид по разработке 1С (Team Lead 1С)
Москва
зарплата от 100 000 руб. до 200 000 руб.
Полный день

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству