Цикл по ТЗ. Создавать, заполнять и записывать документы по датам. Как ? #723137


#0 by raykom
ДенисЧ, неси свою очередную метлу ... Есть таблица значений со строкой вида - Дата   Номенклатура  Количество Колонка дата содержит даты, остальные - соответственно. Даты могут быть и одинаковые и различное количество одинаковых в группе. Надо идти по таблице и в начале каждой группы одинаковых дат создавать документ, а остальные строки с одноименной датой - заносить в табличную часть. Потом как то записывать, соответственно. Подкиньте код. Я вот так наговнял - все вроде отрабатывает. А вот запись документа - ни как пристроить не могу. Не пойму куда и как. Благодарю за внимание.
#0 by raykom
ДенисЧ, неси свою очередную метлу ... Есть таблица значений со строкой вида - Дата   Номенклатура  Количество Колонка дата содержит даты, остальные - соответственно. Даты могут быть и одинаковые и различное количество одинаковых в группе. Надо идти по таблице и в начале каждой группы одинаковых дат создавать документ, а остальные строки с одноименной датой - заносить в табличную часть. Потом как то записывать, соответственно. Подкиньте код. Я вот так наговнял - все вроде отрабатывает. А вот запись документа - ни как пристроить не могу. Не пойму куда и как. Благодарю за внимание.
#1 by Kalambur
если не создаем документ, все-равно его заполняем? оригинально!
#2 by kosts
Если правильно понял проблему
#3 by raykom
А где такая ситуация возникает ?
#4 by Ёпрст
Бегом за парту - каникулы школьные еще не наступили!
#5 by raykom
А последний документ как запишем ?
#6 by kosts
После цикла
#7 by raykom
Какая парта ... Час ДенисЧ с инвентарем припрется, на территорию погонит ...
#8 by raykom
Хмм ... Логично. Попробую.
#9 by kosts
Можно изменить логику. В цикле определяем начало и конец одного документа и во вложенной процедуре создаем/заполняем/записываем.
#10 by СвинТуз
из извращений выгружаем колонку дата сворачиваем идем по свернутой ищем строки в оригинале работаем с массивом строк
#11 by Злобный Фей
о_О
#12 by raykom
Не. Не катит. Первое то входение - чего записывать будем ? Еще ни чего не создавали.
#13 by raykom
Можно - только тямы не хватает - как. И нужно, по ходу. Ну, это тоже не вариант. Тоде надо кумекать, когда док создавать, а когда табличную начинать заполнять. Для меня во всяком случае - не очевидно. Шо то. шо другое - нипнимаю.
#14 by raykom
Это что за функция ?
#15 by Fish
Ну так всё просто: если ничего не создавали, то и не записываем :)
#16 by hhhh
Если Стр.Дата <>  СтараяДата Тогда         Тут записываем документ     Тут создаем новый документ КонецЕсли;
#17 by Ёпрст
#18 by raykom
Зачет. Дайте две. Если это правда )) Почти как запросом получаем группировку ) Щаз попробую.
#19 by СвинТуз
#20 by raykom
Чето конфа не понимает. {Форма.Форма.Форма(73,6)}: Процедура или функция с указанным именем не определена (СоздатьОбъект) ИТЗ= <<?>>СоздатьОбъект("ИндексированнаяТаблица"); (Проверка: Толстый клиент (обычное приложение))
#21 by МишельЛагранж
а запись где?
#22 by МишельЛагранж
это тебе семерошный код показали
#23 by МишельЛагранж
в общем, с алгоритмизацией полный п-ц...
#24 by raykom
о_О А что 8ка не может того, что может 7ка ?
#25 by raykom
))) А с чен не ПЦ ? Ну утри нос ...
#26 by СвинТуз
Исключение Сообщить("Гвозди тебе в кеды!"); КонецПопытки;
#27 by Banned
Она может. Ты не можешь. Ты даже метлу, которую тебе предлагаю, освоить не можешь...
#28 by ssh2QQ6
можно как , только не СкопироватьКолонки, а Скопировать(, "Дата") Можно таблицу во временную таблицу запроса поместить и выбрать из нее с итогами по Дата
#29 by СвинТуз
#30 by pessok
Да сделайте уже из ДЗ из ТЗ. Итоги по Дата И обход, в первой группировке создаем документ, в деталях заполняем номенклатуру
#31 by pessok
+ ДЗ из ТЗ
#32 by СвинТуз
еще!
#33 by YFedor
Можно обычным способом, т.е. циклом по строкам с использованием переменно ТекущаяДатаВТаблице, можно запрос к ТЗ с итогом по полю дата и обходом по группировкам
#34 by kosts
Самый правильный способ - в каждой строке ищем документ в БД с нужной датой, добавляем строку в документ, записываем документ, повторяем цикл.
#35 by kosts
+ Если не нашли документ, то создаем новый.
#36 by YFedor
это неправильный вариант, т.к. много лишних поисков и записей
#37 by YFedor
А кто сказал, что документов с такой датой нет в БД до выполнения операции
#38 by pessok
а если за день было два документа с одной номенклатурой?
#39 by kosts
слово "неправильный" тут не подходит. Способ правильный и работать будет. Другое дело, что возможно не очень быстрый...
#40 by kosts
Данные будут в БД и хорошо.
#41 by YFedor
Не нужно новые данные добавлять в старый документ (этого нет в задании)
#42 by YFedor
А вообще уже 40 постов о простейшей задачке
#43 by Ёпрст
Жесть какая, этот примитив в снеговике нужен что ле? :)))
#44 by kosts
Все хорошие способы разобрали...
#45 by raykom
Не присваивай чужие инициативы и прерогативы  ) . Выписка дворницкого инвентаря - это ДенисЧа поляна. Конструктиву не добавишь ? Экспериментирую. Дану на ... В цикле надо несколько документов создать и записать. А ты предлагаешь записывать один раз. В начале цикла. >ДЗ из ТЗ Это запрос к ТЗ ? Чтоли ? Какой - Чорный ? О поперло то ... :DDD Щас обзову тролем и забанят ... Дак вот с запросом то было бы понятно, только разве к ТЗ можно запрос ? Колдовство какое то
#46 by raykom
Да. А щто, есть какое то предложение по решению примитива ? ))) С мастерского плеча )))
#47 by МишельЛагранж
"только разве к ТЗ можно запрос ?" можно "Колдовство какое то" а то. "Алгоритмы" называется. это не примитив, это - построение алгоритмов. Оно от 1С не зависит ))
#48 by СвинТуз
ещЁ
#49 by МишельЛагранж
"А что 8ка не может того, что может 7ка ?" - если кратко - не реагирует на семерошные команды. Но вы экспериментируйте, экспериментируйте..
#50 by Ёпрст
ТЗ откуда хоть взял ?
#51 by raykom
>Алгоритмы ... Это курят или пиют ? Где почитать про запрос к ТЗ ?
#52 by pessok
так, стопэ. ЭТО КЛЮШКИ?
#53 by МишельЛагранж
это у него ТП, а не отдельная ТЗ.
#54 by МишельЛагранж
клюшкины ТАКИХ вопросов не задают...
#55 by raykom
ТЗ - ТаблицаЗначений или ТезЗадание ? Если про таблицу - то ТЗ - это Табличное поле на форме обработки
#56 by raykom
Неее ))) Сусанины. Это осмерка
#57 by Крошка Ру
Ещё и не такие задают, когда в восьмерке кодить пытаются. Особенно поначалу
#58 by МишельЛагранж
ВЫБРАТЬ     ТЗ.поле2 ИЗ     &ТЗ КАК ТЗ
#59 by Крошка Ру
так чем тебе вариант в не понравился?
#60 by МишельЛагранж
семерошники ПРО СЕМЕРКУ ТАКИХ вопросов не задают ))
#61 by Ёпрст
поставщиком твоего табличного поля что является ? Источник данных для него что ? Таблица значений, еще чего ?
#62 by pessok
Ну так это ИТОГИ ПО Дата");
#63 by МишельЛагранж
"то ТЗ - это Табличное поле на форме обработки" ТП и ТЗ - разные вещи.
#64 by raykom
Это будет только одн раз при запуске процедуры. Я остальные то Доки когда записывать буду ?
#65 by pessok
у табличного поля (не поля табличного документ) есть источник. Либо это табличная часть объекта, либо это таблица значений. И то и другое можно запихнуть параметров в запрос
#66 by МишельЛагранж
из ТЧ выгрузить сначала надо.
#67 by pessok
чуЖь
#68 by Ёпрст
не рабочий код
#69 by Крошка Ру
А да. Там ошибка. Должно быть
#70 by Крошка Ру
Обоснуй
#71 by Ёпрст
там помимо этого, всё неправильно.
#72 by МишельЛагранж
+ 63 хотя ТП неявно использует внутри себя некую структуру а-ля ТЗ как основу, но никто не признается.
#73 by pessok
посоны, ну это уже троллинг, расходимся :)
#74 by raykom
ТабПоле - ТипЗнаения - ТаблицаЗначений
#75 by raykom
Приехали ...
#76 by Ёпрст
в это условие влетит раньше, чем переменная Док вообшще объявляется как создать документ
#77 by МишельЛагранж
алгоритм в 17 самый правильный, его только в 8-ку нужно переписать.
#78 by pessok
я тебе написал рабочий код в обходи теперь по группировкам результат запроса как в
#79 by Крошка Ру
См.
#80 by МишельЛагранж
"ТабПоле - ТипЗнаения - ТаблицаЗначений" это откуда такие информации?
#81 by Ёпрст
Помести ТЗ в запрос, далее примитив - обходи группировки запроса и привет.
#82 by raykom
И я о том же. Только не понимаю как. Покурить про объект ИндексированнаяТаблица ? В СП есть такое ? Да пробую. Только тут вот вариантов накидали - завис ...
#83 by МишельЛагранж
ТипЗначения ТП = Тип("ТабличноеПоле")
#84 by Ёпрст
не спасёт - последний документ не запишется
#85 by МишельЛагранж
нет, заменить семерошные инструкции на восьмерошные.
#86 by raykom
>Помести ТЗ в запрос Каг ?
#87 by raykom
Где их искать ?
#88 by МишельЛагранж
из ТЗ можно отобрать все что угодно по условию безо всякого запроса ))
#89 by Ёпрст
Запрос.УстановитьПараметр("ТЗ",ТЗ);
#90 by raykom
Рука тянется к бутилке ...
#91 by pessok
#92 by Ёпрст
ктож спорит то.. запросом удобнее, мало ли, ему надо еще что-то при этом сделать :)
#93 by pessok
все, закрываемся :)
#94 by raykom
Ага.
#95 by raykom
))) Обломил сотко ...
#96 by МишельЛагранж
это ты перепутал источник данных ТП и саму ТП.
#97 by Крошка Ру
Взял и всё испортил
#98 by pessok
хоу. Сбросить = Следующий ессно
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С