|
v7: Изменение табличной части доументов. | ☑ | ||
---|---|---|---|---|
0
sung82
06.08.11
✎
20:02
|
В течении дня набираются ТТН в количестве 200-300 шт. Потом надо найти в этих документах в табличной части по коду, определенное наименование продукции и изменить его количество, тип тары или удалить его вообще из выбранного документа. Подскажите как это лучше сделать?
|
|||
1
KRV
06.08.11
✎
20:13
|
Ну.. значит надо найти в этих документах в табличной части по коду, определенное наименование продукции и изменить его количество, тип тары или удалить его вообще из выбранного документа
|
|||
2
Ork
06.08.11
✎
20:15
|
(1) Поддержу. )))
"как это лучше сделать?" Можно коррегирующим документом, можно обработкой. Даже внешней. |
|||
3
ВотОнЯ
06.08.11
✎
20:25
|
(0)Выборка SQL запросом.. Там же навешать условие на выборку только необходимых записей, получаем небольшую ТЗ с ИД дока, номером строки ТЧ, дальше дело техники...
|
|||
4
sung82
06.08.11
✎
20:40
|
Сформировал документ и в нем по определенному условию в табличной части выбрал все ТТН с данным товаром. Что надо написать, чтоб в выбранных документах были произведены описанные выше изменения.
|
|||
5
andrewks
06.08.11
✎
21:02
|
(4) написать нужно программу
|
|||
6
sung82
06.08.11
✎
21:06
|
"Написать программу". А можешь подсказать как?
|
|||
7
Cthulhu
06.08.11
✎
21:11
|
пригласить специалиста
|
|||
8
Ork
06.08.11
✎
21:11
|
(6) Ты лучше покажи - как делал, что не получилось...
|
|||
9
sung82
06.08.11
✎
21:19
|
Вопрос в том как одним документом изменить табличную часть другого доукмента. Ссозданием самого документа вопросов нет.
|
|||
10
Ork
06.08.11
✎
21:34
|
Лениво (для изменения количества) примерно так:
Докс=СоздатьОбъект("Документ"); ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл Докс.НайтиДокумент(ДокументИзСтрокиТабличнойЧасти); НужноЗаписать=0; Докс.ВыбратьСтроки(); Пока Докс.ПолучитьСтроку()=1 Цикл Если Докс.Продукция=ОбрабатываемаяПродукция Тогда Докс.Количество=Докс.Количество+1; //тут меняем количество в документе НужноЗаписать=1; КонецЕсли; КонецЦикла; Если НужноЗаписать=1 Тогда Докс.Записать(); //Вуаля - документ записан с изменениями Если НужноПерепроведение=1 Тогда Если Докс.Провести()=0 Тогда Сообщить("При изменении документа "+Докс+" херню спороли-с"); КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; |
|||
11
Темный Эльф
06.08.11
✎
21:36
|
(0)
Наверное, что-то типа Док=создатьобъект("Документ.ТТН"); Док.выбратьдокументы(); Пока док.получитьдокумент()=1 цикл если док.проведен()=1 тогда док.выбратьстроки(); Пока док.получитьстроку()=1 цикл если док.Товар.код=НужныйКод Тогда Док.Кво=НужноеКоличество; конецесли; конеццикла; док.записать(); Док.провести(); конецесли; конеццикла; |
|||
12
sung82
06.08.11
✎
21:38
|
Спасибо буду пробовать.
|
|||
13
Конфигуратор1с
06.08.11
✎
21:44
|
(11) а если в документе не менял количество - зачем проводить?
|
|||
14
sung82
08.08.11
✎
14:46
|
Все получилось как хотел. Спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |