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

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

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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Вот в эту сторону попробуй пойти
7. Tailor_Made 10.09.19 14:05 Сейчас в теме
(5)Да-да! Вроде то... только вот Номенклатура и количество не попадает почему-то
Прикрепленные файлы:
9. dandykry 10 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 10 10.09.19 14:04 Сейчас в теме
(4) http://prntscr.com/p47idm
У меня номенклатура с типом строка. Если было бы с типом справочника номенклатура, то все было бы хорошо
Tailor_Made; +1 Ответить
8. Tailor_Made 10.09.19 14:07 Сейчас в теме
(6)СПАСИБО БОЛЬШОЕ! Так вышло
А количество уже вручную только прописать? Или его тоже удастся затянуть?
10. dandykry 10 10.09.19 14:10 Сейчас в теме
11. Tailor_Made 10.09.19 14:13 Сейчас в теме
(10)какой же я тупой.. Большое спасибо! Ещё хотел только спросить удастся ли Артикул так же перенести? А то он важный для нас
13. dandykry 10 10.09.19 14:25 Сейчас в теме
(11) Артикул выводится из карточки номенклатуры.
(12) Полагаю нужно еще количество упаковок заполнить. т.е рядом с Тч.Количество добавить КоличествоУпаковок. Пусть будет равно всегда количеству.

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

А если Артикул из карточки номенклатуры, то его как можно получить?
16. dandykry 10 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 10 10.09.19 14:30 Сейчас в теме
(12) Либо

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

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)