Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

Как перебрать ТЧ документов

Julia13
читатель
офлайн
Дата регистрации: 22.03.2010
Сообщений: 29
Пост №1
 
06.04.2010 14:23

"Задача из ТЗ я перебираю все док.(допустим около 5-ти) перебрала реквизиты, а теперь мне надо из 5 док. сделать один. Подскажите как перебрать ТЧ док. и их записать в один док?<br><br>Процедура КнопкаВыполнитьНажатие(Кнопка)<br> <br> НовыйДок = Документы.ВозвратТоваровПоставщику.СоздатьДокумент();<br> <br> л_пр_док = """";<br> <br> Для каждого СтрокаТП Из ТабличноеПоле Цикл<br> Если (л_пр_док <> """") Тогда<br> Если (СтрокаТП.Документ.Организация = л_пр_док.Организация)<br> И (СтрокаТП.Документ.Контрагент = л_пр_док.Контрагент)<br> И (СтрокаТП.Документ.ДоговорКонтрагента = л_пр_док.ДоговорКонтрагента)<br> И (СтрокаТП.Документ.Склад = л_пр_док.Склад)<br> Тогда<br> //Шапка <br> НовыйДок.Дата = ТекущаяДата();<br> НовыйДок.УстановитьНовыйНомер();<br> НовыйДок.Организация = СтрокаТП.Документ.Организация;<br> НовыйДок.Контрагент = СтрокаТП.Документ.Контрагент;<br> НовыйДок.Склад = СтрокаТП.Документ.Склад; <br> НовыйДок.Сделка = """";<br> ОтражатьВУправленческомУчете = Истина;<br> ОтражатьВБухгалтерскомУчете = Истина;<br> ОтражатьВНалоговомУчете = Истина;<br> АктивацияЗаказа = Ложь;<br> <br> КонецЕсли;<br> КонецЕсли;<br> <br> КонецЦикла;<br> <br> <br>КонецПроцедуры<br>"

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №2
 
06.04.2010 14:53

А если у вас в таблице только один документ - когда будет заполнена Шапка нового?

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №3
 
06.04.2010 14:55

И как понимать фразу <br>> перебрала реквизиты<br>Что будет если из 5-ти документов у одного будет другой Склад?

Julia13
читатель
офлайн
Дата регистрации: 22.03.2010
Сообщений: 29
Пост №4
 
06.04.2010 14:56

Моя задача из мн-во док. одного типа сделать один. В итоге буду т браться несколько док.

Julia13
читатель
офлайн
Дата регистрации: 22.03.2010
Сообщений: 29
Пост №5
 
06.04.2010 14:59

Мне же надо из нескольких документов с одинаковыми реквизитами сделать один и ТЧ объединить.

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №6
 
06.04.2010 15:25

"В вашем коде много логических ошибок. Поэтому напишу по своему и сокращенно:<br>1. Обязательна сортировка по ключевым полям Контрагент, ДоговорКонтрагента, Организация, Склад<br>2. Не знаю, что у вас за документы в ТабличноеПоле и какие есть поля (и какая конфигурация), поэтому еще 2 условия: Должно быть поле Ссылка (ссылка на документ) и у документа должна быть табличная часть Товары.<br><br>НовыйДок = Неопределено;<br>Для каждого СтрокаТП Из ТабличноеПоле Цикл<br> Если НовыйДок = Неопределено Тогда<br> НовыйДок = Документы.ВозвратТоваровПоставщику.СоздатьДокумент(); //Первый документ<br> <Заполнить шапку документа><br> Иначе<br> Если Не (<Проверка ключевых полей на равенство>) Тогда<br>      НовыйДок.Записать(); //Записать сформированный документ<br>      НовыйДок = Документы.ВозвратТоваровПоставщику.СоздатьДокумент(); //И создать новый<br>      <Заполнить шапку документа><br> КонецЕсли;<br> КонецЕсли;<br> Для Каждого Стр Из СтрокаТП.Ссылка.Товары Цикл<br> нСтр = НовыйДок.Товары.Добавить();<br> ЗаполнитьЗначенияСвойств (нСтр, Стр);<br> <Возможно дозаполнить еще что-то><br> КонецЦикла;<br>КонецЦикла;<br>Если НовыйДок <> Неопределено Тогда<br> НовыйДок.Записать(); //Записать сформированный документ<br>КонецЕсли;"

Julia13
читатель
офлайн
Дата регистрации: 22.03.2010
Сообщений: 29
Пост №7
 
06.04.2010 15:38

Опишу мою задачу.<br>В УТ есть док. ВозвратТовараПоставщику. Надо из мн-во док.ВозвратТовараПоставщику создать один. При этом должно быть соответствие при выборе док. в ТабличноеПоле по реквизитам шапки. А вот на счет ТЧ он должен выбрать из каждого док. и объеденить в один.

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №8
 
06.04.2010 15:55

Julia13, что непонятного в ответе BelikovS-а? Или написанное противоречит условиям вашей задачи?

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №9
 
06.04.2010 16:08

"А вы программист?<br>Кстати, при такой постановке, я бы задал еще такой вопрос: Будет ли документ проводиться? Если да, то что с теми документами, из которых черпались данные (они проведены или как)?<br><br>В общем если дописать условие и вместо <Заполнить шапку документа><br>ЗаполнитьЗначенияСвойств (НовыйДок, СтрокаТП.Ссылка)<br>НовыйДок.Дата = ТекущаяДата();<br>НовыйДок.УстановитьНовыйНомер();<br><br>Код станет рабочим.<br>Да, я заметил, что ссылка на документ у вас есть - колонка Документ. Тогда надо мою "Ссылка" заменить на ваш "Документ"<br><br>p.s.: Хорошее число 13, а вы ему соответствуете? :)"

Julia13
читатель
офлайн
Дата регистрации: 22.03.2010
Сообщений: 29
Пост №10
 
06.04.2010 16:11

Я сравнила реквизиты шапки.<br>Потом завожу новый цикл заполнения шапки.<br>Потом надо заполнить ТЧ.<br>Из которых черпаю инфу я их помечу на удаление.<br>Я учусь кодить на 1с

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация