Регистрация Правила Главная форума Поиск |
0
- 03.12.2016 - 14:11
|
Процедуру Печать(), следует переписать так: Начиная со строки: ТаблицаДвижений.ВыбратьСтроки(); ТаблицаДвижений.ВыбратьСтроки(); Пока ТаблицаДвижений.ПолучитьСтроку()=1 Цикл Операция = СокрЛП(ТаблицаДвижений.Операция); Поз = Найти(Операция, "Счет-фактура"); Если Поз > 0 Тогда Операция = Сред(Операция, 0, Поз - 1) + РазделительСтрок + Сред(Операция, Поз); КонецЕсли; ОперД = Операция; Если Согласован = 1 Тогда НомК = Ном; ДебетК = ТаблицаДвижений.Кредит; КредитК = ТаблицаДвижений.Дебет; Если Лев(Операция, 8) = "Передано" Тогда ОперК = "Принято" + Сред(Операция, 9); ИначеЕсли Лев(Операция, 7) = "Принято" Тогда ОперК = "Передано" + Сред(Операция, 8); ИначеЕсли Лев(Операция, 7) = "Продажа" Тогда ОперК = "Приход" + Сред(Операция, 8); ИначеЕсли Лев(Операция, 6) = "Приход" Тогда ОперК = "Продажа" + Сред(Операция, 7); Иначе ОперК = Операция; КонецЕсли; КонецЕсли; Таб.ВывестиСекцию("Строка"); Ном = Ном + 1; КонецЦикла; //- Иначе - в печатную форму, в режиме Согласован=0, не выводятся данные поля "Наименование операции, документы". - Разработчик 1С небрежно правил алгоритм и нарушил логику при внесении изменений. - примите к сведению. | | |
1
- 03.12.2016 - 15:33
|
0-perpetum > Добавлю. В релизе обновленный отчет АктСверки получил дополнительный флажок "ВыводитьСчетаФактуры", при этом цикл заполнения выборки документов неоптимален: - для режимов ВыводитьСчетаФактуры=1 и ВыводитьСчетаФактуры=0 - приходится всякий раз заполнять таблицу движений, что при значительном объеме выборки требует значительного времени. Предлагаю для оптимизации - найти условие Если ВыводитьСчетаФактуры = 1 Тогда и закомментировать так: //Если ВыводитьСчетаФактуры = 1 Тогда Здесь заполняется таблица движений - ничего не закомментируем. //КонецЕсли - тогда в таблице движений будет всегда присутствовать строка с дополнением по Счет-фактуре. А в модуле Печать()/уже модифицированного документа по 0-perpetum >/, вместо: Если Поз > 0 Тогда Операция = Сред(Операция, 0, Поз - 1) + РазделительСтрок + Сред(Операция, Поз); КонецЕсли; исправляем на: Если Поз > 0 Тогда Если ВыводитьСчетаФактуры=1 Тогда Операция = Сред(Операция, 0, Поз - 1) + РазделительСтрок + Сред(Операция, Поз); Иначе Операция = Сред(Операция, 0, Поз - 1); КонецЕсли; КонецЕсли; Тогда при печати, можно выводить в печатную форму акта сверки по значению флажка: ВыводитьСчетаФактуры=1 - вывод со счет-фактурой, или ВыводитьСчетаФактуры=0 - вывод без счет-фактуры, без повторного заполнения таблицы движений. | | |
2
- 03.12.2016 - 16:17
| 0-perpetum > сразу заметила :( но если ставить галку "согласовано", то печатает нормально обе половины... некоторым вернула старый, некоторые потерпят до исправления... | | |
3
- 04.12.2016 - 02:49
| Кто-то в 1С очень осерчал на акты сверки - они их, в итоге, сломали во всех бухгалтериях. В БП3.0 обещали исправить в релизе 3.0.45... | | |
4
- 04.12.2016 - 03:25
|
Мои давно не пользуются типовым актом, в нем слишком много тупого дубака. Юзают мои переделки внешние. У многих автомат стоит (в начале года добавляет распечатанные акты к накладным), почти у всех есть авторассылка актов ... Так что, (3) - это хорошая новость из серии "тогда мы идем к вам" и вы узнаете что такое автоматизация, чего стоят типовые от 1С и что работа в 1С превращается отдых, если отказаться от типового функционала в мою пользу ... | | |
5
- 04.12.2016 - 06:01
|
Кому надо, выложил rar-архив исправленного Акта Сверки с расшифровкой печатной формы по строкам документов. Пакет доступен по ссылке: http://disk.tom.ru/tj3kqe3 | | |
6
- 04.12.2016 - 12:42
| у мну акты сверки печататся из торгбазы, поэтому всякие ошибки чужие - пофиг, своих хватает.. ;-) | | |
7
- 08.12.2016 - 01:35
| 1-perpetum > Предполагается, что пользователь может в таблице отредактировать вид операции вручную после её заполнения. Поэтому писать туда лишнюю информацию про счета-фактуры, если она не нужна, не комильфо. Так что тут оставим как есть. | | |
8
- 08.12.2016 - 01:52
|
0-perpetum > А вот косяк похуже: выданные счета-фактуры на аванс могут выписываться на основании документа "Выписка". И если на основании выписки, в которой есть оплата по нужному клиенту, выписан авансовый счет-фактура по другому клиенту, то этот СФ попадёт в чужой акт сверки. Для правки надо перед поиском СФ вставить проверку на вид документа-основания. Ну и ещё немножко: СФ может быть выставлен в течение 5 дней от отгрузки, а подчиненные документы выбираются строго за период отгрузки. Так что часть СФ может пролетать мимо акта сверки. И ещё мелочь: по каждому документу делается открытие выборки ВыбратьПодчиненныеДокументы() не зависимо от значения флажка "ВыводитьСчетаФактуры". Зачем? Ведь это не самая быстрая выборка, почему не убрать её в условие? Чёто как-то многовато косяков и косячков на 10 добавленных строчек кода. Удручающе. | | |
9
- 08.12.2016 - 01:55
| Для справочника "КлассификаторТНВЭД" форму списка забыли сделать - некрасиво... | | |
10
- 08.12.2016 - 01:59
| Ну и вангую - новая реготчетность не будет работать на конфигурациях ранее 625 из-за новой константы "КодОКВЭД2". | | |
11
- 08.12.2016 - 08:11
| Цитата:
- Не всё так плохо, как кажется! :-) - Действительно, этот "спец" из 1С не потрудился проверить логику в части обработки подчинённых документов. Мало того, что ОН в цикле ввёл создание подчиненного документа и получить пустое значение Документа, так он не отфильтровал подчиненные документы по Контрагенту - (ПодчДок.Контрагент=Контрагент) в запросе Акта сверки и по Опер.Сумма - (ПодчДок.Итог("Всего")=Опер.Сумма), в случае многострочного документа Выписка... Потребовалось ввести незначительное изменение кода и всё пошло на ять. Кстати, по поводу якобы дополнительно большого объёма выборки по подчинённым документам - неверное утверждение... - проверка замером производительности под отладчиком, показала, что выборка по подчинённым документам, с уже отлаженным мной кодом, составила всего 2% времени от общего времени заполнения АктаСверки. Прикладываю ссылку на архив исправленного отчета АктСверки: Пакет доступен по ссылке: http://disk.tom.ru/f2pwaw1 - кому нужно - качайте, смотрите. | | |
12
- 10.12.2016 - 22:26
| 12-perpetum > Помниться под SQL ВыбратьПодчиненныеДокументы() один из самых тормозных операторов, а уж если период не указан, то вдвойне. В любом случае, писать ВыбратьПодчиненныеДокументы(); условие; ПолучитьДокумент() - вообще не айс. | | |
13
- 10.12.2016 - 23:32
| Цитата:
- Чтобы не быть голословным, посмотрите замер производительности под отладчиком сами... - У меня весь модуль выборки и анализа подчиненных документов в цикле - не превысил 2% времени от общего времени заполнения АктаСверки. - Конечно, я провёл некоторую оптимизацию и такие затратные операторы, как создать "Документ" и получить пустое значение "Документ" - вывел за пределы циклов акта сверки, иначе добавилось бы ещё 2%. Поэтому результат получился неплохим.- Такой задержкой можно пренебречь. Кстати, в период выборки по подчинённым документам, таки, добавил ваше предложение - дополнительные 5 дней к верхней дате выборки. - И вообще - спасибо, что не прошли мимо - ваше сообщение было важным! :-) | | |
14
- 12.12.2016 - 19:15
|
Про ВыбратьПодчиненныеДокументы() под SQL можно погуглить "30.12.9999". Я бурчал больше про то, что открывать выборку, а перебор загонять под условие - моветон. Режет глаз у любого программиста, жаль что не у писателя типовой. Про "2% после оптимизации" - напомнило школьную задачку про арбуз, усохший до 98% воды. Ведь можно так наоптимизровать, что функция, занимавшая 50% времени, станет отнимать всего 2%. Для этого надо замедлить скорость формирования оставшейся части отчета в ~25 раз:-) | | |
15
- 12.12.2016 - 21:21
| Цитата:
Про проблему выбора подчинённых документов, связанную с интерпретацией нижней и верхней дат выборки в SQL - почитал, но к нашей теме - для базы типовой эта проблема никак не относится. Такая же проблема имеет место быть и в запросах по OLE, однако, всё решается просто установкой непустых дат. Теперь по существу. Приведите, пожалуйста, пример запроса для типовой - не под SQL - и чтобы выборка подчиненных документов, с условиями отбора "не резала глаз" любого программиста. - Приму к сведению - правда - учусь, учусь, да не в коня овёс...! :-) - Не было надобности, обходился простыми вещами, потому и не знаю иных дорог. - Да и было бы интересно сравнить производительность в Запросе и в Переборе по подчиненным документам выборки. | | |
16
- 13.12.2016 - 00:01
|
15-perpetum > Пивоваров Иван - погоняло, суть "человек под вымышленным именем". Так у нас в интернате называл себя каждый, когда ночнушка зашухерит на девчачьем этаже. А Харлампий Дымба - настоящее имя. Что режет глаз: Док.ВыбратьПодчинененныеДокументы(); Если ВыводитьСФ=1 Тогда Пока Док.ПолучитьДокументы()=1 Цикл Что не режет глаз: Если ВыводитьСФ=1 Тогда Док.ВыбратьПодчинененныеДокументы(); Пока Док.ПолучитьДокументы()=1 Цикл Претензии были к конструкции: открыли выборку, посмотрели нужна ли она нам, начали перебор. А надо сначала посмотреть нужна ли нам выборка, а потом уже открывать. Всё. У типовой конфигурации проблемы с актом сверки нет, так как период в выборке указан. Но достаточно других мест, где период не указан. Достаточно сделать глобальный поиск по "ВыбратьПодчиненныеДокументы". Когда-то давно в комплексной базе под SQL я поимел кучу проблем из-за операции с пустой датой, с тех пор тупо ограничиваю период и сплю спокойно. Можно я больше не буду на тему подчиненных документов рассуждать и скорости замерять? А то у меня тут интересная опа образовалась в ЗИКе, требует пристального внимания. | | |
17
- 13.12.2016 - 00:19
| 16-Харлампий Дымба > ОК, спасибо! :-) | | |
18
- 16.12.2016 - 12:04
| Аналогичная ошибка и в упрощенке :( | | |
19
- 16.12.2016 - 12:07
| А выложенный акт в упрощенке не работает :( | | |
20
- 16.12.2016 - 12:40
| - Ага - там АктСверки, вероятно, писал другой чел, со своими заморочками - но идея - та же. Сейчас выложу АктСверки для упрощёнки. Ну вот: Пакет доступен по ссылке: http://disk.tom.ru/q1ewbzk | | |
21
- 17.12.2016 - 20:50
|
Спасибо, мил человеК :) Только, пожалуйста, на будущее, архивы не называй кириллицей :) | | |
22
- 27.12.2016 - 16:20
| Кой-чего подправили в 626. Выборку убрали под условие) Исправили ошибку пустой строки, если галка "Согласовано" не стоит. До "Выписки" и авансовых СФ пока не добрались. | | |
23
- 27.12.2016 - 20:15
|
22-Харлампий Дымба > - Спасибо, пока ещё не скачивал. Но у себя нашёл ошибку и сделал поправку. В случае, когда по выписке, по одному и тому же контрагенту есть несколько авансовых сч-фактур на одинаковую сумму, выбиралась только первая сч-фактура в выборке подчиненных документов, остальные из списка подчиненных пропадали. Для исправления ситуации,- ввёл список значений, в котором стал фиксировать обрабатываемую сч-фактуру и если она уже отработана, то теперь - проверкой в списке значений - обработанная сч-фактура исключается. Таким образом, ошибка дублирования ссылки на одну и ту же сч-фактуру, с одинаковой суммой, исключена, все фактуры с одинаковыми суммами попадают в АктСверки, как отдельные операции, с авансовым сч-фактурой и ссылкой на одну и ту же выписку. По просьбе пользователей АктаСверки, сохранил АктСверки для ОСН и УСН в поименованный латиницей файл rar-архив. AktSverky_OSN_USN.rar. - Кому надо - скачивайте. | | |
24
- 27.12.2016 - 20:46
| СПАСИБО!!! | | |
25
- 28.12.2016 - 12:39
| Спасибо за разбор ошибки! | | |
26
- 28.12.2016 - 19:14
|
В связи с выходом Бухгалтерий 7.7 - ОСН, Релиз 626; - УСН, Релиз 268, выложил обновления по отчету АктСверки. Скачивайте файл: AktSverky__OSN_626__USN_268.rar | | |
27
- 03.01.2017 - 22:10
| Большое спасибо! | |
| Интернет-форум Краснодарского края и Краснодара |