@Vladik180

Как убрать автозаполнение окна 1с, и открыть пустым по нажатию кнопки?

5eea26f013b4c850718515.jpeg5eea26fd17a00385991285.jpeg5eea24cd093b4277577088.jpegВообще есть кнопка Покупка. Она открывает покупку под договором. скрин 1.

Есть кнопка создать движение, она открывает пустую покупку. Скрин 2.

Нужно что бы кнопка покупка открывала как на скрине 2, может кто испрвить код?

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


При нажатие на кнопку покупка код.

Процедура ПриемТовара(Команда)
	ОткрытьЗначение(ПриемТовараНаСервере(ТекущийМагазин));
КонецПроцедуры
  • Вопрос задан
  • 194 просмотра
Решения вопроса 1
Sergey512
@Sergey512
Программист 1с
&НаКлиенте
Процедура Покупка(Команда)
      ОткрытьЗначение(ПокупкаНаСервере(ТекущийМагазин));
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПокупкаНаСервере(ТекущийМагазин)
  
  лДокумент = Документы.Покупка.СоздатьДокумент();
  лДокумент.Дата = ТекущаяДата();
  лДокумент.Магазин = ТекущийМагазин;
  лДокумент.Записать(РежимЗаписиДокумента.Запись);
  Возврат лДокумент.Ссылка;
  
КонецФункции


Вот код, если делать по аналогии твоего кода. Но данный код не очень хорош, потому, что он создает документ и сразу записывает его. Не оставляя пользователю возможности, например передумать создавать покупку.

Я бы сделал вот так:

&НаКлиенте
Процедура Покупка(Команда)
	
	ОткрытьФорму("Документ.Покупка.Форма.ФормаДокумента", Новый Структура("Ключ", ПредопределенноеЗначение("Документ.Покупка.ПустаяСсылка")));
	
КонецПроцедуры


Этот код создаст новый пустой документ покупка, без записи в БД.

Возможно имя формы у тебя называется по другому, надо посмотреть в конфигураторе и заметить в строке Документ.Покупка.Форма.ИМЯ_ФОРМЫ_КАК_В_КОНФИГУРАТОРЕ на твое имя.

Оба кода будут работать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы