|   |   | 
| 
 | Удаление номенклатуры из заказов | ☑ | ||
|---|---|---|---|---|
| 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 | 
        > попрограммить побыстрее... 
  ну так франч начал обучения с конфигуратора | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |