| 
    
        
     
     | 
    
    
  | 
Перенос данных с одного документа на другой | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Triton_11    
     14.04.14 
            ✎
    13:53 
 | 
         
        У меня есть документ ПереоценкаТоваровВРознице
 
        и есть ее табличное поле там есть данные Ном Хар Цена Брюки Коричневый 900 Куртка Синтепон 750 Рубашка 800 И есть документ ОприходованиеТоваров и есть ее табличное поле там есть данные Ном Хар Цена Брюки Коричневый 1 Куртка Синтепон 1 И необхадимо с помошью внешней обработки что бы данные с документа ПероценкаТоваровВРознице попали в документ ОприходованиеТоваров и только данные которые есть в документе ОприходованиеТоваров т.е. Рубашка не должна записаться я так сделал вродь не правильно Процедура КнопкаВыполнитьНажатие(Кнопка) Оприх = Документы.ОприходованиеТоваров.НайтиПоНомеру("00000000001"); В = Оприх.Товары.Добавить(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПереоценкаТоваровВРозницеТовары.ЦенаВРознице КАК Цена |ИЗ | Документ.ПереоценкаТоваровВРознице.Товары КАК ПереоценкаТоваровВРозницеТовары |ГДЕ | ПереоценкаТоваровВРозницеТовары.Номенклатура = &Номенклатура"; Запрос.УстановитьПараметр("Номенклатура",В.Номенклатура); Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл В.ЦенаВРознице = Результат.Цена; КонецЦикла; КонецПроцедуры  | 
|||
| 
    1
    
        Triton_11    
     14.04.14 
            ✎
    13:53 
 | 
         
        (0) Должна перенестись цена     
         | 
|||
| 
    2
    
        Wobland    
     14.04.14 
            ✎
    13:54 
 | 
         
        внутренне соедини две ТЗ и будет тебе щастье     
         | 
|||
| 
    3
    
        Triton_11    
     14.04.14 
            ✎
    13:56 
 | 
         
        (2) я не знаю че такое внутренне соединение     
         | 
|||
| 
    4
    
        Aloex    
     14.04.14 
            ✎
    13:57 
 | 
         
        (3) Бросай это дело, иди книжки изучай.     
         | 
|||
| 
    5
    
        Triton_11    
     14.04.14 
            ✎
    13:57 
 | 
         
        (4) можно без внутреннего соединения как то     
         | 
|||
| 
    6
    
        Maxus43    
     14.04.14 
            ✎
    13:58 
 | 
         
        (5) боюсь что надо программировать. Что не получается? как делаешь? За тебя с нуля никто писать не будет     
         | 
|||
| 
    7
    
        Wobland    
     14.04.14 
            ✎
    13:58 
 | 
         
        (3) а я когда-то даже читать не умел. ничего, справился     
         | 
|||
| 
    8
    
        Triton_11    
     14.04.14 
            ✎
    13:59 
 | 
         
        (6) ну хотя бы подскажите как примерно направление я не прошу за меня написать хоть образец     
         | 
|||
| 
    9
    
        Triton_11    
     14.04.14 
            ✎
    14:00 
 | 
         
        (7) ок попробую через внутреннее соединение
 
        может получиться  | 
|||
| 
    10
    
        Maxus43    
     14.04.14 
            ✎
    14:01 
 | 
         
        (8) ну запросом тебе надо ещё вытащить минимум Номенклатуру, потом уже в ТЧ искать эту номенклатуру, и если нашёл - то цену писать     
         | 
|||
| 
    11
    
        Wobland    
     14.04.14 
            ✎
    14:01 
 | 
         
        (8) ДокументПриёмник.ТЧ.Загрузить(Запрос.Выполнить().Выгрузить())     
         | 
|||
| 
    12
    
        Triton_11    
     14.04.14 
            ✎
    14:50 
 | 
         
        Процедура КнопкаВыполнитьНажатие(Кнопка)
 
        Оприх = Документы.ОприходованиеТоваров.НайтиПоНомеру("00000000001"); В = Оприх.Товары.Добавить(); Тов = Оприх.Товары; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПереоценкаТоваровВРозницеТовары.Номенклатура КАК Ном, | ПереоценкаТоваровВРозницеТовары.ЦенаВРознице КАК Цена |ИЗ | Документ.ПереоценкаТоваровВРознице.Товары КАК ПереоценкаТоваровВРозницеТовары"; Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл Для каждого А Из Тов Цикл Если Результат.Ном = А.Номенклатура Тогда В.ЦенаВРознице = Результат.Цена; КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры  | 
|||
| 
    13
    
        Maxus43    
     14.04.14 
            ✎
    14:51 
 | 
         
        (12) всё хорошо стало?     
         | 
|||
| 
    14
    
        Triton_11    
     14.04.14 
            ✎
    14:53 
 | 
         
        (13) не может найти номенклатуру из Документа ОприходованиеТоваров     
         | 
|||
| 
    15
    
        Maxus43    
     14.04.14 
            ✎
    14:54 
 | 
         
        зачем добавляешь строки вобще? тебе же надо у существующих записей цену изменить?     
         | 
|||
| 
    16
    
        Triton_11    
     14.04.14 
            ✎
    14:55 
 | 
         
        (15) она даже так не работает мне хотя бы чтоб добавлял     
         | 
|||
| 
    17
    
        Maxus43    
     14.04.14 
            ✎
    14:58 
 | 
         
        Оприх = Документы.ОприходованиеТоваров.НайтиПоНомеру("00000000001");
 
        - ты в ссылку пытаешся добавить... Объект докумена получи сначала  | 
|||
| 
    18
    
        Triton_11    
     14.04.14 
            ✎
    15:39 
 | 
         
        Объект = Оприх.ПолучитьОбъект();
 
        Выдает ошибку {Форма.Форма.Форма(4)}: Ошибка при вызове метода контекста (ПолучитьОбъект) Объект = Оприх.ПолучитьОбъект(); по причине: Элемент не выбран!  | 
|||
| 
    19
    
        Wobland    
     14.04.14 
            ✎
    15:43 
 | 
         
        (18) что, не нашёл документ?     
         | 
|||
| 
    20
    
        Triton_11    
     14.04.14 
            ✎
    15:44 
 | 
         
        (19) да     
         | 
|||
| 
    21
    
        Wobland    
     14.04.14 
            ✎
    15:49 
 | 
         
        (20) ну как же ты так?     
         | 
|||
| 
    22
    
        Triton_11    
     14.04.14 
            ✎
    15:57 
 | 
         
        (21) эхх.. плохо :)))     
         | 
|||
| 
    23
    
        zak555    
     14.04.14 
            ✎
    21:42 
 | 
         
        кд в руки     
         | 
|||
| 
    24
    
        Мимохожий Однако    
     14.04.14 
            ✎
    22:31 
 | 
         
        Сделай обработку заполнения ТЧ.
 
        В модуле обработки Процедура Инициализировать(рОбъект,рИмяТабЧасти,рТабПоле) Экспорт Переоценка = Документы.ПереоценкаТоваровВРознице.СоздатьДокумент(); Переоценка.ВидОперации = Перечисления.ВидыОперацийПереоценкаТоваровВРознице.ПереоценкаВРознице; Переоценка.Организация = рОбъект.Организация; Переоценка.Склад = рОбъект.Склад; Переоценка.Дата = НачалоДня(рОбъект.Дата); Для Каждого ТекСтрока Из рОбъект[рИмяТабЧасти] Цикл НоваяСтрока = Переоценка.Товары.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока,ТекСтрока); НоваяСтрока.ЦенаВРознице = ТекСтрока.Цена; КонецЦикла; Переоценка.ПолучитьФорму("ФормаДокумента").Открыть(); КонецПроцедуры ... В обработке должен быть обязательный реквизит СсылкаНаОбъект(Любая ссылка)  | 
|||
| 
    25
    
        zak555    
     14.04.14 
            ✎
    22:33 
 | 
         
        (24) надо было ЗаполнитьЗначенияСвойств использовать и для шапки =)     
         | 
|||
| 
    26
    
        Мимохожий Однако    
     14.04.14 
            ✎
    22:34 
 | 
         
        (25)разрешаю ))     
         | 
|||
| 
    27
    
        Triton_11    
     15.04.14 
            ✎
    07:43 
 | 
         
        (24) не надо создавать новый документ надо поместить данные в существующий документ     
         | 
|||
| 
    28
    
        Обработка    
     15.04.14 
            ✎
    07:57 
 | 
         
        (27) Не важно создавать или нет. Он показал вариант когда не надо запросом а перебором строк. Переделай код под себя.     
         | 
|||
| 
    29
    
        Triton_11    
     15.04.14 
            ✎
    09:01 
 | 
         
        Процедура ОсновныеДействияФормыДействие(Кнопка)
 
        Переоценка = Документы.ПереоценкаТоваровВРознице.Выбрать(); Оприходование = Документы.ОприходованиеТоваров.Выбрать(); Пока Переоценка.Следующий() Цикл Пока Оприходование.Следующий() Цикл ОбъектОприходование = Оприходование.ПолучитьОбъект(); ОбъектПереоценка = Переоценка.ПолучитьОбъект(); Цена = ОбъектОприходование.Товары.Добавить(); Для Каждого ТекСтрокаОприх Из ОбъектОприходование.Товары Цикл Для Каждого ТекСтрокаПереоц Из ОбъектПереоценка.Товары Цикл Если ТекСтрокаОприх.Номенклатура = ТекСтрокаПереоц.Номенклатура Тогда Цена.ЦенаВРознице = ТекСтрокаПереоц.ЦенаВРознице; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецПроцедуры  | 
|||
| 
    30
    
        Triton_11    
     15.04.14 
            ✎
    09:36 
 | 
         
        (29) не работает     
         | 
|||
| 
    31
    
        Wobland    
     15.04.14 
            ✎
    09:37 
 | 
         
        адский двойной цикл по всем документам двух видов..     
         | 
|||
| 
    32
    
        Triton_11    
     15.04.14 
            ✎
    09:45 
 | 
         
        (31) :))     
         | 
|||
| 
    33
    
        Drac0    
     15.04.14 
            ✎
    10:00 
 | 
         
        (29) О, боже. Теперь я видел все.     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |