Автоматическое создание Заказа поставщику

1. Tailor_Made 10.09.19 13:32 Сейчас в теме
Здравствуйте! У меня есть обработка, которая выводит товары, которые проданны за определенный период, дальше я хотел бы при нажатии кнопки Создать заказ поставщику и чтобы туда попали все эти товары, которые в Объект.ТЧ. Какой код нужно написать для этого? Обработку прикрепляю, буду очень благодарен!
Управление торговлей для Украины, редакция 3.1 (3.1.6.1)
1С 8.3
Прикрепленные файлы:
1_10_09_АвтоматическаяЗакупкаТовара.epf
+
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
2. dandykry 9 10.09.19 13:41 Сейчас в теме +0.77 $m
(1) Вам смогут помочь только те, у кого такая конфигурация есть.

Если не привязываться к конфигурации, то Вам нужно зайти в модуль объекта "заказ поставщику" и найти "ОбработкаЗаполнения"

Если там будет написано что-то вроде этого,

	Если ТипДанныхЗаполнения = Тип("Структура") И ТипДанныхЗаполнения .Свойство("Товары") Тогда
		ЗаполнитьДокументПоОтбору(ДанныеЗаполнения);


то достаточно будет вызывать обработку заполнения, передавая в форму параметр "Основание" с данными для заполнения

ПараметрыФормы = Новый Структура;
Основание = Новый Структура("Товары", АдресВременногоХранилищаСТоварами);
ПараметрыФормы.Вставить("Основание", Основание );
ОткрытьФорму("Документы.ЗаказПоставщику.Форма.ФормаДокумента", параметрыФормы, ЭтаФорма);
Tailor_Made; +1
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dandykry 9 10.09.19 13:41 Сейчас в теме +0.77 $m
(1) Вам смогут помочь только те, у кого такая конфигурация есть.

Если не привязываться к конфигурации, то Вам нужно зайти в модуль объекта "заказ поставщику" и найти "ОбработкаЗаполнения"

Если там будет написано что-то вроде этого,

	Если ТипДанныхЗаполнения = Тип("Структура") И ТипДанныхЗаполнения .Свойство("Товары") Тогда
		ЗаполнитьДокументПоОтбору(ДанныеЗаполнения);


то достаточно будет вызывать обработку заполнения, передавая в форму параметр "Основание" с данными для заполнения

ПараметрыФормы = Новый Структура;
Основание = Новый Структура("Товары", АдресВременногоХранилищаСТоварами);
ПараметрыФормы.Вставить("Основание", Основание );
ОткрытьФорму("Документы.ЗаказПоставщику.Форма.ФормаДокумента", параметрыФормы, ЭтаФорма);
Tailor_Made; +1
3. Tailor_Made 10.09.19 13:45 Сейчас в теме
(2)Там такая ОбработкаЗаполнения
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
	
	ТипДанныхЗаполнения = ТипЗнч(ДанныеЗаполнения);

	НеобходимаИнициализация = Истина;
	
	Если ТипДанныхЗаполнения = Тип("Структура") Тогда

		ЗаполнитьДокументПоОтбору(ДанныеЗаполнения);

	ИначеЕсли ТипДанныхЗаполнения = Тип("СправочникСсылка.Партнеры") Тогда

		ЗаполнитьДокументНаОснованииПартнера(ДанныеЗаполнения);

	ИначеЕсли ТипДанныхЗаполнения = Тип("СправочникСсылка.СоглашенияСПоставщиками") Тогда

		ЗаполнитьДокументНаОснованииСоглашенияСПоставщиком(ДанныеЗаполнения);

	ИначеЕсли ТипДанныхЗаполнения = Тип("СправочникСсылка.СделкиСКлиентами") Тогда

		ЗаполнитьДокументНаОснованииСделки(ДанныеЗаполнения);

	ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказКлиента") Тогда

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

		ЗаполнитьДокументНаОснованииЗаявкиНаВозврат(ДанныеЗаполнения);
		
	ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказНаПеремещение") Тогда

		ЗаполнитьДокументНаОснованииЗаказаНаПеремещение(ДанныеЗаполнения);
		
	ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказНаВнутреннееПотребление") Тогда

		ЗаполнитьДокументНаОснованииЗаказаНаВнутреннееПотребление(ДанныеЗаполнения);

	ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказНаСборку") Тогда

		ЗаполнитьДокументНаОснованииЗаказаНаСборку(ДанныеЗаполнения);

	ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ИзменениеАссортимента") Тогда
		
		ИнициализироватьДокумент(ДанныеЗаполнения);
		НеобходимаИнициализация = Ложь;
		ЗаполнитьДокументНаОснованииИзмененияАссортимента(ДанныеЗаполнения);
		
	КонецЕсли;
	
	Если НеобходимаИнициализация Тогда
		
		ИнициализироватьДокумент(ДанныеЗаполнения);
		
	КонецЕсли;
    ДополнительныеСвойства.Вставить("НеобходимостьЗаполненияКассыПриФОИспользоватьНесколькоКассЛ­ожь", Ложь);
    ДополнительныеСвойства.Вставить("НеобходимостьЗаполненияСчетаПриФОИспользоватьНесколькоСчето­вЛожь", Ложь);
	
	ЗаполнениеСвойствПоСтатистикеСервер.ЗаполнитьСвойстваОбъекта(ЭтотОбъект, ДанныеЗаполнения);
	
	Если НЕ ТипДанныхЗаполнения = Тип("Структура") Тогда
		СкладГруппа = Справочники.Склады.ЭтоГруппаИСкладыИспользуютсяВТЧДокументовПродажи(Склад);
		СкладыСервер.ЗаполнитьСкладыВТабличнойЧасти(Склад, СкладГруппа, Товары, Ложь);
	КонецЕсли;
	
КонецПроцедуры
Показать
+
5. dandykry 9 10.09.19 13:58 Сейчас в теме
(3) Как сильно похоже на наше ерп

&НаКлиенте
Процедура СоздатьЗаказПоставщику(Команда)
	
    Форма = ПолучитьФорму("Документ.ЗаказПоставщику.ФормаОбъекта");
	ДокОбъект = Форма.Объект;

	ОткрытьФормуНезаписанногоДокументаНаСервере(ДокОбъект);
    КопироватьДанныеФормы(ДокОбъект, Форма.Объект);
	Форма.Открыть();
		
КонецПроцедуры

&НаСервере
Процедура ОткрытьФормуНезаписанногоДокументаНаСервере(ДокОбъект)
	
	НовыйДокумент = Документы.ЗаказПоставщику.СоздатьДокумент();
	Таблица = объект.ТЧ.Выгрузить();
	ДанныеЗаполнения = Новый Структура;
	ДанныеЗаполнения.Вставить("Товары", Таблица);
	ДанныеЗаполнения.Вставить("Склад", Объект.Склад);
	НовыйДокумент.Заполнить(ДанныеЗаполнения);

	ЗначениеВДанныеФормы(НовыйДокумент, ДокОбъект);
КонецПроцедуры
Показать


Вот в эту сторону попробуй пойти
+
7. Tailor_Made 10.09.19 14:05 Сейчас в теме
(5)Да-да! Вроде то... только вот Номенклатура и количество не попадает почему-то
Прикрепленные файлы:
+
9. dandykry 9 10.09.19 14:09 Сейчас в теме
(7) Написал в 6 сообщении. Номенклатура не должна быть строкой. Количество не доолжно быть строкой, должно быть числом

Сделай так, чтобы типы были одинаковые
http://prntscr.com/p47ldk
Tailor_Made; +1
4. Tailor_Made 10.09.19 13:51 Сейчас в теме
(2)Я сделал так, как вы сказали
&НаКлиенте
Процедура СоздатьЗаказПоставщику(Команда)
	
	ПараметрыФормы = Новый Структура;
	Основание = Новый Структура("Товары", Объект.ТЧ);
	ПараметрыФормы.Вставить("Основание", Основание );
	ОткрытьФорму("Документ.ЗаказПоставщику.Форма.ФормаДокумента", параметрыФормы, ЭтаФорма);
Прикрепленные файлы:
+
6. dandykry 9 10.09.19 14:04 Сейчас в теме
(4) http://prntscr.com/p47idm
У меня номенклатура с типом строка. Если было бы с типом справочника номенклатура, то все было бы хорошо
Tailor_Made; +1
8. Tailor_Made 10.09.19 14:07 Сейчас в теме
(6)СПАСИБО БОЛЬШОЕ! Так вышло
А количество уже вручную только прописать? Или его тоже удастся затянуть?
+
10. dandykry 9 10.09.19 14:10 Сейчас в теме
(8) Ответил в 9 ))))
Tailor_Made; +1
11. Tailor_Made 10.09.19 14:13 Сейчас в теме
(10)какой же я тупой.. Большое спасибо! Ещё хотел только спросить удастся ли Артикул так же перенести? А то он важный для нас
+
13. dandykry 9 10.09.19 14:25 Сейчас в теме
(11) Артикул выводится из карточки номенклатуры.
(12) Полагаю нужно еще количество упаковок заполнить. т.е рядом с Тч.Количество добавить КоличествоУпаковок. Пусть будет равно всегда количеству.

Вы не видите количество, потому что оно от вас спрятано. На форме отображается поле КоличествоУпаковок
Tailor_Made; +1
15. Tailor_Made 10.09.19 14:33 Сейчас в теме
(13)заполнил количество упаковок и вышло.

А если Артикул из карточки номенклатуры, то его как можно получить?
+
16. dandykry 9 10.09.19 14:41 Сейчас в теме
(15) Вроде Еще - Изменить форму - В табличной части найти поле Артикул - Установить галочку.
+
17. Tailor_Made 10.09.19 14:47 Сейчас в теме
(16)простите, не понял где это
+
12. Tailor_Made 10.09.19 14:17 Сейчас в теме
КОличество почему-то всё равно не попадает
Прикрепленные файлы:
+
14. dandykry 9 10.09.19 14:30 Сейчас в теме
(12) Либо

&НаСервере
Процедура ОткрытьФормуНезаписанногоДокументаНаСервере(ДокОбъект)
	
	Для Каждого Стр Из Объект.ТЧ Цикл
		НоваяСтрока = ДокОбъект.Товары.Добавить();
		ЗаполнитьЗначенияСвойств(НоваяСтрока, Стр);
		СтруктураДействий = Новый Структура;
		СтруктураДействий.Вставить("ПересчитатьКоличествоУпаковок");
		ОбработкаТабличнойЧастиСервер.ОбработатьСтрокуТЧ(НоваяСтрока, СтруктураДействий, Неопределено);
	КонецЦикла;
	
КонецПроцедуры
Показать
+
18. Tailor_Made 10.09.19 14:49 Сейчас в теме
У меня вот такая ситуация. Артикул с обработки не затягивается в заказ
Прикрепленные файлы:
+
19. dandykry 9 10.09.19 14:51 Сейчас в теме
20. Tailor_Made 10.09.19 15:15 Сейчас в теме
(19)если сможете, то очень бы попросил подсказать почему может Артикул не заполнять, это уже моя последняя проблема)
+
21. dandykry 9 10.09.19 15:26 Сейчас в теме
(20) Я не знаю. Если это реквизит табличной части, то смотрите на наименование табличных частей документа и наименование вашей ТЧ. Так же на типы смотрите.
+
Внимание! Тема сдана в архив

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