Контроль отрицательных остатков при изменении "задним числом" для всех последующих документов.

23.12.09

Задачи пользователя - Корректировка данных

При изменениях "задним числом" отслеживает, не повлияет ли данное изменение на корректность проведения последующих документов.
Поддерживает контроль по регистрам "ОстаткиТМЦ" и "ПартииОтданные" конфигураций "Торговля+Склад" и  "Комплексная".
Легко настраивается на любую другую конфигурацию и любой регистр остатков.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
-
.zip 3,69Kb
1375
1375 Скачать бесплатно

См. также

Чистка данных Корректировка данных Программист Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Архив различных обработок 1С 7.7 с открытым исходным кодом для работы с данными при свертке, выгрузке, исправлении, модификации информационной базы. Можно использовать любую обработку в качестве заготовки для добавления собственных функций.

1 стартмани

13.05.2021    8175    12    etmarket    0    

3

Корректировка данных Акт сверки Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Управление торговлей 10 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Россия Бухгалтерский учет Управленческий учет НДС Абонемент ($m)

Пример реализации сверок между базами и исправления расхождений в обе стороны, из 7.7 -> в 8.3 и из 8.3 -> в 7.7 на обычных формах. Фундаментальные обработки, которые работают на постоянной основе и поддерживают идентичность данных между базами основных поставщиков и основных покупателей (их соответствие прописано в модуле). Используется Новый COMОбъект("V77.Application"), пример использования внешнего источника данных. Реализация в поступление. Поступление в поступление. Корректировка поступления в корректировку отгрузки. СчФ выданный в СчФ полученный. Исправление СчФ полученного в исправление СчФ выданного. Перенос документа Реализация 7.7 в Поступление 8, Перемещение 7.7 в Поступление 8. Акт сверки взаиморасчетов (несколько организаций). Все обработки запускаются в базе 1С Предприятие 8 (обычные формы).

1 стартмани

03.10.2019    14998    31    ksnik    6    

4

Корректировка данных Программист Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Универсальная обработка 7.7, представленная здесь, до сих пор почему-то по функционалу гораздо беднее, чем общеизвестная типовая "Универсальный подбор и обработка объектов" (UNIREPS82\UniversalSelection) 8.2-8.3", мне не хватило возможности выполнить произвольный код обработчика объектов. Данная обработка "UChoice.ert" является полным аналогом "UniversalSelection", представляет собой консоль выполнения произвольного кода, позволяет делать с объектами информационной базы 1С 7.7 абсолютно все, что угодно, а не узкий, сложно настраиваемый набор команд, на мой взгляд, она существенно превосходит имеющиеся аналоги, поэтому ничем другим кроме нее я не пользуюсь.

1 стартмани

04.04.2019    16796    31    ksnik    9    

4

Корректировка данных Бухгалтер Бухгалтерский учет 7.7 1С:Упрощенное налогообложение 7.7 Россия Бухгалтерский учет НДС Абонемент ($m)

Для 1С:Предприятия 8 переход на НДС 20% сделан, а для 7.7 я не нашел. Выкладываю.

1 стартмани

24.12.2018    18798    34    pentanom    25    

5

Корректировка данных Программист Бухгалтер Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Обработка, исправляющая ситуацию с отрицательными номерами строк в табличной части

1 стартмани

31.08.2017    13507    1    C0mmander_Alex    1    

3

Корректировка данных Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

1. Обработка позволяет совершать следующие действия над объектами: а. СПРАВОЧНИКИ: удаление; пометка на удаление; снятие пометки на удаление. б. ДОКУМЕНТЫ: удаление; пометка на удаление; снятие пометки на удаление; проведение; отмена проведения; выключить проводки; включить проводки. 2. Действия могут быть ограничены некоторыми условиями. 3. Существует отбор по видам объектов. 4. Есть возможность обработать подчиненные справочники.

1 стартмани

30.04.2017    22631    82    DUH    0    

5

Корректировка данных Программист Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Обработки можно использовать в любой конфигурации 1С-Предприятия 7.7. Обработки позволяют просмотреть/изменить значения любого реквизита документов/справочников, существующих в базе. В обработках реализован множественный отбор по значениям реквизитов (для табличной части документов тоже). В обработке документов реализованы следующие действия: Перенумерация; проведение; отмена проведения; пометка на удаление; непосредственное удаление; снятие пометки удаления; изменение реквизитов; очистка реквизитов; удаление строк табличной части; вывод на печать и в файлы *.xls,*.csv,*.dbf,*.xml реквизитов шапки и табличной части. В обработке справочников реализованы следующие действия: Перенумерация; пометка на удаление; непосредственное удаление; снятие пометки удаления; изменение реквизитов; очистка реквизитов; очистка истории значений периодического реквизита; перенос справочника в другую базу подобной конфигурации по OLE; вывод на печать реквизитов и истории значений периодических реквизитов; вывод реквизитов в файлы *.xls,*.csv,*.dbf,*.xml; отчет по структуре справочников, вывод и обработка ссылок на выбранные элементы.

1 стартмани

23.11.2016    38919    224    SanchoD    15    

13

Корректировка данных Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

База данных помечается Suspect, когда SQL Server не может читать файлы данных, связанные с базой данных с жесткого диска. В этом случае сделать бекап базы нельзя, но можно попробовать образ диска. После того как возможность читать файлы данных восстановлена, вы можете перезапустить службу SQL Server, и если возможно, произойдет автоматическое восстановление. Что делать, если информационная база 1С7.7 на SQL Server 2000 перешла в состояние suspect? Если это произошло утром и бекап сделан, Вы, конечно, можете грохнуть и раскатать базу заново (вечером это проблематичнее), но не торопитесь - возможно, поможет detach+attach или другие методы, изложенные в данной публикации.

1 стартмани

08.11.2016    23314    ksnik    5    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. antonrost 656 20.07.06 15:29 Сейчас в теме
Неужели никому не пригодилось ?
2. CheBurator 2712 20.07.06 15:55 Сейчас в теме
не волнуйся, пригодится...
я так точно попробую.
Интересует вопрос:
1. насколько замедляется проведение дока?
2. обход этой фичи при групповом проведении сделан?
3. antonrost 656 20.07.06 16:09 Сейчас в теме
1. Ненамного. Секунды на 2 в очень большой базе с начала года.
2. При групповом проведении контроль тоже не помешает. Обойти это легко, а при использовании http://www.infostart.ru/projects/index.php?id=312 можно предупреждать, но не отменять проведение.
4. Шухер 24 13.12.06 11:10 Сейчас в теме
А плюсанул, хоть и не успел посмотреть. Лишний контроль не лишний :)
Спасибо.
5. CheBurator 2712 13.12.06 18:34 Сейчас в теме
Так, ща вооружусь... понадобилось... проверим заодно как работает при многофирменном/многоупраналитичной работе...
6. CheBurator 2712 13.12.06 18:42 Сейчас в теме
ДА! хорошо бы озвучить порядок настройки на другие регистры
7. antonrost 656 14.12.06 08:00 Сейчас в теме
Порядок настройки на другие регистры примерно такой:
Изменить функцию "глКонтрольОтрицательногоОстатка()" (там, вроде, всё понятно),
а также в функции "ПроверитьОтрицательныйОстаток" изменить строки:
====
Если ВидРег = "ОстаткиТМЦ" Тогда
_РегСклад = ВремРегистры.ОстаткиТМЦ;
ИначеЕсли ВидРег = "ПартииОтданные" Тогда
_РегСклад = ВремРегистры.ПартииОтданные;
Иначе
Сообщить("Неверный вид регистра !!!", "!!!");
КонецЕсли;
======
8. vlad-1c 20.12.06 01:56 Сейчас в теме
Очень интересно. Отлично!, но медленно. Давно назревала проблема, переделаю под SQL c 1C++, будет на порядок быстрее. Если интересно выложу свою реализацию.
9. mihenius 83 18.10.07 10:44 Сейчас в теме
Выкладывай ... много народу учится 1С++ обычно не хватает
1-2 отчетов чтобы были и на 1с и на 1с++ чоб в сравнении вникнуть лучше
10. Sk0rp 119 09.10.09 20:41 Сейчас в теме
Не заработало:

Пример:
На 1-е число есть остаток 12 шт
3-го числа есть расходный документ на 1шт (Док №2)
Делаем расходный Док №1 от 2-го числа на 10шт этого товара

Видно, что всем всего хватает, но получаю:

Возникнет отрицательный остаток по регистру "ОстаткиТоваров": ОстатокТовара = -8 по Док №1 (02.10.09)
Фирма = Товар = МойТовар Склад = Главный склад
--------------------------------
Возникнет отрицательный остаток по регистру "ОстаткиТоваров": ОстатокТовара = -9 по Док №2 (03.10.09)
Фирма = Товар = МойТовар Склад = Главный склад

11. armeec 2 08.12.09 11:39 Сейчас в теме
А может нужно всего лишь сделать так:

Пользователь проводит док. задним числом тогда в этом случае в документе должна происходить проверка остатков на этот документ, а также на ТА, т.е. двойная проверка при проведении задним числом. Кто что думает по этому поводу?
12. 2sw 18 24.12.12 20:31 Сейчас в теме
добавил возможность отключения, если установлен параметр "не контролировать остатки"

Функция глКонтрольОтрицательногоОстатка(Конт, Параметр)      
	
//sw

Если (Константа.КонтрольОтрицательныхОстатков <> Перечисление.СпособыКонтроляОстатковТМЦ.НеКонтролировать) Тогда


	
	Если Параметр = "Отмена проведения" Тогда
		ТабДвижений_ОстаткиТМЦ		= глСформироватьТаблицуДвиженийДокумента(Конт, "ОстаткиТМЦ", "Отмена", -1);
		ТабДвижений_ПартииОтданные	= глСформироватьТаблицуДвиженийДокумента(Конт, "ПартииОтданные", "Отмена", -1);
		ПроверитьОтрицательныйОстаток(Конт, ТабДвижений_ОстаткиТМЦ, "ОстаткиТМЦ", "Отмена");
		ПроверитьОтрицательныйОстаток(Конт, ТабДвижений_ПартииОтданные, "ПартииОтданные", "Отмена");
	ИначеЕсли Параметр = "Перед проведением" Тогда
		ТабДвижений_ОстаткиТМЦ		= глСформироватьТаблицуДвиженийДокумента(Конт, "ОстаткиТМЦ", "Отмена", -1);
		ТабДвижений_ПартииОтданные	= глСформироватьТаблицуДвиженийДокумента(Конт, "ПартииОтданные", "Отмена", -1);
	ИначеЕсли Параметр = "После проведения" Тогда
		ПроверитьОтрицательныйОстаток(Конт, ТабДвижений_ОстаткиТМЦ, "ОстаткиТМЦ", "Проведение");
		ПроверитьОтрицательныйОстаток(Конт, ТабДвижений_ПартииОтданные, "ПартииОтданные", "Проведение");
	Иначе
		Сообщить("Неверный параметр!!!", "!");
	КонецЕсли;

КонецЕсли;    //sw
	
КонецФункции // глКонтрольОтрицательногоОстатка()
Показать
13. Гость 09.07.13 11:18
Для УТ можно использовать?
Мне нужен контроль отрицательных остатков при изменении старых доков,по регистру "Товары на складах".
14. chmv 10.07.13 13:40 Сейчас в теме
Оставьте свое сообщение