Автоматический добавление номенклатуры товара при создании документа

1. 2sw 18 28.05.12 17:30 Сейчас в теме
Есть задача (кнопка или пункт в меню), чтобы при открытии документа "реализация" автоматически в табличную часть сразу включалась нужная номенклатура (по коду или артикулу).
Подскажите плз что добавить в модуль и какую задачу повесить на кнопку.
Спасибо ;)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. baldorc 4 28.05.12 17:44 Сейчас в теме
Если при открытии документа, то в процедуру формы "ПриОткрытии" в конец добавить след кусок кода

	СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура");
	Код = "00000231";
	Если СпрНоменклатура.НайтиПоКоду(Код, 0) <> 0 Тогда
		НоваяСтрока();
		Номенклатура = СпрНоменклатура.ТекущийЭлемент();
		Количество = 1;
		Цена = 20;
		//и так далее, остальные реквизиты табличсной части
	КонецЕсли;
Показать

если нужно добавлять строчку только при создании нового документа, тогда этот кусок кода надо добавить в предопределенную процедуру модуля формы "ВводНового"

или, на худой конец, поместить этот код в процедуру с названием, например ДобавитьТовар(), добавить на форму кнопку и у кнопки, в поле "дополнительно", прописать название процедуры ДобавитьТовар()
вот как-то так :)
4. 2sw 18 28.05.12 18:34 Сейчас в теме
если такую задачу повесить на кнопку


ОткрытьФорму("Документ.Реализация", "ДобавитьТовар")

Если ПустоеЗначение(Форма.Параметр)=0 Тогда
		Если Форма.Параметр = "ДобавитьТовар" Тогда  
//код (2) baldorc
                   СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура");
                   Код = "00000231";
                           Если СпрНоменклатура.НайтиПоКоду(Код, 0) <> 0 Тогда
                           НоваяСтрока();
                           Номенклатура = СпрНоменклатура.ТекущийЭлемент();
                           Количество = 1;
                           Цена = 20;
      //и так далее, остальные реквизиты табличсной части
                           КонецЕсли;

		КонецЕсли;
	Иначе
Показать
...
6. 2sw 18 28.05.12 18:48 Сейчас в теме
:D Все получилось

добавил кнопку меню, повесил задачу
ОткрытьФорму("Документ.Реализация", "ДобавитьТовар")


вот итоговый модуль
// предопределенная процедура
Процедура ВводНового(Скопирован)
	                  
	глЗаполнитьШапку(Контекст, Скопирован,"Продажа");
	
	Если Скопирован = 1 Тогда
		ПересчетСуммыВзаиморасчетов();
		Возврат;
	КонецЕсли;
	
	Если ПустоеЗначение(Форма.Параметр)=0 Тогда
		Если Форма.Параметр = "Комиссия" Тогда  
			КодОперации		= Перечисление.КодыОпераций.ПередачаНаРеализацию;
		Иначе
			КодОперации		= Перечисление.КодыОпераций.Продажа;
		КонецЕсли;  

        //sw
		Если Форма.Параметр = "ДобавитьТовар" Тогда  
//код (2) baldorc
                   СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура");
                   //заправка картриджа
				   Код = "DS001986";
                           Если СпрНоменклатура.НайтиПоКоду(Код, 0) <> 0 Тогда
                           НоваяСтрока();
                           Номенклатура = СпрНоменклатура.ТекущийЭлемент();
                           Количество = 1;
                           Цена = 300;
      //и так далее, остальные реквизиты табличсной части
                           КонецЕсли;

      КонецЕсли;	
		
	Иначе
		КодОперации	= Перечисление.КодыОпераций.Продажа;
	КонецЕсли;    
	
	// Документы оптовой торговли можно оформлять только с оптового склада
	Если (Склад.РозничныйСклад = 1) Тогда
	    Склад = "";
	КонецЕсли;              
    
КонецПроцедуры // ВводНового()   
Показать


;)
7. baldorc 4 29.05.12 13:18 Сейчас в теме
(6) 2sw, да, вполне нормально получилось
3. 2sw 18 28.05.12 17:55 Сейчас в теме
Большое спасибо за столь подробный ответ!
Буду мучать кнопки и модуль. ;)

зы. А можно ли сделать вызов этой процедуры по кнопке панели иструментов, например через задачу:

ОткрытьФорму("Документ.Реализация", ".....")

Как инициализировать вызов этой процедуры только при условии нажатия определенной кнопки меню?
5. baldorc 4 28.05.12 18:38 Сейчас в теме
добавить в меню пункт(или на панель кнопку) Задача с командой "Задача.Выполнить" в поле "формула" на закл "параметры" прописать что-то такое
ОткрытьФорму("Документ.Реализация", "ой")

вышеуказанный код трансформируется в
Если Форма.Параметр = "ой" Тогда
   СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура");
   Код = "00000231";
   Если СпрНоменклатура.НайтиПоКоду(Код, 0) <> 0 Тогда
      НоваяСтрока();
      Номенклатура = СпрНоменклатура.ТекущийЭлемент();
      Количество = 1;
      Цена = 20;
      //и так далее, остальные реквизиты табличной части
   КонецЕсли;
КонецЕсли;
Показать

и поместить его лучше в ВводНового
Оставьте свое сообщение

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