1. Tailor_Made 10.09.19 13:32 Сейчас в теме

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

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

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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

Вакансии

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


Программисты 1С УТ / БУЗ/ЗУП / БИТ ФИНАНС
Москва
зарплата от 100 000 руб. до 180 000 руб.
Полный день

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

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству