Имя: Пароль:
1C
1С v8
Заполнить размещение внутреннего заказа
0 Technolight
 
05.09.14
23:09
Здравствуйте. Нужен ваш совет. В ут 10,3 Пытаюсь облегчить заполнение документа внутренний заказ. Создал обработку похожую на рабочее место менеджера по продажам, где можно увидеть остатки товаров на складах. В отдельную форму "Корзину" этой обработки с табличной частью забиваю предварительную заявку с указанием номенклатуры, количества и склада-размещения. Процедурой вызываю создание нового документа внутренний заказ и его заполнения данными из корзины. Все работает, просто при таком случае у нас возникает проблема с заполнением документа перемещения товаров на основании множества внутренних заказов. Хотелось бы чтобы внутренний заказ заполнялся по накопительной. Либо чтобы эта обработка работала по принципу "подбора номенклатуры" те сразу забивать в открытый документ заказа. Посоветуйте
1 Technolight
 
05.09.14
23:15
В обработке табличная часть с колонками: Номенклатура, Склад, Количество, Резерв и Свободный остаток. выделяю нужную строчку со складом-размещением и кнопкой вставляю в предворительный заказ


//вставил в форму корзины
Процедура ЗаказатьНажатие(Элемент)

ВКорзину =Корзина.Добавить();
ВКорзину.Количество = Количество;
ВКорзину.Номенклатура = ТекДанные.Номенклатура;
ВКорзину.СоСклада = ТекДанные.Склад;

КонецПроцедуры
2 Technolight
 
05.09.14
23:18
При подтверждении заказа другой кнопкой создаю новый документ внутренний заказ.

Процедура РезервНажатие(Элемент)
    
Резерв = Документы.ВнутреннийЗаказ.СоздатьДокумент();
    
Для Каждого Эл из Корзина Цикл    

Вставить = Резерв.Товары.Добавить();
Вставить.ЕдиницаИзмерения =       эл.Номенклатура.БазоваяЕдиницаИзмерения;
Вставить.Коэффициент = 1;
Вставить.Размещение = Эл.СоСклада;
Вставить.Количество = Эл.Количество;
Вставить.Номенклатура = Эл.Номенклатура;
        
КонецЦикла;

Резерв.ПолучитьФорму("ФормаДокумента").Открыть();
        
    ОтчиститьКорзину();

КонецПроцедуры
3 Technolight
 
05.09.14
23:25
Подскажите в каком направленнии идти. можно ли сделать это по аналогии с подбором номенклатуры, забивать непосредственно в документ заказа?
4 Garykom
 
гуру
05.09.14
23:46
(0)
1.Можно сделать "заполнением документа перемещения товаров на основании множества внутренних заказов" через обработку выбора этих вн.заказов и объединением их ТЧ в одно перемещение

2. Можно сделать в твоей обработке
2.1. открытие уже существующего вн.заказа чтобы добавлять новые товары (выбрал и показалось содержимое которое потом правишь, при записи перезаписывает док)
2.2. или без открытия старого просто выбираешь из базы старый вн.заказ и при записи не очищаем а добавляем новые строки/совмещаем с одинаковыми товарами

3. Можно сделать (3) т.е. типа твоя обработка открывается из док. вн. заказа и при нажатии на кнопку перенести переносит в него и закрывается

ЗЫ дык кто прог? сам то реши как лучше и делай потом...
5 Technolight
 
05.09.14
23:56
6 Technolight
 
06.09.14
00:02
Здравствуй, я потихому начинаю осваивать программирование, думаю третий вариант предпочтителен для меня, можешь по подробнее рассказать
7 Garykom
 
гуру
06.09.14
00:06
(6) велосипед )) дык сделай новую форму подбора для номенклатуры с показам колонок остатков и резервов )) и все
8 Garykom
 
гуру
06.09.14
00:06
(7)+ и чтоб можно было оттуда сразу резервы к примеру быстро глянуть ))
9 Garykom
 
гуру
06.09.14
00:07
т.е. не понял зачем нужна эта новая обработка, распиши по пунктам что хотел облегчить

и сразу будет понятнее как лучше сделать
10 Garykom
 
гуру
06.09.14
00:10
Да и чем не устроила стандартная обработка подбора номенклатуры?
11 Technolight
 
06.09.14
00:11
обработка готова, скриншот сверху есть, вся нужная информация в ней есть: остаток, резервы и тд,
12 Technolight
 
06.09.14
00:13
при стандартном подборе вбивается только номенклатура и количество, склад - размещение приходится вручную корректировать для каждой строки
13 Technolight
 
06.09.14
00:13
в этом главная причина, очень неудобно
14 Garykom
 
гуру
06.09.14
00:14
(12) допилить стандартную?

и это а смысл склада не путаем?
15 Garykom
 
гуру
06.09.14
00:15
(14)+ т.е. зачем у вас много складов?
16 Garykom
 
гуру
06.09.14
00:16
или можно же просто автоматом склад заполнять
17 Technolight
 
06.09.14
00:17
В Табличной части внут. заказа есть столбец - Размещение. Именно это размещение указывает откуда нужно забрать товар, для склада - заказчика, а также резервирует на том складе
18 Garykom
 
гуру
06.09.14
00:18
(17) ну да и?
19 Technolight
 
06.09.14
00:18
(16)  авто заполнение работает по непонятной логике, как буддто произвольно
20 Technolight
 
06.09.14
00:19
а мне нужно конкретно указать откуда забрать товар
21 Technolight
 
06.09.14
00:19
во всяком случае я логику автозаполнения не понял
22 Garykom
 
гуру
06.09.14
00:20
(19)(20) так перепиши автозаполнение так как нужно, не?
с + ручным указанием склада в обработке подбора
23 Technolight
 
06.09.14
00:21
(22) вот именно нужно чтоб человек решал, а не компьютер
24 Technolight
 
06.09.14
00:22
А переписать я не могу, знаний нехватит
25 Technolight
 
06.09.14
00:23
я смотрел, вот под свою бы сделать
26 Garykom
 
гуру
06.09.14
00:23
(23) дык исправить "Параметры авторезервирования" не оно?
27 Garykom
 
гуру
06.09.14
00:24
(26)+ которое по кнопке "Заполнить и провести" сверху в доке?
28 Garykom
 
гуру
06.09.14
00:24
(24) насчет знаний просто убил ))

т.е. не умеем переделать заводской велик, поэтому сделаем свой попроще ))
29 Technolight
 
06.09.14
00:25
(27) я смотрел, не устраивает "заполнить и провести"
30 Technolight
 
06.09.14
00:26
(28) ну, мы развиваемся, растем
31 Technolight
 
06.09.14
00:26
вручную корректировать очень долго выходит
32 Technolight
 
06.09.14
00:28
Стандартный подбор, я хоть убей не врублюсь его допиливать
33 Technolight
 
06.09.14
00:28
Поэтоми и извращаюсь как могу
34 Technolight
 
06.09.14
00:29
вот как мою обработку заставить работать на открытый документ вн.заказа?
35 Garykom
 
гуру
06.09.14
00:31
(34) вызвать из его формы твою форму по кнопке с передачей параметров ссылки на документ родителя например, а что?
36 Garykom
 
гуру
06.09.14
00:32
ммм может сначал все таки правильно сформулировать задачу исходную?

что именно работает в типовом механизме не так? и как должно работать?
37 Garykom
 
гуру
06.09.14
00:34
Вот до сюда к примеру добрался?

ИначеЕсли ТипЗнч(ЗаказСсылка)=Тип("ДокументСсылка.ВнутреннийЗаказ") Тогда
        Если Заказ.ВидЗаказа = Перечисления.ВидыВнутреннегоЗаказа.НаСклад Тогда
            ЗапросСвободныйОстаток.УстановитьПараметр("СкладЗаказчик", Заказ.Заказчик);
            ЗапросСвободныйОстаток.УстановитьПараметр("ПредпочтительноеРазмещение", Неопределено);
            ЕстьСкладЗаказчик = Истина;
        Иначе
            ЗапросСвободныйОстаток.УстановитьПараметр("СкладЗаказчик", Неопределено);
            ЗапросСвободныйОстаток.УстановитьПараметр("ПредпочтительноеРазмещение", Неопределено);
        КонецЕсли;
        ГруппаДоступностиСкладов = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ГруппаДоступностиСкладов");
        МассивСтатусовПартий.Добавить( Перечисления.СтатусыПартийТоваров.Купленный);
        МассивСтатусовПартий.Добавить( Перечисления.СтатусыПартийТоваров.ВозвратнаяТара);
        ЕстьМассивСтатусовПартий = истина;
        ДатаОтгрузки = Заказ.ДатаОтгрузки;
    Иначе
38 Technolight
 
06.09.14
00:44
так вот , мне поступает звонок на заказ товара, хорошо будет если он есть в наличии на одном складе, тогда "ПредпочтительноеРазмещение" еще пригодилось бы, но у нас на фирме около 20 складов, и очень часто даже если товар есть на складе он не соответсвует требованиям по партии например и тд. тогда начинается сбор с других складов
39 Technolight
 
06.09.14
00:45
и опять возвращаемся к ручной корректировке, я понимаю что можно и так работать, но все же хочу людям работу облегчить
40 Garykom
 
гуру
06.09.14
00:45
(38) поподробнее про "требованиям по партии например"

их можно сформулировать?
41 Garykom
 
гуру
06.09.14
00:46
(40)+ это я к чему надо тогда просто добавить механизм автоподбора склада нужного в документ и все, не смог подобрать или неправильно там же исправили ручками
42 Technolight
 
06.09.14
00:47
(40) а вот тут проблема нашего учета, складской учет по партиям мы не ведем
43 Garykom
 
гуру
06.09.14
00:47
(41)+ т.е. при добавлении/измениии строки смотрим если размещение пустое то пытаемся его заполнить

если есть нужное на нужном складе (остатки запросом) то подствавляем и все

не нужна никакя обработка подбора доп
44 Garykom
 
гуру
06.09.14
00:48
(42) а человек то как определяет?
45 Technolight
 
06.09.14
00:50
(40) мы продаем обои, у них при каждом поступлении от поставщика идет разная партия
46 Technolight
 
06.09.14
00:50
отгрузка происходит произвольно, что ближе лежало так сказать
47 Garykom
 
гуру
06.09.14
00:52
(45)(46) ничче не понял

что такое у вас СКЛАД и не путаем ли их с Местами хранения?
48 Technolight
 
06.09.14
00:52
(44) при не хватке обоев нужной партии, товаровед обзванивает склады, узнает качество, учитывает маршрут автомобиля
49 Garykom
 
гуру
06.09.14
00:55
(48) вот теперь понятнее...

да нужна форма выбора для номенклатуры с показам колонок остатков по складам и выбора конкретного склада при добавлении
50 Garykom
 
гуру
06.09.14
00:56
(49) т.е. при выборе номенклатуры любом обычном открывается вместо стандартной новая форма в которой есть доп колонки по складам с кол-вом

или общее колво и отдельная табличка с отстаками на складах при вставании строки на конкретную номенклатуру
51 Technolight
 
06.09.14
00:56
есть основной склад - где основной запас хранится, все поступления через него идет, есть магазины наши торговые точки тоже как склады. на магазинах числятся по 1 образцу и не проданный заказ, перемещение оформляем документом перемещение товаров
52 Technolight
 
06.09.14
00:57
(50) я тоже так думаю
53 Technolight
 
06.09.14
00:59
обработку сделал, как вы и говорите, видели скриншот? вот теперь его заставить на вн. заказ работать,
54 Garykom
 
гуру
06.09.14
01:00
(52) замечательно а теперь открой плиз "Заказ покупателя" и попробуй добавить позицию через стандартный выбор номенклатуры и через подбор
55 Garykom
 
гуру
06.09.14
01:01
(54) склады и остатки по ним там видим?
56 Garykom
 
гуру
06.09.14
01:01
(53) дык сказал же по аналогии со стандартным подбором
57 Technolight
 
06.09.14
01:04
(55) в стандартном подборе есть и склады и остатки и резервы
58 Technolight
 
06.09.14
01:04
то что нужно, я согласен
59 Garykom
 
гуру
06.09.14
01:04
(55) т.е. просто стандартный подбор поправить чтобы по тыке по складу, а не номенклатуре передавал в документ склад еще конкретный по остатку на котором ткнули ...
60 Garykom
 
гуру
06.09.14
01:05
(59)+ смотрим сто делается по тыку по номенклатуре и делаем то же самое для тыка по складу ))
61 Technolight
 
06.09.14
01:07
Тоже вариант, конечно стандартная обработка лучше
62 Technolight
 
06.09.14
01:08
я вообще всю эту эпопею затеял после того когда один раз сидел и замещал нашего товароведа и заявки принимал
63 Garykom
 
гуру
06.09.14
01:10
(61) вот берешь эту стандартную копируешь ее с другим именем "МойСуперПуперПодборСоСкладами" ))

добавляешь вызов ее рядом со старым в форме документа

и правишь этот скопированный подбор как те нуна...
64 Technolight
 
06.09.14
01:13
Завтра с утра и займусь) добью это дело, уверен будет лучше чем оно есть
65 Technolight
 
06.09.14
01:15
Ладно, спокойной ночи, спасибо вам,
66 Technolight
 
06.09.14
11:44
(63) Добрый день, подсткажите процедурой типа
МойДок = Документы.ВнутреннийЗаказ.ПолучитьФормуНовогоДокумента();
    
        
    НоваяСтрока = МойДок.Товары.Добавить();
    НоваяСтрока.Номенклатура = ТекДанные.Номенклатура;
    НоваяСтрока.Количество = Количество;
    НоваяСтрока.Размещение = ТекДанные.Склад;
    НоваяСтрока.Коэффициент = 1;

получилось обратиться к Новому документу, а как обратиться к уже записанному?
67 Technolight
 
06.09.14
11:46
Вбить номенклатуру в Новый документ получилось, а с записанным как?
68 Technolight
 
06.09.14
13:34
(35) А как это сделать?