INFOSTART EVENT 2018 EDUCATION

Второй тур голосования за доклады.
Окончание 5 сентября.

Денисов Александр | Аналитик производительности БД | ГК Софтпоинт

«Неочевидные проблемы производительности: важность системного подхода при анализе»

• Распределенные взаимоблокировки: в чем опасность, как диагностировать и что делать дальше? «Распределенные блокировки», «синхронизация транзакций», «распределенные системы» — обычно это словосочетания, характерные для крупных систем, где сотни пользователей подключаются к геораспределенным репликам, а аналитики ищут вдохновения в измерениях олап-кубов. В секторе Small &Medium Business другие проблемы. Но даже если у вас все пользователи работают с одной-единственной клиент-серверной базой, вы все равно можете столкнуться с распределенными взаимоблокировками. Хуже того, из-за сложности диагностики программисты и администраторы могут не видеть, насколько серьезна ситуация. Мы разберем механику возникновения таких взаимоблокировок, способы диагностики и исправления ситуации. • «Железом» не прикрыть неоптимальный код. Когда аппаратное расширение уже не помогает. «Железом» не прикрыть неоптимальный код. Когда аппаратное расширение уже не помогает. Многие организации считают, что в случае острой необходимости они всегда могут «откупиться» от плохого кода вложившись в более мощную «железку» — дорого, зато быстро. Но из любого правила есть исключения. Мы разберем ситуацию, когда еще до закупки нового оборудования стало понятно, что это никак не ускорит систему.

Процедура для заполнения табличной части обработки "Печать ценников" по документу Установка цен номенклатуры (УТ 10.3)

Программирование - Практика программирования

3
Процедура позволит распечатать ценники по товару из документа Установка цен номенклатуры

Данная процедура дополняет функционал стандартной, для УТ 10.3, обработки "Печать ценников". В меню Заполнить добавляем элемент ЗаполнитьПоУстановкаЦен и (соответственно ему) действие КоманднаяПанельТоварыЗаполнитьПоУстановкаЦен

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

Также эту процедуру легко можно переделать под любой другой документ.

3

См. также

Комментарии
Сортировка: Древо
1. Papilion 19.08.15 10:59 Сейчас в теме
Чтобы не менять конфу можно добавить как внешнюю обработку через "Внешние обработки заполнения табличных частей", используя
Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта = Неопределено) Экспорт.
3. dr2c 39 24.08.15 13:38 Сейчас в теме
(1) Papilion, Безусловно. Здесь нет ни слова, что эти изменения можно(нужно) вносить только в обработку из состава конфигурации.
2. NE_ZNAIY 24.08.15 09:46 Сейчас в теме
А разве нельзя прямо из установки цен напечатать ценники?
Я печатаю. В какой момент эта обработка может понадобиться?
4. dr2c 39 24.08.15 13:39 Сейчас в теме
(2) NE_ZNAIY, Уверены, что у вас стандартное решение? В оригинальной поставке можно распечатать Прайс, но не ценники
Оставьте свое сообщение