Исправление и проведение документов

Публикация № 144469

Разработка - Практика программирования

Исправление и проведение документов, например, счетов-фактур, введенных на основании документов реализации, можно организовать многими способами. Описан сравнительно простой подход, реализованный и работающий несколько лет в реальной бухгалтерии 1Cv7.7. Без внешних компонентов.

В конфигурации ПУБ 1Cv7.7 возникла следующая задача. Ежедневно выписываются "автоматом" по полученным заявкам от покупателей порядка 200 накладных реализации и к ним столько же счетов фактур. После доставки продукции покупателям оператор ручками корректирует некоторые накладные в базе.

Поставили задачу: при изменении документов реализации надо автоматом менять и подчиненный счет-фактуру. Сравнительно простое решение без ВК заключается в небольшой модификации модуля формы Счета-фактуры:

//********************************************

// Предопределенная процедура Счета-фактуры

Процедура ПриОткрытии()

Парам = Форма.Параметр;

...

//2012

Если Парам = "Переоформить" Тогда

ЗаполнитьШапку();

ЗаполнитьТабЧасть();

Записать();

СтатусВозврата(0);

КонецЕсли;

//2012  

...

КонецПроцедуры // ПриОткрытии

Допишем в модуль формы документа Реализации новую процедуру:

//2012

//********************************************

// Предопределенная процедура Реализации

Процедура ПриЗакрытии()

Если ДатаДок<=Константа.ДатаЗапретаРедактирования Тогда

Возврат;

КонецЕсли;

ПриЗаписи();

Если СтатусВозврата()=0 Тогда

Возврат;

КонецЕсли;

//изменить Счет-Фактуру

докСФ = СоздатьОбъект("Документ.СчетФактура");

докСФ.ВыбратьДокументы(ДатаДок,ДатаДок); 

Пока докСФ.ПолучитьДокумент()=1 Цикл

Если докСФ.ДокументОснование=ТекущийДокумент() Тогда

СФ=докСФ.ТекущийДокумент();

ДокСФ.СделатьНепроведенным();

ДокСФ.УдалитьСтроки();

Параметр = "Переоформить";

ОткрытьФорму(докСФ.ТекущийДокумент(), Параметр);

Прервать;

КонецЕсли;

КонецЦикла;

докСФ = СоздатьОбъект("Документ.СчетФактура");

докСФ.НайтиДокумент(СФ);

Если докСФ.Выбран()=1 Тогда

докСФ.Комментарий = "Изменен: " + Пользователь;

докСФ.Записать();

Если Проведен()=1 Тогда

докСФ.Провести();

КонецЕсли;

КонецЕсли;

КонецПроцедуры //ПриЗакрытии

//2012

Теперь при изменении и закрытии документа Реализация автоматом корректируется и счет фактура. Если реализация проведена, проводится и счет-фактура. Использованные комментарии вида //2012 в начале и конце добавленных строк позволяют удобно отследить внесенные изменения при обновлении конфигурации. Представляется, что решение можно использовать и в Бухгалтерии, изменив строки заполнения шапки и табл.части в счете-фактуре.

И напоследок, модуль обработки группового исправления и проведения счетов-фактур

//*******************************************

Функция ПроверкаПериода()

Если ПустоеЗначение(Дата1) = 1 Тогда

Предупреждение("Не указана дата начала периода отчета!");

Возврат 0;

КонецЕсли;

Если Дата1 > Дата2 Тогда Предупреждение("Неправильно задан период отчета!"+РазделительСтрок+ "Дата начала больше даты окончания периода.");

Возврат 0;

КонецЕсли;

Возврат 1;

КонецФункции //ПроверкаПериода

//*******************************************

// Сформировать()

Процедура Сформировать()

Если ПроверкаПериода()=0 Тогда

Возврат;

ИначеЕсли Дата1<Константа.ДатаЗапретаРедактирования Тогда

Предупреждение("Нельзя проводить документы ранее даты запрета редактирования!");

Возврат;

КонецЕсли;

ВремяНачала = _GetPerformanceCounter();

докСФ = СоздатьОбъект("Документ.СчетФактура");

докСФ.ВыбратьДокументы(Дата1,Дата2); 

Пока докСФ.ПолучитьДокумент()=1 Цикл

Если докСФ.ДокументОснование.Вид()="РеализацияПродукции" Тогда

Если (докСФ.Проведен()=1) и (ПроводитьТолькоНепроведенные=1) Тогда

Продолжить;

КонецЕсли;

ДокСФ.СделатьНепроведенным();

ДокСФ.УдалитьСтроки();

Параметр = "Переоформить";

ОткрытьФорму(докСФ.ТекущийДокумент(), Параметр);

Если докСФ.ДокументОснование.Проведен()=1 Тогда

ДокСФ.Провести();

КонецЕсли;

КонецЕсли;

КонецЦикла;

Сообщить("Документы проведены. Время: " + Сокрл(Формат((_GetPerformanceCounter() - ВремяНачала)/1000, "Ч12.1")) + " сек."); КонецПроцедуры //Сформировать

//*******************************************

Дата1 = ТекущаяДата()-1;

Дата2 = ТекущаяДата()-1;

 

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
0. BorisBelov 886 20.07.12 21:04 Сейчас в теме
Исправление и проведение документов, например, счетов-фактур, введенных на основании документов реализации, можно организовать многими способами. Описан сравнительно простой подход, реализованный и работающий несколько лет в реальной бухгалтерии 1Cv7.7. Без внешних компонентов.

Перейти к публикации

1. vladimir_makarov 106 27.07.12 01:50 Сейчас в теме
Я "-" никогда не ставлю. По принципу: "-" ставят только те, кто хочет НАср... НАвред... человеку-автору. Я придерживаюсь другого: видишь ошибку (в нормальной теме) - подскажи человеку. А всякие У... начинают демагогию на форумах разводить.
Но, откровенно, я бы эту задачу решил так:
1. Выбрать счета-фактуры за период //отрываем цикл
2. ишем Владельца (по документу-основанию), если Владелец есть:
1. сравниваем суммы, если находим разницу, перезаполняем на основании док-Владельца// в комментарий прописываем, что Сч-Ф переписан так то и так то.
2. иначе - Сч-ф не трогаем
Если владельца нет -ничего не делаем.
ВСЁ! Нечего тут мудрить!
И вопрос: а если эти, "неправильные" Сч-Ф уже напечатаны и подписаны, как тогда? Ответ прост: такую бухию надо гнать коров пасти, а не задачи программерам ставить! Я бы мог понять задачу предотвращения подобного (опять же, следует из НЕпрофессионализма бухии), но ни как не исправления ИХНИХ ляпсусов руками программера: ты перепишешь, по проге всё ОК!, они получат премию. Придёт время составлять Акты сверки взаиморасчётов, платить налоги... Так эти бухи и заявят: а это программер натворил!!! Не ведись на поводу!!!
Иваныч; +1 Ответить
3. BorisBelov 886 27.07.12 23:33 Сейчас в теме
(1) Ваша схема решения описана в обработке!
Если накладная и счет идентичны - ничего в счете-фактуре и не поменяется!

Пометка в комментирии - совет дельный. Следует показать автора изменений.

Программист не ведет бухгалтерию, не создает документы реализации , счета и прочие документы! Он облегчает работу бухгалтера. Все делает бухгалтер! Он и отвечает за результат и получает премию!
Думаю, наши бухгалтеры меняют накладные и счета фактуры, если что-то из продукции покупатель не взял, вычеркнул. Документы перепечатывают и на следующий день увозят покупателю новый комплект документов. Может быть это и не совсем правильно в отношении счетов-фактур, есть ведь корретировочные счета фактуры...

Я не предлагаю методику работы бухгалтерии, я описал как можно исправив накладную АВТОМАТОМ исправить и счет-фактуру!
2. mike581 27.07.12 09:12 Сейчас в теме
Существующую счет фактуру нужно удалить непосредственно, а вдруг в расходной клиента или фирму поменяли. И конечно обязательно нужно оставлять "следы " замены счет-фактуры.
4. BorisBelov 886 27.07.12 23:36 Сейчас в теме
(2) Вместо 10 буханок хлеба по накладной покупатель взял только 5. Документы (накладная и счет-фактура) переписываются и вновь отправляются покупателю на следующий день с новыми накладными.
Работу бухгалтера по исправлению я облегчил!
5. mike581 28.07.12 11:04 Сейчас в теме
А если 5 буханок хлеба купила жена покупателя?
Нужно не переписывать табличную часть а удалять старые и создавать новые. Естественно с сохранением номера и даты. Таким образом можно избежать несоответствия шапки накладных и счетов-фактур.
6. BorisBelov 886 28.07.12 11:49 Сейчас в теме
(5) Невнимательно смотрите текст.
В счет-фактуре есть две строки: ЗаполнитьШапку() и ЗаполнитьТабЧасть()!
7. BorisBelov 886 28.07.12 11:54 Сейчас в теме
(5) Кстати, как Вам удается "удалять старые и создавать новые" счета фактуры когда в сети работают 6-8 пользователей?
И главное, какой смысл в "УДАЛЕНИИ" и "СОЗДАНИИ НОВОГО" как Вы пишете "естественно с сохранением даты и номера"?
8. Necytij 04.08.12 10:28 Сейчас в теме
1. Мм, я бы ПриОткрытии С/ф повесил бы хотя бы уведомление, а лучше вопрос человеку - данные отличаются, перезаполнить с/ф?
2. Интересен также момент, что приЗакрытии вызывает ПриЗаписи... как бы предопределенная процедура опять же. Это же не красиво.
3. Я бы тогда сделал так (как любитель всяких удобных бантиков) кнопочка на реализации Переоформить(или при триггером при записи накладной, при котором выясняется, что с/ф отличается от реализации). Кнопочка перезаполняет с/ф и печатает новые варианты накладной и с/ф... ну и по поводу "комментарий", имхо, лучше завести другой реквизит, недоступный для интерактивного изменения (комментарий - любой пользователь может тут же зайти в документ заново и стереть). Тогда уже только по журналу регистрации искать...
9. BorisBelov 886 04.08.12 17:59 Сейчас в теме
(8) 1. Дать выбор "перезаполнить/не перезаполнять" - обязательно будет расхождение между счетами фактурами и накладными. Одинаковость - наша цель!
2. "красиво/не красиво"... Градаций оценок может быть очень много, спасибо, что остановились на нейтральной. Работает!
3. Нет предела совершенству! Можно сделать все, что Вы рекомендуете. Описал простой подход, а не "совершенный". Можно добавить права пользователей, Отдельный файл изменений и проч. и проч. В нашей бухгалтерии этого не потребовалось!
Оставьте свое сообщение

См. также

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

.Net в 1С. На примере использования HTTPClient, AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования WEB

Часто приходится парсить сайты, в том числе с авторизацией, перескакивая со страницы на страницу по ссылкам. Тот, кто занимался вэб программированием, знает, как удобно использовать JQuery и CSS селекторы. На .Net написана очень удобная библиотека AngleSharp. Я покажу, как с её помощью можно значительно облегчить себе труд.

10.03.2016    50699    Serginio    33       

.Net в 1С. Асинхронные HTTP запросы, отправка Post нескольких файлов multipart/form-data, сжатие трафика с использованием gzip, deflate, удобный парсинг сайтов и т.д.

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Разработка внешних компонент WEB

Очень часто нужно при работе с HTTP сервисами или сайтами использовать Асинхронные HTTP запросы, отправку на сервер нескольких файлов, использование сжатия трафика. Эта статья про то, как этого легко добиться.

09.03.2016    27627    Serginio    22       

PgConf.Russia 2020. 3-5 февраля 2020 г. Москва. Промо

PGConf.Russia – международная техническая конференция по открытой СУБД PostgreSQL, ежегодно собирающая более 700 разработчиков, администраторов баз данных и IT-менеджеров для обмена опытом и профессионального общения. Для участников сообщества infostart.ru скидка 5% на участие в конференции.

от 12350 рублей

Использование классов .Net в 1С для новичков

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Разработка внешних компонент Универсальные функции

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    66242    Serginio    104       

Хитрости сохранения табличного документа в Excel для дальнейшей работы с ним

Статья Программист Нет файла v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Загрузка и выгрузка в Excel Практика программирования

Все пользователи 1С всех версий (начиная с 7-й) сталкиваются с проблемой нормальной работы с данными, сохраненными в Excel файл. Есть некоторые хитрости, которые позволяют облегчить работу с сохраненными данными из 1С в формат Excel.

16.01.2015    76093    shmellevich    35       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500

Сдача регламентированной отчетности из программ 1С Промо

Сдача регламентированной отчетности из программ "1С" во все контролирующие органы без выгрузок и загрузок в другие программы. Для групп компаний действуют специальные предложения.

от 1500 руб.

Скрытие помеченных на удаление в справочнике

Статья Программист Нет файла v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Бесплатно (free) Практика программирования

Корректно скрываем помеченных на удаление в справочнике, с иерархией и без. Вроде простая и нужная вещь, но почему-то нигде не встречалась

08.08.2012    12035    mikukrnet    7       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.12.х и УТ 11.4.11.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

Ввод остатков по 76.ВА в 1С ПУБ

Статья Программист Нет файла v77::ОУ v77::БУ 1С7:ПУБ Россия БУ Бесплатно (free) Практика программирования

Статья посвящена найденному мной недостатку в конфигурации 1С 7.7 "Производство-услуги-бухгалтерия", связанному с вводом начальных остатков по 76.ВА.

29.04.2012    8583    Пользователь 1С    0       

Обновление базы 1с 7.7. с помощью движка 1с 8.х

Статья Системный администратор Программист Нет файла v7.7 1cv7.md Россия Бесплатно (free) Практика программирования Администрирование данных 1С

Если Вас угораздило в стандартную типовую конфу внести правки, причем в самый большой модуль, а именно глобальный. Если к тому же Вы внесли изменение в какую-то стандартную функцию, в которой 1с сама регулярно чего-то меняет, то любое обновление начинает доставать. Используя возможности движка платформы 1с 8.х можно существенно сэкономить себе время и нервы.

28.04.2012    16758    Valerich    31       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Ошибка при формировании отчета Авансы по налогу на имущество. В 1С:Предприятие 7.7. Регламентированная отчетность за I квартал 2012 года Обновление 12q1009 от 18.04.2012 г.

Статья Программист Нет файла v77::ОУ v77::БУ 1cv7.md Россия Бесплатно (free) Практика программирования

При формировании отчета NIMAVP1.ERT Авансы по налогу на имущество (версия 5.03) в разделе № 1-3 не сохраняет номера Страниц при выборе, что ведет к не сохранению и выводу печати двухмерного кода.

24.04.2012    7877    leo072    7       

Ошибка при формировании отчета 4-ФСС для УСН 7,7 12q1007

Статья Программист Нет файла v77::БУ 1С7:Бух Россия НУ Бесплатно (free) Практика программирования

При формировании таблицы 6,7 раздела 2 возникает ошибка ИтАн.ИспользоватьСубконто(ВидыСубконто.ВидыПлатежейВФонды, Перечисление.ВидыПлатежей.Штраф); {C:\PROGRAM FILES\1CV77\SSTDEMO\EXTFORMS\RP12Q1.GRP\FSS4_1212.ERT(2330)}: Поле агрегатного объекта не обнаружено (ВидыПлатежейВФонды)

11.04.2012    9824    *Zed*    1       

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо

Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.

7500 рублей

v77. Робот

Инструменты и обработки no Внешняя обработка (ert,epf) v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

Исполнитель Робот. Учебное пособие по программированию для детей дошкольного возраста. Без внешних компонент.

09.04.2012    10864    54    item    18       

Запуск внешней обработки по расписанию v7.7

Статья Программист Нет файла v7.7 1cv7.md Россия Windows Бесплатно (free) Практика программирования Администрирование данных 1С

Неоднократно возникали задачи организовать, например ежедневную выгрузку и отправку отчетов по эл.почте, и вот…

20.03.2012    41091    Yury1001    17       

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 рублей

v77. Закладки в многоуровневом справочнике аля Total Commander

Инструменты и обработки Программист Конфигурация (md, cf) v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

В больших многоуровневых справочниках можно ускорить доступ пользователю к наиболее популярным группам.

09.03.2012    9520    44    item    17       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

ЗиК 321, в отчетах пропадает проводка по ПФР_страховая

Статья Программист Нет файла v77::ОУ v77::Расчет 1С7:ЗиК Россия ФОМС, ПФ, ФСС Бесплатно (free) Практика программирования

При формировании отчета "Свод проводок" с галкой "Учет начисления налогов с ФОТ, включаемых в состав расходов" в отчет не выходит ПФР_страх

10.02.2012    5416    filh    19       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.

6500 рублей

Ошибка в 1С:Бух77 ред.533 Начисление ФФОМС при ЕНВД

Статья Программист Нет файла v77::БУ 1С7:Бух Россия Зарплата Бесплатно (free) Практика программирования

При начислении налогов с ФОТ (док.ЗакрытиеМесяца) не расчитываются налоги ФФОМС, если начисление зарплаты проводится как "облагаемые ЕНВД".

22.01.2012    8680    lelbraun    3       

Открыто голосование за доклады на INFOSTART MEETUP Krasnodar Промо

Выбирайте и голосуйте за самые интересные доклады, лучшие из них попадут в окончательную программу митапа. Голосование продлится до 30 января 2020 года.

Как уменьшить количество заблокированных объектов

Статья Программист Нет файла v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

История о том как я решил пересобрать форму справочника клиентов и чем это все закончилось...

12.01.2012    14000    ShEvOvIcH    18       

Медленное формирование отчета в ФСС. Ошибка в алгоритме файл: ESN_GET.ERT

Статья Системный администратор Программист Нет файла v77::БУ 1С7:Бух Россия Бесплатно (free) Практика программирования

Достаточно старая ошибка 1С (исправляю уже пару лет) в файле ESN_GET.ERT (1С7.7 бухгалтерский учет). Проявляется в том, что очень медленно формируются регламентные отчеты в фонды ФСС и ПФР, если в типовой бухгалтерии ведётся начисление зарплаты сотрудникам и количество сотрудников превышает определённое количество (в моём примере 90, но замедление скорости видно и на 20)

11.01.2012    6034    Digo65    2       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Ошибка в обработке "ПодборЗатратПоУслугам" в типовой Бухгалтерии для бюджетных учреждений 6.2 (647)

Статья Программист Нет файла v77::БУ 1С7:ББУ Государственные, бюджетные структуры Россия Бесплатно (free) Практика программирования

В текущем на момент публикации релизе 647 конфигурации "Бухгалтерия для бюджетных учреждений 6.2" при заполнении документа "Списание затрат по услугам" наблюдается следующая ошибка: в режиме заполнения (F5) невозможно выбрать значение субконто, если тип субконто - подчиненный справочник.

30.12.2011    8991    demon_infernal    1       

Функция проверки валидности e-mail с использованием регулярных выражений RegExp (7.7)

Статья Программист Нет файла openconf v77::БУ 1cv7.md Россия Бесплатно (free) Практика программирования

Функция проверки валидности e-mail с использованием регулярных выражений RegExp (7.7). Данную функцию можно вставить в Глобальный модуль и пользоваться, например, при вводе или сохранении e-mail.

30.10.2011    9595    zaursoft    11