Как скопировать из одной табличной части в другую информацию УТ 10.3

1. user817897 2 19.03.19 09:34 Сейчас в теме
подскажите пожалуйста как скопировать из одной табличной части в другую информацию УТ 10.3
У меня.
Таблица1 это Товары
Таблица 2 это ТоварыНаУдаление
мне нужно скопировать строки в которых в поле Размещение ничего не стоит(тобишь пустое значение). подскажите как пожалуйста,а то смотрел в нете,чёт не получается с условием,если без условия,то копируется
По теме из базы знаний
Найденные решения
45. arsen_botashev 19.03.19 14:10 Сейчас в теме
(44)Так я ж написал?
Если НЕ ЗначениеЗаполнено(Товары[i-1].Размещение) 

или
Если Товары[i-1].Размещение = Ложь
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. arsen_botashev 19.03.19 09:47 Сейчас в теме
НУ можно запросом, но тогда документ надо сначала сохранить Товары, потом уже заполнять ТоварыНаУдаление.
Получаешь Запросом Свою тч, с условием что Размещение = "", далее пишешь обработчик заполнения, можно на кнопку повесить, или на какую нибудь процедуру ИзмененияТЧ допустим.
Пока Выборка.Следующий()Цикл
Строка = ТвояТЧ.Добавить();
Строка.Товар = Выборка.Товар;
Строка.Цена = Выборка.Цена
И тд(//Не знаю какие у тебя колонки в тч)


Думаю как-то так
.
Ну а если без запроса то
Выгружаешь ТЧ
ставишь Условие
Если НЕ ЗначениеЗаполнено(Размещение)

И заполняешь вторую ТЧ

(1)
4. user817897 2 19.03.19 09:59 Сейчас в теме
(3)(2) то есть,если без запроса.то будет так?
Если НЕ ЗначениеЗаполнено(Размещение) тогда
Таблица2.Загрузит
ь(Таблица1.Выгрузить());
КонецЕсли;
?
мне кажется так не сработает правильно,или вообще не сработает.)) поправьте пожалуйста меня))
5. arsen_botashev 19.03.19 10:06 Сейчас в теме
(4)Нет, так будет не правильно. Это погуглите я точно не могу сказать.
Но надо как-то так
Таблица1.Выгрузить() //Выгрузили данные из 1 таблицы
Далее надо ставить условие Что
Если НЕ ЗначениеЗаполнено(Размещение) тогда  
Таблица2.Добавить() //то есть добавляем только те строки, в которых размещение не указано

Если честно, не могу ниче подсказать на счет Выгрузить загрузить, а вот запросом думаю все будет работать.
ДУмаю еще можно сделать отбор.
С помощью отбора выгрузить только те строки где размещение не указано.
Отбор = Новый Структура("Размещение",""); 
Табл = Докум.товары.Выгрузить(Отбор,); 
6. user817897 2 19.03.19 10:07 Сейчас в теме
(5) у меня Размещение не реквизит, а поле ТЧ
7. arsen_botashev 19.03.19 10:09 Сейчас в теме
(6)посмотрите (4) и попробуйте отбор.
8. user817897 2 19.03.19 10:12 Сейчас в теме
11. arsen_botashev 19.03.19 10:18 Сейчас в теме
(8) ой, (5)
Нет, так будет не правильно. Это погуглите я точно не могу сказать.
Но надо как-то так
Таблица1.Выгрузить() //Выгрузили данные из 1 таблицы
Далее надо ставить условие Что
Если НЕ ЗначениеЗаполнено(Размещение) тогда  
Таблица2.Добавить() //то есть добавляем только те строки, в которых размещение не указано


Если честно, не могу ниче подсказать на счет Выгрузить загрузить, а вот запросом думаю все будет работать.
ДУмаю еще можно сделать отбор.
С помощью отбора выгрузить только те строки где размещение не указано.
Отбор = Новый Структура("Размещение",""); 
Табл = Докум.товары.Выгрузить(Отбор,); 


или спросите у SedovSU@mail.ru
он точно Вам подскажет.
9. user817897 2 19.03.19 10:17 Сейчас в теме
(7)
Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ЗаказПокупателя.Товары.(
		|		Ссылка,
		|		НомерСтроки,
		|		ЕдиницаИзмерения,
		|		ЕдиницаИзмеренияМест,
		|		Количество,
		|		КоличествоМест,
		|		Коэффициент,
		|		Номенклатура,
		|		ПлановаяСебестоимость,
		|		ПроцентСкидкиНаценки,
		|		Размещение,
		|		СтавкаНДС,
		|		Сумма,
		|		СуммаНДС,
		|		ХарактеристикаНоменклатуры,
		|		Цена,
		|		ПроцентАвтоматическихСкидок,
		|		УсловиеАвтоматическойСкидки,
		|		ЗначениеУсловияАвтоматическойСкидки,
		|		КлючСтроки,
		|		СерияНоменклатуры
		|	)
		|ИЗ
		|	Документ.ЗаказПокупателя КАК ЗаказПокупателя";
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		
Строка = ТоварыНаУдаление.Добавить();
Строка.Размещение = ВыборкаДетальныеЗаписи.Размещение;
Строка.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;

	КонецЦикла;
тут не верно указываю вот эти строки?
Строка.Размещение = ВыборкаДетальныеЗаписи.Размещение;
Строка.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
Показать

??
56. maxim4566 21.03.19 08:44 Сейчас в теме
(1) Как вариант.
В таблицу2 выгружаешь таблицу1
Далее Цикл по таблице 2, только с последней строки.
и в цикле по условию заполненные строки с "Размещением" удаляем.
57. user817897 2 21.03.19 12:02 Сейчас в теме
(56) тоже хороший вариант,возьму на заметку,спасибо)
2. SedovSU@mail.ru 297 19.03.19 09:45 Сейчас в теме
Тут несколько вариантов.

1. Выгрузить(), Загрузить
Таблица2.Загрузить(Таблица1.Выгрузить());
2. Обойти циклом Таблицу2 и добавить в Таблицу1
10. user817897 2 19.03.19 10:17 Сейчас в теме
(2)
а как сделать чтобы с условием?
13. arsen_botashev 19.03.19 10:23 Сейчас в теме
(10)Надо написать:
Запрос.УстановитьПараметр("Размещение", "");
Запрос = Новый Запрос; 
Запрос.Текст = 
"ВЫБРАТЬ 
| ЗаказПокупателя.Товары.( 
| Ссылка, 
| НомерСтроки, 
| ЕдиницаИзмерения, 
| ЕдиницаИзмеренияМест, 
| Количество, 
| КоличествоМест, 
| Коэффициент, 
| Номенклатура, 
| ПлановаяСебестоимость, 
| ПроцентСкидкиНаценки, 
| Размещение, 
| СтавкаНДС, 
| Сумма, 
| СуммаНДС, 
| ХарактеристикаНоменклатуры, 
| Цена, 
| ПроцентАвтоматическихСкидок, 
| УсловиеАвтоматическойСкидки, 
| ЗначениеУсловияАвтоматическойСкидки, 
| КлючСтроки, 
| СерияНоменклатуры 
| ) 
|ИЗ 
| Документ.ЗаказПокупателя КАК ЗаказПокупателя"; 
Запрос.УстановитьПараметр("Размещение", "");//вот это параметр
РезультатЗапроса = Запрос.Выполнить(); 

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); 

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл 
ВыборкаТЧ = ВыборкаДетальныеЗаписи.Товары.Выбрать()
Пока ВыборкаТЧ.Следующий() Цикл
Строка = ТоварыНаУдаление.Добавить(); 
Строка.Размещение = ВыборкаТЧ.Размещение; 
Строка.Номенклатура = ВыборкаТЧ.Номенклатура; 
//тут должны быть все строки которые выхотите заполнить
КонецЦикла; 
КонецЦикла;
Показать
14. user817897 2 19.03.19 10:30 Сейчас в теме
(13) прикольно конечно,но мне выгрузило весь справочник номенклатуры походу )))))) а мне надо только из заказа этого)))
15. arsen_botashev 19.03.19 10:39 Сейчас в теме
(14)Поставь еще одно условие:
Запрос.УстановитьПарамертр("Ссылка", ЭтаФорма.Ссылка); 

Тогда все заработает.
20. user817897 2 19.03.19 10:54 Сейчас в теме
(15) пишу вот так,так оно ругается
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл 
ВыборкаТЧ = ВыборкаДетальныеЗаписи.Товары.Выбрать();
Пока ВыборкаТЧ.Следующий() Цикл
	Если ВыборкаТЧ.Размещение.Наименование = "" тогда
Строка = ТоварыНаУдаление.Добавить(); 
Строка.Размещение = ВыборкаТЧ.Размещение; 
Строка.Номенклатура = ВыборкаТЧ.Номенклатура;
КонецЕсли;
//тут должны быть все строки которые выхотите заполнить
КонецЦикла; 
КонецЦикла;
Показать


на вот эту строку: Если ВыборкаТЧ.Размещение.Наименование = "" тогда
12. user817897 2 19.03.19 10:21 Сейчас в теме
16. popro 19.03.19 10:42 Сейчас в теме
Скорее всего так. Сделай реквизит Заказ с типом который тебе надо и выведи на форму.
Но подозреваю, что Размещение это не строка.


Запрос = Новый Запрос; 
Запрос.Текст = 
"ВЫБРАТЬ 
| ЗаказПокупателя.Товары.( 
| Ссылка, 
| НомерСтроки, 
| ЕдиницаИзмерения, 
| ЕдиницаИзмеренияМест, 
| Количество, 
| КоличествоМест, 
| Коэффициент, 
| Номенклатура, 
| ПлановаяСебестоимость, 
| ПроцентСкидкиНаценки, 
| Размещение, 
| СтавкаНДС, 
| Сумма, 
| СуммаНДС, 
| ХарактеристикаНоменклатуры, 
| Цена, 
| ПроцентАвтоматическихСкидок, 
| УсловиеАвтоматическойСкидки, 
| ЗначениеУсловияАвтоматическойСкидки, 
| КлючСтроки, 
| СерияНоменклатуры 
| ) 
|ИЗ 
| Документ.ЗаказПокупателя КАК ЗаказПокупателя

|ГДЕ
| ЗаказПокупателя.Ссылка = &Заказ
| И ЗаказПокупателя.Товары.Размещение = &Размещение"; 

Запрос.УстановитьПараметр("Заказ", Объект.Заказ);

Запрос.УстановитьПараметр("Размещение", "");//вот это параметр


РезультатЗапроса = Запрос.Выполнить(); 

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); 

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл 
ВыборкаТЧ = ВыборкаДетальныеЗаписи.Товары.Выбрать()
Пока ВыборкаТЧ.Следующий() Цикл
Строка = ТоварыНаУдаление.Добавить(); 
Строка.Размещение = ВыборкаТЧ.Размещение; 
Строка.Номенклатура = ВыборкаТЧ.Номенклатура; 
//тут должны быть все строки которые выхотите заполнить
КонецЦикла; 
КонецЦикла;

Показать
17. user817897 2 19.03.19 10:53 Сейчас в теме
(16) Если сделать вот так,то копирует все данные из заказа
18. user817897 2 19.03.19 10:53 Сейчас в теме
(16)
Запрос = Новый Запрос; 
Запрос.Текст = 
"ВЫБРАТЬ
|	ЗаказПокупателя.Товары.(
|		Ссылка,
|		НомерСтроки,
|		ЕдиницаИзмерения,
|		ЕдиницаИзмеренияМест,
|		Количество,
|		КоличествоМест,
|		Коэффициент,
|		Номенклатура,
|		ПлановаяСебестоимость,
|		ПроцентСкидкиНаценки,
|		Размещение,
|		СтавкаНДС,
|		Сумма,
|		СуммаНДС,
|		ХарактеристикаНоменклатуры,
|		Цена,
|		ПроцентАвтоматическихСкидок,
|		УсловиеАвтоматическойСкидки,
|		ЗначениеУсловияАвтоматическойСкидки,
|		КлючСтроки,
|		СерияНоменклатуры
|	)
|ИЗ
|	Документ.ЗаказПокупателя КАК ЗаказПокупателя
|ГДЕ
|	ЗаказПокупателя.Номер = &Номер"; 

Запрос.УстановитьПараметр("Номер", номер );

Запрос.УстановитьПараметр("Размещение", "");//вот это параметр


РезультатЗапроса = Запрос.Выполнить(); 

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); 

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл 
ВыборкаТЧ = ВыборкаДетальныеЗаписи.Товары.Выбрать();
Пока ВыборкаТЧ.Следующий() Цикл
Строка = ТоварыНаУдаление.Добавить(); 
Строка.Размещение = ВыборкаТЧ.Размещение; 
Строка.Номенклатура = ВыборкаТЧ.Номенклатура; 
//тут должны быть все строки которые выхотите заполнить
КонецЦикла; 
КонецЦикла;
Показать
19. user817897 2 19.03.19 10:53 Сейчас в теме
(16)а мне надо чтобы по размещению только копировало,где пусто
21. arsen_botashev 19.03.19 10:59 Сейчас в теме
(19)Вот окончательный запрос:
Запрос = Новый Запрос; 
Запрос.Текст = 
"ВЫБРАТЬ 
| ЗаказПокупателя.Товары.( 
| Ссылка, 
| НомерСтроки, 
| ЕдиницаИзмерения, 
| ЕдиницаИзмеренияМест, 
| Количество, 
| КоличествоМест, 
| Коэффициент, 
| Номенклатура, 
| ПлановаяСебестоимость, 
| ПроцентСкидкиНаценки, 
| Размещение, 
| СтавкаНДС, 
| Сумма, 
| СуммаНДС, 
| ХарактеристикаНоменклатуры, 
| Цена, 
| ПроцентАвтоматическихСкидок, 
| УсловиеАвтоматическойСкидки, 
| ЗначениеУсловияАвтоматическойСкидки, 
| КлючСтроки, 
| СерияНоменклатуры 
| ) 
|ИЗ 
| Документ.ЗаказПокупателя КАК ЗаказПокупателя 
|ГДЕ 
| ЗаказПокупателя.Ссылка = &Ссылка 
| И ЗаказПокупателя.Размещение = &Размещение"; 

Запрос.УстановитьПараметр("Ссылка", Ссылка ); 

Запрос.УстановитьПараметр("Размещение", "");//вот это параметр 


РезультатЗапроса = Запрос.Выполнить(); 

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); 

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл 
ВыборкаТЧ = ВыборкаДетальныеЗаписи.Товары.Выбрать(); 
Пока ВыборкаТЧ.Следующий() Цикл 
Строка = ТоварыНаУдаление.Добавить(); 
Строка.Размещение = ВыборкаТЧ.Размещение; 
Строка.Номенклатура = ВыборкаТЧ.Номенклатура; 
//тут должны быть все строки которые выхотите заполнить 
КонецЦикла; 
КонецЦикла; 
Показать
22. user817897 2 19.03.19 11:01 Сейчас в теме
(21) вот что выдаёт
{Документ.ЗаказПокупателя.Форма.ФормаДокумента.Форма(2887)}: Ошибка при вызове метода контекста (Выполнить)
РезультатЗапроса = Запрос.Выполнить();
по причине:
{(28, 54)}: Поле не найдено "ЗаказПокупателя.Размещение"
ЗаказПокупателя.Ссылка = &Ссылка И ЗаказПокупателя.<<?>>Размещение = &Размещение
{Документ.ЗаказПокупателя.Форма.ФормаДокумента.Форма(2887)}: Ошибка при вызове метода контекста (Выполнить)
РезультатЗапроса = Запрос.Выполнить();
по причине:
{(28, 54)}: Поле не найдено "ЗаказПокупателя.Размещение"
ЗаказПокупателя.Ссылка = &Ссылка И ЗаказПокупателя.<<?>>Размещение = &Размещение
23. user817897 2 19.03.19 11:06 Сейчас в теме
(21) здесь в запросе сменил на
|ГДЕ
| ЗаказПокупателя.Ссылка = &Ссылка
| И ЗаказПокупателя.Товары.Размещение = &Размещение"; 

(Добавил Товары)
запрос срабатывает,но ничего не выводит в таблицу)
25. arsen_botashev 19.03.19 11:13 Сейчас в теме
(23)

Добавьте Условие(просто проверить запрос пустой или нет)

После строки РезультатЗапроса = Запрос.Выполнить();
Добавьте:
Если РезультатЗапроса.Пустой() Тогда
Сообщить ("Ничего не получилось");
КонецЕсли
24. user817897 2 19.03.19 11:07 Сейчас в теме
(21)Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
в этой строке если отладчиком смотреть,оно сразу пропускает цикл,не заходит в него. чего так?
26. popro 19.03.19 11:14 Сейчас в теме
(24) Скорее всего Размещение это не строка. Убери условие "Размещение" из запроса, сделай проверку в цикле.


Пока ВыборкаДетальныеЗаписи.Следующий() Цикл 
ВыборкаТЧ = ВыборкаДетальныеЗаписи.Товары.Выбрать(); 
Пока ВыборкаТЧ.Следующий() Цикл 
Если НЕ ЗначениеЗаполнено(ВыборкаТЧ.Размещение) Тогда
Строка = ТоварыНаУдаление.Добавить(); 
Строка.Размещение = ВыборкаТЧ.Размещение; 
Строка.Номенклатура = ВыборкаТЧ.Номенклатура; 
//тут должны быть все строки которые выхотите заполнить 
КонецЕсли;
КонецЦикла; 
КонецЦикла; 

Показать
arsen_botashev; +1 Ответить
27. arsen_botashev 19.03.19 11:16 Сейчас в теме
(24)Скорее всего у вас не правильно задаются параметры.
И еще Сначала сохраните документ, потом уже заполняйте вторую таблицу.
И вообще скиньте скрин что у вас там и как.
28. YannikAlx 43 19.03.19 11:16 Сейчас в теме
(19) если у вас уже был вариант , когда
копирует все данные из заказа

Ну так поставьте туда условие что НЕ НАДО копировать и радуйтесь, неужели вы сами даже условия поставить не в состоянии?
Не ждите тут полных решений...
29. user817897 2 19.03.19 11:25 Сейчас в теме
(28) вы меня смотивировали) Спасибо)
Я просто ещё учусь немного,поэтому задаю такие глупые вопросы,когда сталкиваюсь с ними
Сделал вот так.
Запрос = Новый Запрос; 
Запрос.Текст = 
"ВЫБРАТЬ
|	ЗаказПокупателя.Товары.(
|		Ссылка,
|		НомерСтроки,
|		ЕдиницаИзмерения,
|		ЕдиницаИзмеренияМест,
|		Количество,
|		КоличествоМест,
|		Коэффициент,
|		Номенклатура,
|		ПлановаяСебестоимость,
|		ПроцентСкидкиНаценки,
|		Размещение,
|		СтавкаНДС,
|		Сумма,
|		СуммаНДС,
|		ХарактеристикаНоменклатуры,
|		Цена,
|		ПроцентАвтоматическихСкидок,
|		УсловиеАвтоматическойСкидки,
|		ЗначениеУсловияАвтоматическойСкидки,
|		КлючСтроки,
|		СерияНоменклатуры
|	)
|ИЗ
|	Документ.ЗаказПокупателя КАК ЗаказПокупателя
|ГДЕ
|	ЗаказПокупателя.Номер = &Номер"; 
Запрос.УстановитьПараметр("Размещение", "");//вот это параметр
Запрос.УстановитьПараметр("Номер", Номер);
РезультатЗапроса = Запрос.Выполнить(); 

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); 

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл 
ВыборкаТЧ = ВыборкаДетальныеЗаписи.Товары.Выбрать();
Пока ВыборкаТЧ.Следующий() Цикл
	
	
Если НЕ ЗначениеЗаполнено(ВыборкаТЧ.Размещение) тогда

Строка = ТоварыНаУдаление.Добавить(); 
Строка.Размещение = ВыборкаТЧ.Размещение; 
Строка.Номенклатура = ВыборкаТЧ.Номенклатура;
КонецЕсли;
//тут должны быть все строки которые выхотите заполнить
КонецЦикла; 
КонецЦикла;
Показать


Спасибо всем большое!
30. arsen_botashev 19.03.19 11:37 Сейчас в теме
(29)
Запрос.УстановитьПараметр("Размещение", "");//вот это параметр
Эту строку можно удалить))
31. user817897 2 19.03.19 12:06 Сейчас в теме
(30) подскажите пожалуйста,у меня в справочнике Номенклатуры есть реквизит НеРезервировать, как мне в моём запросе сделать так чтобы срабатывало моё условие
РезультатЗапроса = Запрос.Выполнить(); 

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); 

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл 
ВыборкаТЧ = ВыборкаДетальныеЗаписи.Товары.Выбрать();
Пока ВыборкаТЧ.Следующий() Цикл
	
	Если ВыборкаДетальныеЗаписи.НеРезервировать = Истина тогда	
		Сообщить("");
		иначе
Если НЕ ЗначениеЗаполнено(ВыборкаТЧ.Размещение) тогда

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

КонецЦикла; 
КонецЦикла;
Показать
34. arsen_botashev 19.03.19 12:10 Сейчас в теме
(31)Надо получать запросом этот реквизит, у вас в запросе получается только табличная часть.
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); 

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл 
Если ВыборкаДетальныеЗаписи.НеРезервировать = Истина тогда 
Сообщить(""); 
Иначе
ВыборкаТЧ = ВыборкаДетальныеЗаписи.Товары.Выбрать(); 
Пока ВыборкаТЧ.Следующий() Цикл 

Если НЕ ЗначениеЗаполнено(ВыборкаТЧ.Размещение) тогда 

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

КонецЦикла; 
КонецЦикла;
Показать
35. user817897 2 19.03.19 12:11 Сейчас в теме
(34)
попробовал только что вот так,сработало.
Если ВыборкаТЧ.Номенклатура.НеРезервировать = Истина тогда
Сообщить("");

Спасибо вам огромное за помощь. Добавлю вас в друзья,если вы не против
37. arsen_botashev 19.03.19 12:13 Сейчас в теме
(35)Хорошо что сработало! Я сам тоже новичок))
38. user817897 2 19.03.19 12:19 Сейчас в теме
(37) прикольно))
как удалить строку эту (ту что копировали в другую таблицу)
Если ВыборкаТЧ.Номенклатура.НеРезервировать = Истина тогда	
			Сообщить("");
		иначе
			Если НЕ ЗначениеЗаполнено(ВыборкаТЧ.Размещение) тогда
				
				Строка = ТоварыНаУдаление.Добавить(); 
				Строка.Размещение = ВыборкаТЧ.Размещение; 
				Строка.Номенклатура = ВыборкаТЧ.Номенклатура;
				Строка.ЕдиницаИзмерения = ВыборкаТЧ.ЕдиницаИзмерения;
				Строка.СтавкаНДС = ВыборкаТЧ.СтавкаНДС;
				Строка.Количество = ВыборкаТЧ.Количество;
				Строка.Коэффициент = ВыборкаТЧ.Коэффициент;
				Строка.Сумма = ВыборкаТЧ.Сумма;
				строка.СуммаНДС =  ВыборкаТЧ.СуммаНДС;
				строка.Цена = ВыборкаТЧ.Цена;
				строкаизТовары = Товары;
				строкаизТовары.Удалить();
			КонецЕсли;
Показать

строкаизТовары = Товары;
строкаизТовары.Удалить();- что-то сюда надо добавить наверно или изменить по другому как-то?!
39. arsen_botashev 19.03.19 12:32 Сейчас в теме
(38)Какую именно строку?

Где номенклатура.нерезервировать = истина?
40. user817897 2 19.03.19 12:34 Сейчас в теме
(39)смотри есть две таблицы:
таблица 1 и таблица 2
я беру копирую строку из таблицы 1 по условиям что выше писал,и вставляю в таблицу 2,но из первой таблицы мне нужно удалить эту строку.
41. arsen_botashev 19.03.19 12:43 Сейчас в теме
(40)
i=Таблица1.Количество(); 
Пока i>0 Цикл 
Если ПустаяСтрока(Таблица1[i-1].НеРезервировать) Тогда 
Таблица1.Удалить(i-1); 
КонецЕсли; 
i=i-1; 
КонецЦикла; 
Показать

попробуй так, тут ты будешь удалять те строки, в которых НеРезервировать не заполнено
42. user817897 2 19.03.19 13:11 Сейчас в теме
(41) спасибо друг,вот так влетает
П
ока ВыборкаДетальныеЗаписи.Следующий() Цикл 
	ВыборкаТЧ = ВыборкаДетальныеЗаписи.Товары.Выбрать();
	Пока ВыборкаТЧ.Следующий() Цикл
		
		Если ВыборкаТЧ.Номенклатура.НеРезервировать = Истина тогда	
			Сообщить("");
		иначе
			Если НЕ ЗначениеЗаполнено(ВыборкаТЧ.Размещение) тогда
			
				Строка = ТоварыНаУдаление.Добавить(); 
				Строка.Размещение = ВыборкаТЧ.Размещение; 
				Строка.Номенклатура = ВыборкаТЧ.Номенклатура;
				Строка.ЕдиницаИзмерения = ВыборкаТЧ.ЕдиницаИзмерения;
				Строка.СтавкаНДС = ВыборкаТЧ.СтавкаНДС;
				Строка.Количество = ВыборкаТЧ.Количество;
				Строка.Коэффициент = ВыборкаТЧ.Коэффициент;
				Строка.Сумма = ВыборкаТЧ.Сумма;
				строка.СуммаНДС =  ВыборкаТЧ.СуммаНДС;
				строка.Цена = ВыборкаТЧ.Цена;
				
			
i=Товары.Количество(); 
Пока i>0 Цикл 
Если ПустаяСтрока(Товары[i-1].Размещение) Тогда 
Товары.Удалить(i-1); 
КонецЕсли; 
i=i-1; 
КонецЦикла; 


			КонецЕсли;
		КонецЕсли;
		
	КонецЦикла; 
КонецЦикла;
Показать

но нужно обработать ещё как-то НеРезервировать,я пока размещение сделал,а вот НеРезервировать так не прокатит,как его всунуть тут ещё в это условие?
43. arsen_botashev 19.03.19 13:52 Сейчас в теме
(42)а что надо сделать? я не понял
44. user817897 2 19.03.19 14:05 Сейчас в теме
(43) надо сделать ещё чтобы не удаляла,что если есть галочка в Справочнике Номенклатуры (НеРезервировать), если она установлена,то не удалять эти позиции
45. arsen_botashev 19.03.19 14:10 Сейчас в теме
(44)Так я ж написал?
Если НЕ ЗначениеЗаполнено(Товары[i-1].Размещение) 

или
Если Товары[i-1].Размещение = Ложь
46. user817897 2 19.03.19 14:25 Сейчас в теме
(45) спасибо дружище,ты огонь! Очень помог,и сам научился и разобрался)
47. arsen_botashev 19.03.19 14:29 Сейчас в теме
(46)Хорошо, раз все получилось, если хочешь в Вк добавь меня, я так понимаю, и я, и ты, новички)

vk.com/ba_r01
48. user817897 2 19.03.19 14:30 Сейчас в теме
(47)уже добавляю,спасибо,мне всегда интересно делиться и учиться с кем-то)
50. user817897 2 19.03.19 14:34 Сейчас в теме
(47) я тут выше описывал
Если ВыборкаТЧ.Номенклатура.НеРезервировать = Истина тогда
Сообщить("");
иначе
Если НЕ ЗначениеЗаполнено(ВыборкаТЧ.Размещение) тогда
49. user817897 2 19.03.19 14:34 Сейчас в теме
(45)не,погоди,мне нужно не Размещение,а НеРезервировать
51. arsen_botashev 19.03.19 14:47 Сейчас в теме
(49)а, точно:
i=Таблица1.Количество(); 
Пока i>0 Цикл 
Если НЕ ЗначениеЗаполнено(Таблица1[i-1].Номенклатура.НеРезервировать) Тогда 
Таблица1.Удалить(i-1); 
КонецЕсли; 
i=i-1; 
КонецЦикла; 

или
i=Таблица1.Количество(); 
Пока i>0 Цикл 
Если Таблица1[i-1].Номенклатура.НеРезервировать = Ложь Тогда 
Таблица1.Удалить(i-1); 
КонецЕсли; 
i=i-1; 
КонецЦикла; 

или
i=Таблица1.Количество(); 
Пока i>0 Цикл 
Если НЕ Таблица1[i-1].Номенклатура.НеРезервировать Тогда 
Таблица1.Удалить(i-1); 
КонецЕсли; 
i=i-1; 
КонецЦикла; 
52. user817897 2 19.03.19 15:28 Сейчас в теме
(51)спасибо большое,сейчас попробую
32. user817897 2 19.03.19 12:07 Сейчас в теме
(30)Если ВыборкаДетальныеЗаписи.НеРезервировать = Истина тогда
Сообщить("");
иначе
Если НЕ ЗначениеЗаполнено(ВыборкаТЧ.Размещение) тогда
вот это чтобы правильно работало,я так понимаю надо в запрос добавить справочник Номенклатуры?*
33. user817897 2 19.03.19 12:07 Сейчас в теме
(30)или можно просто через ссылку как-то обратиться?
36. arsen_botashev 19.03.19 12:12 Сейчас в теме
(33)Надо наверное добавить справочник в запрос, но надо связать справочник и документ, чтоб данные были правильными
53. starik-2005 3036 20.03.19 09:56 Сейчас в теме
Тч1.загрузить(ТЧ2 выгрузить(ТЧ2.найтиСтроки(Новый Структупа("Какоетополе", неопределено)),"список,колонок")
54. user817897 2 20.03.19 16:28 Сейчас в теме
55. German_Tagil 42 21.03.19 06:55 Сейчас в теме
писал что-то подобное - https://infostart.ru/public/460032/
те из заказа покупателя формируем таблицу которая читается в заказе поставщику
те строки что остались в заказе поставщику прописываются как размещение в заказе покупателя
при повторном вызове обработки они не будут попадать в табличную часть
58. user817897 2 21.03.19 12:02 Сейчас в теме
59. user817897 2 10.11.20 13:33 Сейчас в теме
Спасибо всем, Тема закрыта.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот