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

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

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

Оффлайн John_Connor

  • **
  • Сообщений: 82
  • РЕПУТАЦИЯ: 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

  • Администратор
  • *****
  • Сообщений: 1348
  • РЕПУТАЦИЯ: 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

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

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

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

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


Теги:
 

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

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

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

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

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

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

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

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

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

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

Ответов: 5
Просмотров: 289
Последний ответ 01 Май 2018, 11:13
от Fapalz

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
170 Сообщений
alex0402
74 Сообщений
oleg-x
67 Сообщений
AIFrame AIFrame
60 Сообщений
buketov.av buketov.av
47 Сообщений
wise wise
39 Сообщений
ilyay ilyay
39 Сообщений
Анюта17
33 Сообщений
KOI8-R
32 Сообщений
Alter
30 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal