Форум Чистова. Подготовка к экзаменам 1С
О форуме => Конфигурирование => Тема начата: outcast от Май 17, 2016, 11:08:02 pm
-
Есть следующая задача:
1 Есть документ график отгрузки, у него есть табличная часть. В эту табличную часть заполняются другие виды документов «Партия».
2. В документе партия также есть, табличная часть, в который указывается документ, условно назовем его заказ потребителя(это заказ клиента, заказ на перемещение, и т. д.).
3. В этом документе табличная часть с номенклатурой. Задача состоит в следующем, при проведение документа график отгрузки нужно сделать списание по партиям товаров со склада по всем заказам потребителя и по всем партиям. Очевидный вариант делать это в двух вложенных циклах. Но может подскажете другой вариант.
-
В запросе 1) выбираем все партии по данному документу, 2) выбираем все заказы из документов Партия, у которых ссылка В выборке 1-го пакета, 3) выбираем всю номенклатуру из заказов со ссылкой В выборке 2-го пакета.
Можно аналогично, используя вложенные запросы.
И никаких вложенных циклов. Наверное.
-
Тут проблема именно в списании по партия, при соединений с таблицей остатков для каждого документа с общей номенклатурой будут соединятся партии с остатками, и получится что списываем больше чем есть на самом деле.
-
Для проверки остатков надо сформировать общие итоги, и проверять по ним.
И всё равно не понял, почему будет больше списываться. Думаю, что при правильных связях между таблицами количество списания задваиваться не должно.
-
Потому что в разных заказах потребителя может быть одинаковая номенклатура и тля всех заказов с одинаковой номенклатурой будут показываться одни и те же остатки.
-
Ага, тогда, наверное, спасет только цикл по заказам внутри цикла по номенклатуре.
Получается, что так и следует делать.