|
Удаление номенклатуры из заказов | ☑ | ||
---|---|---|---|---|
0
mnail1979
19.04.12
✎
16:20
|
Подскажите пожалуйста, как удалить из заказов определенную номенклатуру на определенную дату отгрузки. В групповой обработке справочников и документов я могу отобрать эти документы и удалить, а мне нужно документ оставить, удалив ненужный товар.
|
|||
1
Wobland
19.04.12
✎
16:20
|
забабашить свою групповую обработку не предлагать?
|
|||
2
Avganec
19.04.12
✎
16:20
|
Берешь руки, пишешь обработку и будет вселенское счастье.
|
|||
3
mnail1979
19.04.12
✎
16:25
|
(2) просто циклом пробежаться по всем документам где есть этот товар, затем удалить товар и заново провести? А готовой обработки нету?
|
|||
4
Wobland
19.04.12
✎
16:26
|
(3) нету. запросить все документы, а не циклом
|
|||
5
Любопытная
19.04.12
✎
16:27
|
В групповой обработке есть галочка про "обрабатывать ТЧ" и "изменять реквизиты объектов". Но они честно предупреждают, что может случиться кося
|
|||
6
Stim
19.04.12
✎
16:27
|
100$
|
|||
7
Wobland
19.04.12
✎
16:28
|
(5) а удалять строки ТЧ - есть такая галочка?
|
|||
8
rs_trade
19.04.12
✎
16:28
|
(3) обработка за 15 минут пишется.
|
|||
9
mnail1979
19.04.12
✎
16:43
|
(7)
|
|||
10
mnail1979
19.04.12
✎
16:44
|
(7) нету
|
|||
11
mnail1979
19.04.12
✎
16:44
|
(8) у начинающих пишется намного дольше
|
|||
12
mnail1979
19.04.12
✎
16:44
|
(6) хороший из вас бизнесмен получится
|
|||
13
Wobland
19.04.12
✎
16:45
|
(10) я в курсе ;)
(11) немного дольше |
|||
14
Avganec
19.04.12
✎
16:50
|
(3) Берешь за промежуток дат список заказов, пробегаешь по табличным частям и получаешь таблицу с полями: ссылка, номер строки и уже удаляешь это. проще почти не бывает.
|
|||
15
mnail1979
19.04.12
✎
16:52
|
Вот нашел такой пример в нете:
//Получим документ и укажем параметры поиска ОбъектДок = СсылкаДок.ПолучитьОбъект(); СтруктураДляПоиска = Новый Структура("Количество", 0); ТабличнаяЧастьДок = ОбъектДок.Товары; //Получаем список строк соответсвтвующих отбору, и перебором удаляем. МассивПустыхСтрок = ТабличнаяЧастьДок.НайтиСтроки(СтруктураДляПоиска); Для каждого Строка Из МассивПустыхСтрок Цикл ТабличнаяЧастьДок.Удалить(Строка); КонецЦикла; ОбъектДок.Записать(); Только мне нужно вначале найти заказы, у которых дата отгрузки 19.04.12. А потом из них удалить опред товар. |
|||
16
mnail1979
19.04.12
✎
16:53
|
как без запроса командами получить список заказов покупателя, у которых дата отгрузки 19.04.12,
|
|||
17
Wobland
19.04.12
✎
16:53
|
(15) познакомить тебя с запросами?
|
|||
18
Avganec
19.04.12
✎
16:54
|
(15) Жесть...
|
|||
19
mnail1979
19.04.12
✎
16:54
|
ладно. Сделаю сам.
|
|||
20
Stim
19.04.12
✎
16:55
|
пелять.. ну групповая же обработка справочников и документов с обработкой же табличных частей.. автор, научись пользоваться типовыми механизмами, потом ищи готовые куски кода в инете
|
|||
21
mnail1979
19.04.12
✎
21:24
|
(20) групповая обработка не сможет удалить строки из документа, и перепровести этот документ
|
|||
22
wlbmJames
19.04.12
✎
21:45
|
Тут вообще не надо было лезть в групповую обработку, а просто написать свою. Запросом выбрать нужные документы, и просматривать их ТЧ, если номенклатура совпала, то удалять строку и перепровести док. Реально 15 мни
|
|||
23
experimentator76
19.04.12
✎
21:51
|
пипец... уже конец света или я сплю ?
|
|||
24
Darky
19.04.12
✎
22:09
|
(16) Похоже тебе нужны документы примерно за один-два дня. Если не торгуете семечками на развес, то это максимум 500 документов. А если еще отсечь заказы, в которых нету удаляемой позиции - это число еще более сократиться. Если автор не хочет юзать запросы, то ему следовало бы воспользоваться обработка справочников и документов и руками удалять лишние строки.
|
|||
25
mnail1979
21.04.12
✎
10:58
|
Вы были правы. Действительно 15 минут. А я боялся. У страха глаза велики.
Вот готовая процедура, может кому то понадобится. Процедура КнопкаВыполнитьНажатие(Кнопка) Запрос=Новый Запрос; Запрос.Текст= "ВЫБРАТЬ | ЗаказПокупателя.Ссылка |ИЗ | Документ.ЗаказПокупателя КАК ЗаказПокупателя |ГДЕ | ЗаказПокупателя.Товары.Номенклатура = &Номенклатура | И ЗаказПокупателя.ДатаОтгрузки = &ДатаОтгрузки"; Запрос.УстановитьПараметр("Номенклатура",Товар); Запрос.УстановитьПараметр("ДатаОтгрузки", ДатаОтгруза); НужныеЗаказы=Запрос.Выполнить().Выбрать(); Пока НужныеЗаказы.Следующий()Цикл Заказ = НужныеЗаказы.Ссылка.ПолучитьОбъект(); СтруктураДляПоиска = Новый Структура("Номенклатура", Товар); ТабличнаяЧастьДок = Заказ.Товары; //Получаем список строк соответсвтвующих отбору, и перебором удаляем. МассивУдаляемыхСтрок = ТабличнаяЧастьДок.НайтиСтроки(СтруктураДляПоиска); Для каждого Строка Из МассивУдаляемыхСтрок Цикл ТабличнаяЧастьДок.Удалить(Строка); КонецЦикла; Если Заказ.Проведен=Истина тогда Попытка Заказ.Записать(РежимЗаписиДокумента.Проведение); Сообщить("Перепроведен документ" + Заказ.Ссылка); Исключение Сообщить(ОписаниеОшибки()); Отказ=Истина; КонецПопытки; Иначе Попытка Заказ.Записать(); Сообщить("записан документ" + Заказ.Ссылка); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
26
Wobland
22.04.12
✎
06:58
|
Режим=?(Заказ.Проведён, РежимЗаписиДокумента.Проведение, РежимЗаписиДокумента.Запись);
Заказ.Записать(Режим); намного проще |
|||
27
Мимохожий Однако
22.04.12
✎
07:32
|
(25)Проверь ситуацию, когда в заказ внесли несколько строк с номенклатурой (так бывает)
|
|||
28
Мимохожий Однако
22.04.12
✎
07:33
|
+(27)...конкретная номенклатура дважды и более присутствует в табличной части.
|
|||
29
Wobland
22.04.12
✎
07:33
|
(27) НайтиСтроки() его спасёт
|
|||
30
zak555
22.04.12
✎
10:30
|
хочешь удалить, потому что товар у тебя в резерве ?
|
|||
31
wade25
22.04.12
✎
10:45
|
Для чего это вам?) Потом окажется, что косяк...
|
|||
32
Flyd-s
22.04.12
✎
12:13
|
Групповой обработкой отобрать документы в которых есть эти позиции и ручками удалить. Если там, конечно не тысячи заказов с этой номенклатурой ежедневно
|
|||
33
Мимохожий Однако
22.04.12
✎
13:06
|
ОФФ: Как удалить автор нашёл. В понедельник будет ветка "Как вставить номенклатуру в Заказы?"
|
|||
34
mnail1979
22.04.12
✎
21:18
|
заказы собраны. На основе заказов формируются машины и накладные автоматически. А оказалось, что этго товара на складе нет и не нужно было собирать заказ на этот товар. Вот почему это нужно было. Руководсто сказало
|
|||
35
Мимохожий Однако
22.04.12
✎
21:25
|
В типовой конфигурации есть документ "Отмена заказов". Как раз для этого случая.
|
|||
36
mnail1979
22.04.12
✎
22:09
|
(35) проверю. Но думаю не поможет. А что она делает, удаляет зааказ, или товар из всех заказов?
|
|||
37
Злопчинский
22.04.12
✎
22:21
|
(36) ты дятел.
в (35) правильно написал. . заказы НЕ УДАЛЯЮТСЯ - они либо отменяются, либо корректируются. в 7.7 для этого были доки "отмена заявок", "корректировка заявки". . на снеговике - по идее д.б. примерно также. Спецы пусть поправят. . судя по всему - у тебя весьма поверхностное (не)знание работы заявок/резервов - а все туда же.. попрограммить побыстрее... . |
|||
38
zak555
22.04.12
✎
22:34
|
> попрограммить побыстрее...
ну так франч начал обучения с конфигуратора |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |