Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Дек 2017, 09:21
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: как написать правильно Цикл?  (Прочитано 2168 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн John_Connor

  • **
  • Сообщений: 76
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-05-22
  • Сайт: 
  • Профессия: Ученик 1С

Народ кто может подсказать как правильно цикл написать?
необходимо что бы выполнялось условие
Если  таб1Контрагент =таб2Контрагент и таб1Контрагент=таб4Контрагент


Для каждого СтрТабЧасти из ТЧ Цикл
         таб1Контрагент=СтрТабЧасти.Контрагент;
         таб1СуммаСУСН=СтрТабЧасти.СуммаСусн;
         //Сообщить(таб1Контрагент);
       КонецЦикла;
         Для каждого СтрТабЧасти из ТЧ2 Цикл
         таб2Контрагент=СтрТабЧасти.Контрагент;
         таб2СуммаСУСН=СтрТабЧасти.СуммаСусн;
         //Сообщить(таб2Контрагент);
       КонецЦикла;
           Для каждого СтрТабЧасти из ТЧ4 Цикл
         таб4Контрагент=СтрТабЧасти.Контрагент;
         таб4СуммаСУСН=СтрТабЧасти.СуммаСусн;
         //Сообщить(таб4Контрагент);
      КонецЦикла;
      Для каждого СтрТабЧасти из ТЧ Цикл
      Если   таб1Контрагент =таб2Контрагент и таб1Контрагент=таб4Контрагент
         Тогда
         
            //Если  таб1Контрагент =таб2Контрагент и таб1Контрагент=таб4Контрагент
         //сравниваем контрагентов для записи в счет если 3  все равны  в счете 3 записи
         //************======если не будет моб продумать!!!
         Сообщить(таб1Контрагент);      
          //**Создаем счет
          НовСчет =  Документы.СчетНаОплатуПокупателю.СоздатьДокумент();
         НовСчет.Организация=Справочники.Организации.НайтиПоКоду("000000002");                  
          НовСчет.Контрагент = таб1Контрагент;



Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
Если я правильно понял суть написанного, то задачу можно сформулировать так:
Есть 3 табличных части: ТЧ1, ТЧ2 и ТЧ4, во всех 3-х табличных частях есть колонка Контрагент. Требуется пройтись по всем строкам таб.частей в цикле и в случае нахождения контрагента во всех 3-х ТЧ сделать какие-то действия.

Так?

Номера строк должны совпадать или главное просто найти контрагента во всех 3-х ТЧ?

Добавлено: 10 Авг 2013, 18:57

1 вариант: когда просто надо найти контрагента во всех ТЧ (вариант, что в какой-то из ТЧ один и тот же контрагент встречается более 1 раза надо предусмотреть дополнительно, в приведенном коде это не учитывается)
Для каждого СтрТаб Из ТЧ1 Цикл
Контрагент = СтрТаб.Контрагент;
СтрТаб2 = ТЧ2.Найти(Контрагент, "Контрагент");
СтрТаб4 = ТЧ4.Найти(Контрагент, "Контрагент");
Если НЕ (СтрТаб2 = Неопределено) И НЕ (СтрТаб4 = Неопределено) Тогда
// нужные вам действия - контрагент найден во всех 3-х ТЧ
КонецЕсли;
КонецЦикла;
вариант 2: контрагент должен находиться строго в той же строке:
Для каждого СтрТаб Из ТЧ1 Цикл
Контрагент = СтрТаб.Контрагент;
Индекс = ТЧ1.Индекс(СтрТаб);
СтрТаб2 = ТЧ2[Индекс];
СтрТаб4 = ТЧ4[Индекс];
Если (СтрТаб2.Контрагент = Контрагент) И (СтрТаб4.Контрагент = Контрагент) Тогда
// нужные вам действия - контрагент найден во всех 3-х ТЧ
КонецЕсли;
КонецЦикла;

Последний раз редактировалось: mixqn; 10 Авг 2013, 18:57. Причина: Объединение сообщений

Оффлайн pavl_vs

  • *****
  • Сообщений: 1070
  • РЕПУТАЦИЯ: 168
  • КПД: 16%
  • Регистрация: 2011-05-09
  • Сайт: 
  • Профессия: Программист 7.7
Народ кто может подсказать как правильно цикл написать?
..........

Это образец того, как нельзя формулировать вопрос.

Если я правильно понял суть написанного, то задачу можно сформулировать так:
..........

Ребус, кроссворд да и только!


Теги:
 

Как правильно настроить регламентные "Обновление индекса ППД" и "Слияние индекса ППД"

Автор bkmz_1_Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 4370
Последний ответ 13 Окт 2016, 09:14
от MuI_I_Ika
Владелец задан или задан не правильно

Автор СерьезныйЧеловекРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 3327
Последний ответ 16 Сен 2010, 09:29
от ms
Как правильно "Свернуть" базу

Автор frankРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 8681
Последний ответ 12 Дек 2011, 09:52
от frank
Как правильно ввести услугу "страховка груза" (рассчитывается процентом от указанной суммы)

Автор ElenaAlmazРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 2287
Последний ответ 28 Окт 2014, 15:26
от ElenaAlmaz
Как правильно открыть вторую форму, рассчитав там данные и вбить в первую форму?

Автор s1219257Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 101
Последний ответ 27 Ноя 2017, 21:18
от s1219257

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
alex0402
50 Сообщений
AIFrame
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 171
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal