Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/143: Рейтинг темы: голосов - 143, средняя оценка - 4.69
Shytym-m

Запись данных о несохраненных документах

26.09.2007, 13:39. Показов 26434. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.

1С 7.7 Торговля и склад 934
Для начала ситуация: Продавец договаривается с покупателем, создает новый документ (Реализация), заполняет необходимые поля, выводит на печать, закрывает документ и НЕ сохраняет, выручку кладет в карман (вместо кассы).

Отключить пользователям полномочия на печать непроведенных документов,- отличный вариант. Так и будет сделано. НО сейчас вопрос состоит в том, чтобы поймать за руку нечестных продавцов и вообще узнать кто этим занимается.

Я в 1С не просто несилен, а скорее чайник. Просто на предприятии встал вопрос ребром.

Я думаю, что можно написать процедуру
ПриЗакрытии
если документ новый (не сохранялся) тогда
если пользователь нажал не сохранять, проверяем, распечатали ли его и если да, тогда
сохраняем в журнал (куда угодно) максимум полезной информации о документе (имя пользователя создавшего док. , номер, дату, контрагента, список проданного с ценами, общую сумму).


Пожалуйста, помогите реализовать такую возможность.
Сам сижу с книгами уже второй день напролет. Ну не понимаю я 1С.
Для людей постоянно работающих с 1С это не так уж и сложно.
У меня дальше
"Процедура ПриЗакрытии()

КонецПроцедуры" дело не пошло.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.09.2007, 13:39
Ответы с готовыми решениями:

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

Обновление данных в идентичных документах
Сразу скажу будет много текста, постараюсь описать проблему по максимум. У меня имеется один головной файл(Наша база) в него из...

Обновление данных в идентичных документах
Сразу скажу будет много текста, постараюсь описать проблему по максимум. У меня имеется один головной файл(Наша база) в него из...

15
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 170
26.09.2007, 14:38
В процедуре Печать() после Таб.Показать(...) напиши Таб.Сохранить(ИмяФайла)...
только ИмяФайла надо формировать каждый раз разное, чтоб не переписывались...
0
Shytym-m
26.09.2007, 15:10
Ничего подобного не нашел в модуле документа Реализация

попытался вот что сделать:
...
...
// показать сформированную таблицу

Если СразуНаПринтер = 0 Тогда
ПечТабл.Опции(0, 0, 0, 0, "ДляРеализации", "ДляРеализации");

Если глПолучитьПолномочие("РазрешитьРедактиро ваниеТаблиц") = 0 Тогда
ПечТабл.Защита(1);
Иначе
ПечТабл.Защита(0);
КонецЕсли;
ПечТабл.ТолькоПросмотр(1);
ПечТабл.Показать(глНазваниеДокументаВжур нале(Контекст),"");

Иначе
ПечТабл.ПараметрыСтраницы(,,,,,,,,,1,,);
ПечТабл.КоличествоЭкземпляров(КолЭкз);
ПечТабл.Напечатать(0);
ДОБАВИЛ: ПечТабл.Сохранить("C:\123\q1.txt");
КонецЕсли;

КонецПроцедуры // Печать()
....
Ноль реакции ...

И все же, задача отловить момент когда пользователь заполняет новый документ, печатает, и не сохраняет его.
otyss1969
26.09.2007, 15:34
Если так ставить вопрос, то самое правильное решение будет - ведение логов.
Для этого надо в процедуре ПриЗакрытии, прописать процедуру добавления всех данных документа, в конец текстового файла(например реализация.txt).
Shytym-m
26.09.2007, 15:35
Если "плясать" от процедуры "ПриЗакрытии", то сталкиваюсь с такими проблемами:
1. Каким образом узнать, что ответил пользователь в ответ на вопрос сохранять ли документ? (Да, Нет, Отмена)???
2. Не нашел метода узнать, документ с которым сейчас
-работает пользователь
-или пытается напечатать
-или пытается не сохранить
новый (т.е. был создан, но еще не сохранялся) или открыт и исправляется...

помогите, сам копаю, но тщетно.


Ведение логов..... а размер лог-файла????
Повторюсь, Необходимы данные лишь тех документов, которые были созданы, заполнены, напечатаны и не сохранены.
otyss1969
26.09.2007, 15:38
Цитата Сообщение от Shilin-N
Если "плясать" от процедуры "ПриЗакрытии", то сталкиваюсь с такими проблемами:
1. Каким образом узнать, что ответил пользователь в ответ на вопрос сохранять ли документ? (Да, Нет, Отмена)???
2. Не нашел метода узнать, документ с которым сейчас
-работает пользователь
-или пытается напечатать
-или пытается не сохранить
новый (т.е. был создан, но еще не сохранялся) или открыт и исправляется...

помогите, сам копаю, но тщетно.
Зачем все это? Скидываете в лог все подряд. Потом отсортируете легальные документы, и останется то что вы ищите.
Shytym-m
26.09.2007, 15:45
прикиньте: 6 касс. работа практически без остановки, т.е. постоянно выписываются документы, продавец даже попу оторвать не может от стула.
И что???? Это все сортировать? Не лучше ли записывать только полезную информацию?
otyss1969
26.09.2007, 15:50
Кстати, можно вести лог распечатанных документов.



Цитата Сообщение от Shilin-N
прикиньте: 6 касс. работа практически без остановки, т.е. постоянно выписываются документы, продавец даже попу оторвать не может от стула.
И что???? Это все сортировать? Не лучше ли записывать только полезную информацию?
А кто вас заставляет сортировать все в ручную?
Напишите обработку по сравнению данных в документах и логах.
Shytym-m
26.09.2007, 15:54
Тогда, вопрос:
в таком логе будет информация помимо номера документа, даты его и прочего, информация о номенклатуре, ценам, суммам? Именно это и важно. Кто облапошил и на сколько.

Если да, то можно сверять этот лог распечаток со списком всех документов (того же типа(реализация)) сохраненных и проведенных.
otyss1969
26.09.2007, 16:03
Цитата Сообщение от Shilin-N
Тогда, вопрос:
в таком логе будет информация помимо номера документа, даты его и прочего, информация о номенклатуре, ценам, суммам? Именно это и важно. Кто облапошил и на сколько.

Если да, то можно сверять этот лог распечаток со списком всех документов (того же типа(реализация)) сохраненных и проведенных.
Скидывайте в лог все данные которые вам могут понадобится.
Для облегчения обработки используйте такую схему:

Маркер начала документа
данные шапки(те которые нужны, например автор док-та)
номер
автор
и т.д.
Маркер табличной части
данные о товарах
товар1 / цена / кол-во /
товар2 / цена / кол-во /
Маркер конеца документа
Shytym-m
26.09.2007, 16:09
тогда для чайника не могли бы хоть в кратце написать код
- сохранения данных документа в файл
- обработку сравнения

ну очень нужно....
в синтакс-помошнике не могу найти методов для работы с текстовыми файлами (создать, пополнить, закрыть)
otyss1969
26.09.2007, 16:20
Цитата Сообщение от Shilin-N
тогда для чайника не могли бы хоть в кратце написать код
- сохранения данных документа в файл
- обработку сравнения

ну очень нужно....
в синтакс-помошнике не могу найти методов для работы с текстовыми файлами (создать, пополнить, закрыть)
Вот здесь есть неплохой справочный материал по версии 7.7
http://love1c.kiev.ua/download/book1c.htm
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 10
27.09.2007, 17:59
Для: Shilin-N
1С сам может вести логи, тебе требуется при печати документа создать лог с информацией о номере документе, сумме операции. Потом просматривая логи ты сможешь найти документы с одинаковыми номерами, сравнивая время создания документа с документом в базе данных (хотя логически правильно будет считать последний документ сохраненным) ты сможешь узнать какой документ "забыли" сохранить и на какую сумму (и какой оператор).
0
Shytym-m
30.09.2007, 13:53
Спасибо всем за помошь. Потихонечку разбираюсь.
kobtosk
14.11.2007, 12:36
Как вариант сделать недоступной кассирам в форме документа кнопку "закрыть",
а на кнопке "ОК" убрать возможноть выбора сохранить-не сохранять
(у нас вот так: ДалиДенег(); Автор = Пользователь; #Записать() Провести? Закрыть) тогда у них после печати чека сразу сам сохраняется и спрашивает провеcти=-не провести.
С месяц назад сделала - пока довольны (тут еще зависит от степени освещенности кассиров...если смеканут что еще можно закрыть эскейпом или просто крестиком..тада не сохранит.но и чек тогда не напечатают, хотя просто накладную смогут)
Но я пока дошла только до этого и..работает
а, да и еще. добавила в заполнение таблицы запрет удаления строки - у нас была проблема не только "несохранения доков", но еще просто "удаления части товара из накл с последующим сохранением"..разница - тоже на карман кассиру
Prytoryom
14.11.2007, 14:11
ЗаписьЖурналаРегистрации поможет тебе, см. хелп. У меня так вобще гайки затянуты, пока не проведешь документ, ни какой печати.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.11.2007, 14:11
Помогаю со студенческими работами здесь

Отображение данных в двух документах
Добрый день. Помогите, пожалуйста, разобраться с проблемой. Имеются сетевые папки в папке верхнего уровня лежит файл "задачи и их...

Автоматизация сохранения данных в разных документах
Здравствуйте! У меня на работе есть 3 вордовских дока с таблицами пусть они называются: 1.doc, 2.doc, 1and2.doc, где 1and2.doc это...

Программа-калькулятор (введение и вывод данных в текстовых документах)
Помогите разобрать некоторые строчки. using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Entity. Запись данных в поле таблицы исходя из данных в другой таблице
Добрый день. Entity framework, code first. Для настройки таблицы использую EntityTypeConfiguration. Задача: есть таблица Role с полем...

Запись данных в MS Access с ADOQuery (ошибка типов данных при записи)
Здравствуйте. Я добавила на форму три компонента ADOConnection, DataSource, ADOQuery. В ADOQuery прописала: SELECT*FROM Справочник ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru