Имя: Пароль:
IT
Админ
Таблицы значений
0 1c2012
 
18.07.12
12:50
Подскажите чайнику как мне сравнить две таблицы значений по сотрудникам и вид расчета и если попадутся одинаковые то их заменить данными из второй таблицы. Может плохо объяснил но как могу.Спасибо.
1 Fragster
 
гуру
18.07.12
12:51
левое (полное) соединение
2 1Сергей
 
18.07.12
12:52
восьмёрка?
3 1c2012
 
18.07.12
12:52
нет не в запросе
4 1c2012
 
18.07.12
12:52
8.2
5 Fragster
 
гуру
18.07.12
12:52
(3) тогда через цикл и Найти, но запросом - лучше
6 1c2012
 
18.07.12
12:53
После того как вторая таблица сформиловалась, но до того как выгрузилась
7 1c2012
 
18.07.12
12:53
а пример не подскажите(код)
8 1c2012
 
18.07.12
12:54
все облазил работающего кода не нашел((
9 1c2012
 
18.07.12
12:54
Для каждого стрТЗ1 Из ТЗ1 Цикл
ДанныеСтрТЗ1=СтрТЗ1.Данные;
Для Каждого СтрТЗ2 Из ТЗ2 Цикл
ДанныеСтрТЗ2=СтрТЗ2.Данные;
Если ДанныеСтрТЗ1=ДанныеСтрТЗ2 Тогда
Действие с данными
Иначе
КонецЕсли;
КонецЦикла;
КонецЦикла;
10 1c2012
 
18.07.12
12:54
Что то вроде этого??
11 1c2012
 
18.07.12
12:55
Дело в том что вторая таблица сразу выгружается
12 Fragster
 
гуру
18.07.12
12:56
2000 рублей
13 1c2012
 
18.07.12
12:56
ТЗНачисления = СформироватьТаблицуНачислений(НачисленияВыборка, ОкончаниеПериодаЗаполнения, РезультатЗапроса.Выгрузить(), МассивВалютСНезаданнымКурсом);
14 1c2012
 
18.07.12
12:57
За код))))))
15 1c2012
 
18.07.12
12:57
За кусок кода.....
16 1c2012
 
18.07.12
12:59
В документе при кнопке заполнить выполняется запрос, формируется и выгружается....
17 Ненавижу 1С
 
гуру
18.07.12
13:00
за ВДВ!
18 SherifSP
 
18.07.12
13:04
(0) В цикле перебирай таблицу, по методом НАйтиСтроки ищи и делай условие
19 SherifSP
 
18.07.12
13:04
(18)Пример кинуть?
20 1c2012
 
18.07.12
13:05
если не трудно...
21 SherifSP
 
18.07.12
13:09
ПараметрыОтбора = Новый Структура;
       ПараметрыОтбора.Вставить("Контрагент", ОформлениеСтроки.ДанныеСтроки.Контрагент);
       ИскомаяСтр = мДанныеДолгДата.НайтиСтроки(ПараметрыОтбора);
       Для Каждого Стр Из ИскомаяСтр Цикл
           Если Не ИскомаяСтр = Неопределено Тогда
               Если ДатаПросрочки > Дата + ДопДата*86400 Тогда
                   
                   ОформлениеСтроки.Ячейки.Блокировка.Картинка = БиблиотекаКартинок.Важно;
                   ОформлениеСтроки.Ячейки.Блокировка.ОтображатьКартинку = Истина;

               КонецЕсли;
           КонецЕсли;
       КонецЦикла;
22 SherifSP
 
18.07.12
13:10
(21) Условие делаешь свое
23 1c2012
 
18.07.12
13:10
хорошо попробую))спс
24 SherifSP
 
18.07.12
13:11
Для Каждого ОформлениеСтроки Из ТаблицаЗначений Цикл
ПараметрыОтбора = Новый Структура;
       ПараметрыОтбора.Вставить("Контрагент", ОформлениеСтроки.ДанныеСтроки.Контрагент);
       ИскомаяСтр = мДанныеДолгДата.НайтиСтроки(ПараметрыОтбора);
       Для Каждого Стр Из ИскомаяСтр Цикл
           Если Не ИскомаяСтр = Неопределено Тогда
               Если ДатаПросрочки > Дата + ДопДата*86400 Тогда
                   
                   ОформлениеСтроки.Ячейки.Блокировка.Картинка = БиблиотекаКартинок.Важно;
                   ОформлениеСтроки.Ячейки.Блокировка.ОтображатьКартинку = Истина;

               КонецЕсли;
           КонецЕсли;
       КонецЦикла;
25 SherifSP
 
18.07.12
13:14
(24)мДанныеДолгДата это вторая таблица значений
26 SherifSP
 
18.07.12
13:15
(24)  ПараметрыОтбора.Вставить("Контрагент", ОформлениеСтроки.ДанныеСтроки.Контрагент); ----->   ПараметрыОтбора.Вставить("Контрагент", ОформлениеСтроки.Контрагент);
27 1c2012
 
18.07.12
13:20
Последнее это что?
28 SherifSP
 
18.07.12
13:23
Исправил Код
29 SherifSP
 
18.07.12
13:24
Получилось сделать задуманное?)
30 1c2012
 
18.07.12
13:25
Делаю)
31 1c2012
 
18.07.12
13:25
ПараметрыОтбора.Вставить("Контрагент", ОформлениеСтроки.ДанныеСтроки.Контрагент); ...Не пойму это куда?
32 1c2012
 
18.07.12
13:27
Это то что нужно заменить???
33 SherifSP
 
18.07.12
13:28
Оформление строки это строка значения
34 SherifSP
 
18.07.12
13:28
Там только убрать "ДанныеСтроки"
35 SherifSP
 
18.07.12
13:30
Для Каждого Строка Из ТаблицаЗначений1 Цикл
ПараметрыОтбора = Новый Структура;
      ПараметрыОтбора.Вставить("Контрагент", Строка.Контрагент);
36 1c2012
 
18.07.12
13:30
я понял)
37 1c2012
 
18.07.12
13:31
У меня может проблема возникнуть что однуТЗ я сам создавал а другая уже была сделана.....могут быть не соответствия..
38 1c2012
 
18.07.12
13:32
Например по дате..
39 SherifSP
 
18.07.12
13:32
Ты по контрагенту сравнивай
40 1c2012
 
18.07.12
13:33
Мне нужно четко сделать отбор по сотрудника и видам расчета, если их их показатели лтличаются то мне надо его заменить в той таблице которая бала уже создана))
41 1c2012
 
18.07.12
13:33
В этом проблема?((
42 1c2012
 
18.07.12
13:34
Капатся в  уже сделанной процедуре это самоубийство))
43 SherifSP
 
18.07.12
13:38
Для Каждого Строка Из ТаблицаЗначений1 Цикл
ПараметрыОтбора = Новый Структура;
      ПараметрыОтбора.Вставить("Контрагент", Строка.Контрагент);
      ИскомаяСтр = ТаблицаЗначений2.НайтиСтроки(ПараметрыОтбора);
      Для Каждого Стр Из ИскомаяСтр Цикл
       Думай как правильно условие сделать
         
          КонецЕсли;
      КонецЦикла;
44 1c2012
 
18.07.12
13:43
угу спс))
45 1c2012
 
18.07.12
13:45
только там КонецЦикла; забыл
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший