Формирование покупки-продажи между собственными организациями

21.12.15

Учетные задачи - Оптовая торговля

Обработка создает реализацию в одной организации и поступление в другой. Для клиентов, которые работают с настройкой "Разрешить превышение остатка товаров организации"

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
СОзданиеПакетаДокументов.epf
.epf 19,13Kb
16
16 Скачать (1 SM) Купить за 1 850 руб.

Инструкция по использованию:

1) Необходимо заполнить все поля шапки: 

  • даты периода продаж - дата1 - начальная, дата2 - конечная
  • склад, с которого осуществлялись продажи
  • тип цены - тип цен для внутреннего товарооборота
  • организация-продавец - организация, с которой осуществлялись продажи без контроля остатка по организации
  • контрагент продавец - контрагент, должен соответствовать наименованию организации-продавца
  • организация-поставщик - организация, чьи остатки продавались за период
  • контрагент-поставщик - контрагент, должен соответствовать наименованию организации-поставщика


2) После заполнения данных шапки необходимо нажать "Заполнить исходные документы"

Исходные данные заполняются на основе движений реализации по регистру партий, то есть выбираются именно те товары, которые числились на указанной организации. также компонуются даты по созданию документов, чтобы не плодить их сотни, а оптимально сделать два-три документа с учетом поступлений.


3) После того, как сформированы исходные документы, нажатием кнопки "Сформировать пакет документов", создаются по скомпонованным датам следующие документы:

  • продажа от организации-поставщика на контрагента-продавца,
  • поступление в организации-продавца от контрагента-поставщика.

Документы автоматически проводятся.


Следует учесть, чтобы были цены на каждый товар, иначе выйдет предупреждение о невозможности создания документов, так же необходимо, что бы у контрагентов были договоры по соответствующим организациям.

 

Важно!

Для того, что бы при неоперативном проведении списывались партии с учетом остатков организации, необходимо поправить общий модуль УправлениеЗапасамиПартионныйУчет в процедуре СписаниеПартий, изменения помечены комментарием "Алексей".


// Списание со склада по строке
//
// Параметры
//  СтруктураПараметров  – Структура, содержащая общие параметры
//
// Возвращаемое значение:
//   ТаблицаЗначений   – таблица списанных партий
//
Процедура СписаниеПартий(СтрокаДокумента, СтруктураПараметров, РегистрУчета)
	
	КодыОпераций = Перечисления.КодыОперацийПартииТоваров;
	
	// Партии для данного учета
	ИмяРегистра = ПолучитьИмяРегистра("ПартииТоваров", РегистрУчета, СтрокаДокумента);
	
	// Если нет регистра, по которому списываем, тогда пропускаем
	Если ИмяРегистра="" Тогда
		Возврат;
	КонецЕсли;
	
	ДеревоПартий = СтруктураПараметров["Дерево"+ИмяРегистра];
	
	СтруктураИзмерений = СтруктураПараметров[ИмяРегистра + "СтруктураИзмерений"];
	ТаблицаОстатковПартий = СтруктураПараметров[ИмяРегистра + "ТаблицаОстатков"];
	
	СтрокаДереваПартий = ДеревоПартий.Строки.Найти(СтрокаДокумента.НомерСтрокиДокумента, "НомерСтрокиДокумента");
	
	// Подлежащее погашению при списании количество
	КоличествоОсталосьПогасить = СтрокаДокумента.Количество;
	
	// В строке может быть указана стоимость поступления, если затем товар будет оприходован с другой стоимостью
	СтоимостьПоступлениеОсталосьПогасить = 0;
	Если СтрокаДокумента.ОтражатьВУправленческомУчете Тогда
		СтоимостьПоступлениеОсталосьПогасить = СтрокаДокумента.СтоимостьПоступление;
	КонецЕсли;
	
	КоэффСписанияВалютный = 0;
	
	// Валютная задолженность при возврате товаров поставщику должна списываться пропорционально стоимости
	Если СтрокаДокумента.КодОперацииПартииТоваров = Перечисления.КодыОперацийПартииТоваров.ВозвратПоставщику 
	   И СтрокаДокумента.СуммаЗадолженностиБУ <> 0 тогда
		КоэффСписанияВалютный = СтрокаДокумента.КорВалютнаяСуммаЗадолженностиБУ/СтрокаДокумента.СуммаЗадолженностиБУ;
	Иначе
	КонецЕсли;
	
	КоличествоПоступление = СтрокаДокумента.КоличествоПоступление;
	
	КоличествоСписанноеПоДокументуПартии = 0;
	
	//+Алексей
	ПревышатьОстаткиОрганизации = УправлениеДопПравамиПользователей.РазрешеноПревышениеОстаткаТоваровОрганизации(СтрокаДокумента.Регистратор.Организация);
	//-Алексей

	Если СтрокаДереваПартий <> Неопределено Тогда
		
		Для Каждого СтрокаПартииРаспределения ИЗ СтрокаДереваПартий.Строки Цикл
			
			// + Алексей
			Если Не ПревышатьОстаткиОрганизации Тогда 
				Если ТипЗнч(СтрокаДокумента.Регистратор) = Тип("ДокументСсылка.ОтчетОРозничныхПродажах") Тогда
					ОрганизацияДокумента = СтрокаДокумента.Регистратор.Организация;
				Иначе
					ОрганизацияДокумента = СтрокаДокумента.Организация;
				КонецЕсли;
				
				Если ОрганизацияДокумента <> СтрокаПартииРаспределения.ДокументОприходования.Организация Тогда 
					Продолжить;
				КонецЕсли;
			КонецЕсли;
			// - Алексей
			
			Если КоличествоОсталосьПогасить <= 0 Тогда
				Прервать;
			КонецЕсли;
			
			СтрокаПартии = ПолучитьСтрокуОстатковПартий(СтрокаПартииРаспределения, СтруктураИзмерений, ТаблицаОстатковПартий);
			
			// Количество по строке больше 0
			Если НЕ СтрокаПартии.Количество > 0 Тогда
				Продолжить;
			КонецЕсли; 
			
			Если СтрокаПартии.Количество >= КоличествоОсталосьПогасить Тогда
				КоэффСписания = КоличествоОсталосьПогасить/СтрокаПартии.Количество;
			Иначе
				КоэффСписания = 1;
			КонецЕсли;
			
			Если ЗначениеЗаполнено(СтрокаДокумента.ДокументПартии) И (СтрокаПартии.ДокументОприходования = СтрокаДокумента.ДокументПартии) Тогда
				КоличествоСписанноеПоДокументуПартии = КоличествоСписанноеПоДокументуПартии + Окр(СтрокаПартии.Количество * КоэффСписания,3,1);
			КонецЕсли;			
			
			// Добавим новую строку
			Движение = ДобавитьДвижениеВСтруктуруПараметров(ИмяРегистра, СтруктураПараметров);
			
			// Свойства
			Движение.Период 	 = СтрокаДокумента.Период;
			Движение.Регистратор = СтрокаДокумента.Регистратор;
			Движение.Активность  = Истина;
			Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
			
			// Измерения
			Движение.Номенклатура = СтрокаПартии.Номенклатура;
			
			// Ресурсы 
			Движение.Количество	= Окр(СтрокаПартии.Количество * КоэффСписания,3,1);
			Движение.Стоимость	= Окр(СтрокаПартии.Стоимость  * КоэффСписания,2,1);
			
			Если Движение.Количество < КоличествоОсталосьПогасить Тогда
				КоэффПоступления = Движение.Количество / КоличествоОсталосьПогасить;
			Иначе
				КоэффПоступления = 1;
			КонецЕсли;
			
			// Вспомогательное поле, не являющееся ресурсом, но используемое
			// для формирования записей по переоценке принятого на комиссию.
			Движение.СтоимостьПоступление = СтоимостьПоступлениеОсталосьПогасить * КоэффПоступления;
			СтоимостьПоступлениеОсталосьПогасить = СтоимостьПоступлениеОсталосьПогасить - Движение.СтоимостьПоступление;
			
			// Реквизиты
			Движение.КодОперации	= СтрокаДокумента.КодОперацииПартииТоваров;
			
			КоличествоОсталосьПогасить = КоличествоОсталосьПогасить - Движение.Количество;
			
			СтрокаПартии.Количество = СтрокаПартии.Количество - Движение.Количество;
			СтрокаПартии.Стоимость  = СтрокаПартии.Стоимость  - Движение.Стоимость;
			
			// Заполнение полей, специфических для учета
			ЗаполнитьПоляЗаписиСписания(Движение, СтрокаПартии, СтрокаДокумента, СтруктураПараметров, РегистрУчета, КоэффСписания, КоэффПоступления, КоэффСписанияВалютный);
			
			// Обработка движений, связанных со списанием определенных партий по документу (специфика разных видов учета)
			ВыполнитьСвязанныеСоСписаниемДвижения(СтрокаДокумента, СтруктураПараметров, Движение, КоэффСписания, КоэффПоступления);

			// Обработка поступления
			КорректировкаСтоимости.ВыполнитьКорДвижение(РегистрУчета, СтрокаДокумента, СтруктураПараметров, Движение);
			
		КонецЦикла;
	КонецЕсли;
	
	// Восстановим ранее сохраненное количество поступления для движений по НДС
	СтрокаДокумента.КоличествоПоступление = КоличествоПоступление;
	
	// Товара не хватило
	Если (КоличествоОсталосьПогасить > 0) Тогда
		СообщитьОНехваткеПартии(СтрокаДокумента, СтруктураПараметров, РегистрУчета, КоличествоОсталосьПогасить);
	Иначе
		Если ЗначениеЗаполнено(СтрокаДокумента.ДокументПартии) 
		  И (СтрокаДокумента.КодОперацииПартииТоваров = Перечисления.КодыОперацийПартииТоваров.ВозвратПоставщику)
		  И (КоличествоСписанноеПоДокументуПартии < СтрокаДокумента.Количество) Тогда
		    СообщитьОНеполномСписанииУказаннойПартии(СтрокаДокумента, СтруктураПараметров, РегистрУчета, КоличествоОсталосьПогасить);
		КонецЕсли;			
	КонецЕсли; 
	
КонецПроцедуры // СписаниеПартий()

УТ 10.3 продажи между собственными компаниями интеркампани

См. также

Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Автоматизация учета ЕГАИС в 1С для оптовой торговли, производства и импорта. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

828 руб.

15.12.2015    172314    857    369    

405

SALE! 10%

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

55778 50200 руб.

24.04.2015    196874    157    244    

287

SALE! 20%

Загрузка и выгрузка в Excel Оптовая торговля Печатные формы Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 1C:Бухгалтерия 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С. Забудьте о ручном вводе: загружайте документы из Excel в 1С за секунды! Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С.

6000 5100 руб.

09.11.2016    240527    1102    906    

1033

Оптовая торговля Розничная торговля Пользователь Платформа 1С v8.3 Оперативный учет Управляемые формы 1С:Управление торговлей 10 1С:Розница 2 Россия Управленческий учет Платные (руб)

Подсистема призвана упростить и автоматизировать процесс расчета и начисления бонусов покупателей. Бонусная система работает с конфигурациями 1С:УТ 10.3, 1С:Розница. Механизм реализован в начале 2013г. и работает до сих пор с постоянными совершенствованиями.

30000 руб.

02.11.2015    113436    103    88    

186

Логистика, склад и ТМЦ Бухгалтер Пользователь Платформа 1С v8.3 Сельское хозяйство и рыболовство Строительство Горнодобывающая промышленность Розничная и сетевая торговля (FMCG) Транспорт, автопарки, такси Оптовая торговля, дистрибуция, логистика Лесное и деревообрабатывающее хозяйство Управленческий учет Платные (руб)

Позволяет автоматизировать процесс взвешивания ТМЦ в организациях, осуществляющих приемку и отгрузку различным транспортом, для ведения складского учета и контроля остатков на складах. Конфигурация позволяет фиксировать вес вручную, напрямую с весов, а также управлять дополнительным оборудованием и контролировать движение транспорта.

35000 руб.

24.03.2015    127371    308    114    

138
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. V.Nikonov 121 07.10.15 14:58 Сейчас в теме
Я так понял, что собственника товара Вы определяете по Организации из Документа партии. При прочтении публикации появились вопросы:

1. При использовании для заполнения Регистра Партии - оформлять перепродажу нельзя до восстановления Последовательности Документов?

2. После добавления Документов Перепродажи (Реализация + Поступление + ??) они проводятся по Управленческому учету? Т.е. опять сносят последовательность? Каким временем формируются документы?

3. Какие виды складов поддерживаются? А если производится перемещение товара (регистр Партий может двигаться и не двигаться в УТ10)?

Кстати в УТ10 и т.п. есть специализированный регистр ТоварыОрганизаций, чем он Вам не понравился?

P.S. В УТ11 и т.п. перепродажа решена штатными средствами.
2. TMV 14 07.10.15 19:07 Сейчас в теме
(1) V.Nikonov,
P.S. В УТ11 и т.п. перепродажа решена штатными средствами.
В УТ 10 тоже есть неказистое решение в виде обработки "Пакетный ввод документов".
4. Alexey_A 8 09.10.15 09:17 Сейчас в теме
(2) TMV, но клиенты любят что б работало как им хочется, а всем хочется именно так.
3. Alexey_A 8 09.10.15 08:14 Сейчас в теме
(1) V.Nikonov, спасибо за каверзные вопросы.
выбор регистра партий, а не товаров организаций, напрямую связан с Вашим вопросом "Каким временем формируются документы?". все это в описании к обработке я указал и по скриншоту наглядно продемонстрировано. попробуйте на тестовой базе сделать и не забудьте подправить при неоперативном проведении что б партии брал по организации, все Ваши вопросы отпадут.
не ленитесь потестировать. я же Вам не продаю, а передаю частичку опыта, так как подобная задача у меня встает уже не в первый раз и кому-то, возможно, понадобится быстро сделать подобную задачу и я очень надеюсь, что моя обработка поможет.
5. Alexey_A 8 09.10.15 09:32 Сейчас в теме
(1) V.Nikonov,
2. После добавления Документов Перепродажи (Реализация + Поступление + ??) они проводятся по Управленческому учету? Т.е. опять сносят последовательность? Каким временем формируются документы?

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