Программно добавить строку в ТЧ документа #627581


#0 by amadeus2010
Доброе утро,вот и осень наступила,но вопросы остаются.У меня к уважаемым знатокам вопрос.Есть документ с реквизитом Агент и ТЧ в которую заполняются торговые точки Выбранного агента.Список точек хранится в справочнике.Теперь надо сделать так чтобы при заполнении торг точек была проверка, что если торг точка принадлежит агенту но ее нет в документе тогда добавить ее из справочника.Вот старый код заполнения ТЧ торговые точки /////////////////////////////////////////////////////////////////
#1 by МимохожийОднако
А теперь вопрос...
#2 by Megas
3 способа. 1) Выгрузить Тч в Тз , поместить тз в запрос для отбора. 2) Метод "Найти". 3) Метод "Свернуть".
#3 by Megas
и ещё жутко не люблю такие выборки. "Выборка = Справочники.кпкТорговыеТочки.Выбрать(, , Новый Структура("Агент", Агент));" Я так и не понял для чeго их сделали если всё можно сделать через "Запрос"
#4 by amadeus2010
документ был создан до меня я его только переделываю,согласен запросом удобнее,например таким    кпкТорговыеТочки.Ссылка как TT ИЗ    Справочник.кпкТорговыеТочки КАК кпкТорговыеТочки ///////////////////////////////////////// только как потом сделать проверку что есть или нет такой точки и если нет то добавить
#5 by amadeus2010
написал вот так /////////////////////////////////////////////////////////// этот код и удаление точек из висит на одной кнопке Обновить. Как сделать так чтобы 2 кода не затерли друг друга
#6 by МимохожийОднако
Если заполнить тем, что надо, то не придется удалять потом ))
#7 by amadeus2010
трассировка выдала ошибку Поле объекта не обнаружено (ТТ)        Строка.ТорговаяТочка=Выборка.ТТ;
#8 by Живой Ископаемый
нашел чем хвастаться
#9 by amadeus2010
я не хвастаюсь, прошу помощи
#10 by Живой Ископаемый
а чем помочь?
#11 by amadeus2010
не понятна ошибка , нет я понял что это не обнаружено, но вот как сделать чтобы не выходила эта ошибка? Привожу полный код процедуры
#12 by Живой Ископаемый
всем плевать выполни свой запрос в консоли. И покажи скриншот что результат ненулевой.
#13 by Rie
Нескромный вопрос - а буквы у тебя "Т" или "T"?
#14 by Живой Ископаемый
вообще точно, сорри. :) прав.
#15 by Wobland
ещё никто не сказал, что удалять с конца надо?
#16 by Wobland
+ замени ТТ на ЧЧ
#17 by amadeus2010
ТТ были написаны латиницей в тексте запроса, а в параметрах кирилицей.Теперь торговые точки находятся и записываются,но при этом к уже существующим.Как здесь можно использовать метод ТЧ.Очистить?
#18 by Капитан О
ТЧ.Очистить
#19 by Mikeware
План посещений лепишь? :-)
#20 by amadeus2010
да, их леплю.Вот сделал так,насколько это правильно?
#21 by Капитан О
найти строки с чужим агентом и удали их в цикле
#22 by amadeus2010
первая часть кода это и делает. Проверил, выводит только торговые точки выбранного агента,но при этом обнуляет дни псещений,т.е если в документе указаны были дни посещений,то после выполнения моей процедуры они обнуляться и их придется отмечать заново.Как можно это сделать без обнуления?
#23 by Капитан О
а вообще, при повторном отрабатывании кода добавятся лишние строки. я не понял задачу
#24 by Капитан О
М=НайтиСтроки Для Каждого Из М ТЧ.Удалить
#25 by Капитан О
отбой, НайтиСтроки по неравенству не работает
#26 by Капитан О
один хрен с конца удалять в цикле нужно
#27 by amadeus2010
лишние строки не добавляются,только обнуляется реквизит ТЧ.дни,каким методом можно не добавляю лишних строк в документ записать все новые торговые точки агента,при этом не добавляя чужих точек? Т.е мне нужно добавить новые точки если такие есть в документ,но при этом оставить не тронутыми старые записи
#28 by Капитан О
слева: справочник, справа: твоя ТЧ, соединение по точке, фильтр по твоему агенту и нуллу. получишь все точки агента, которых нет в ТЧ
#29 by amadeus2010
не совсем понял, можно пример привести как это реализовать
#30 by Wobland
выбрать что-то из справочник левое тч по справочник.точка=тч.точка где справочник.агент=&агент и тч.точка есть NULL и тч.ссылка=&ссылка
#31 by amadeus2010
решил вопрос таким образом
#32 by Wobland
а что не прислушался?
#33 by Wobland
за запрос в цикле полагается эцих с гвоздями
#34 by Wobland
а почему во втором запросе выборка по всем документам? короче, удаляй эти нечистоты и делай снова
#35 by amadeus2010
#36 by Wobland
выбрать точка, владелец, сумма(количество) из (выбрать ТЧ.Точка, ТЧ.Владелец, ТЧ.Количество объединить спр.Ссылка, спр.Владелец, 0 из справочник где агент=&агент) сгруппировать по точка, владелец ... ТЧ.Загрузить(Запрос.Выполнить.Выгрузить)
#37 by Wobland
неа, в таком случае теряется порядок строк в ТЧ
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С