Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> В документе пропадают строки... 2 страниц V   1 2 >          
DAS_Alex Подменю пользователя
сообщение 30.05.11, 7:30
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый день. База 1С 7.7.025 DBF/CDX. Сохраняю документ с определенным количеством строк при следующем открытии не хватает несколько строк. В процедурах ПриОткрытии() и ПриЗаписи() нет программного удаления. Я думаю, что потихоньку рушится база, что в таких случаях необходимо делать?

awp Подменю пользователя
сообщение 30.05.11, 8:12
Сообщение #2

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 520
Спасибо сказали: 70 раз
Рейтинг: 51.3

Цитата(DAS_Alex @ 30.05.11, 8:30) *
Добрый день. База 1С 7.7.025 DBF/CDX. Сохраняю документ с определенным количеством строк при следующем открытии не хватает несколько строк. В процедурах ПриОткрытии() и ПриЗаписи() нет программного удаления. Я думаю, что потихоньку рушится база, что в таких случаях необходимо делать?


1. Резервная копия
2. Тестирование и исправление ИБ

Если при выполнении пункта 2 - много ошибок - то подымаем резервную копию - делаем выгрузку а потом загрузку ИБ и опять пункт 2.
Удачи.


Signature
Бухгалтер - это не профессия! Это диагноз!

DAS_Alex Подменю пользователя
сообщение 30.05.11, 8:47
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

при выполнении пункта 2 много ошибок, но ошибок связанных с проблемным документом немного

Цитата(awp @ 30.05.11, 8:12) *
1. Резервная копия
2. Тестирование и исправление ИБ

Если при выполнении пункта 2 - много ошибок - то подымаем резервную копию - делаем выгрузку а потом загрузку ИБ и опять пункт 2.
Удачи.


Зачем делать: - то подымаем резервную копию - делаем выгрузку а потом загрузку ИБ и опять пункт 2? Там те же ошибки..

g789 Подменю пользователя
сообщение 30.05.11, 9:10
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 62
Спасибо сказали: 14 раз
Рейтинг: 0

Цитата(DAS_Alex @ 30.05.11, 9:47) *
при выполнении пункта 2 много ошибок, но ошибок связанных с проблемным документом немного
Зачем делать: - то подымаем резервную копию - делаем выгрузку а потом загрузку ИБ и опять пункт 2? Там те же ошибки..

Выгрузка - Загрузка часто "лечит" dbf базы.
Сколько обычно строк в документе?
Посмотрите в модуле документа при проведении часто используют ВыгрузитьТабличнуюЧасть - Загрузить ТабличнуюЧасть.

DAS_Alex Подменю пользователя
сообщение 30.05.11, 9:58
Сообщение #5

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

максимальное количество строк 100, документ не проводится..

Zaval Подменю пользователя
сообщение 30.05.11, 10:39
Сообщение #6

Крутой
Иконка группы
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0

smile.gif Что за документ и что в его строках?

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

-=VJ=- Подменю пользователя
сообщение 30.05.11, 10:46
Сообщение #7

Оратор
Иконка группы
Группа: Местный
Сообщений: 402
Из: Киев
Спасибо сказали: 73 раз
Рейтинг: 0

Цитата(DAS_Alex @ 30.05.11, 7:30) *
В процедурах ПриОткрытии() и ПриЗаписи() нет программного удаления. Я думаю, что потихоньку рушится база, что в таких случаях необходимо делать?


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


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

DAS_Alex Подменю пользователя
сообщение 30.05.11, 11:43
Сообщение #8

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(-=VJ=- @ 30.05.11, 10:46) *
Если бы рушилась база - Вы бы в неё вообще не вошли.
Проверяйте отладчиком. Во-первых удаление может быть где угодно, а не только в этих процедурах, во-вторых суть может быть не в удалении, а в несохранении - к примеру при несоблюдении каких-то параметров строка просто выбрасывается.


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

Ardi Подменю пользователя
сообщение 30.05.11, 11:59
Сообщение #9

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Цитата(DAS_Alex @ 30.05.11, 12:43) *
каждый день база несколько раз завершается аварийно

В терминал её.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

DAS_Alex Подменю пользователя
сообщение 30.05.11, 13:44
Сообщение #10

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

Проблема была замечена при вводе на основании. Этот док. вводится на основании самого себя. Создав и сохранив док, пользователь тут же вводит на основании точную копию созданного, т.е кол-во строк не трудно запомнить, ну допустим 10. В документе введенном на основании остается три строки, хотя описано, что перенести все 10. Если открыть документ основание то в нем также будет три строки из введенных 10.

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

... медленная скорость сети может влиять..

-=VJ=- Подменю пользователя
сообщение 30.05.11, 13:49
Сообщение #11

Оратор
Иконка группы
Группа: Местный
Сообщений: 402
Из: Киев
Спасибо сказали: 73 раз
Рейтинг: 0

Цитата(DAS_Alex @ 30.05.11, 13:44) *
Проблема была замечена при вводе на основании.


Ну так бросьте листинг процедуры - пусть народ посмотрит, авось чего и найдем.


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

Ardi Подменю пользователя
сообщение 30.05.11, 14:03
Сообщение #12

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Цитата(DAS_Alex @ 30.05.11, 12:43) *
каждый день база несколько раз завершается аварийно


Цитата(DAS_Alex @ 30.05.11, 12:43) *
... медленная скорость сети может влиять..

В терминал её!!!!!!!!!!!!!!!!!!!!
----
Я думаю вообще могут пакеты по сети теряться в этом случае.
----
Проверить - не стоит ли разрешение для шары кешировать файлы. Или как оно там называется.

Сообщение отредактировал Ardi - 30.05.11, 14:08


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Zaval Подменю пользователя
сообщение 30.05.11, 14:32
Сообщение #13

Крутой
Иконка группы
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0

Цитата(DAS_Alex @ 30.05.11, 14:44) *
Проблема была замечена при вводе на основании. Этот док. вводится на основании самого себя. Создав и сохранив док, пользователь тут же вводит на основании точную копию созданного, т.е кол-во строк не трудно запомнить, ну допустим 10. В документе введенном на основании остается три строки, хотя описано, что перенести все 10. Если открыть документ основание то в нем также будет три строки из введенных 10.


Проверка на Модифицированность дока-основания есть?
Новый вводится из формы основания или из журнала/обработки?

ЗЫ. Больше похоже на косяк в коде. Для других причин "слишком умно".

DAS_Alex Подменю пользователя
сообщение 30.05.11, 14:37
Сообщение #14

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(-=VJ=- @ 30.05.11, 13:49) *
Ну так бросьте листинг процедуры - пусть народ посмотрит, авось чего и найдем.


Вот она:

Процедура ВводНаОсновании(ДокОснование) 
    спр=СоздатьОбъект("Справочник.альбом");
    ДокументОснование=ДокОснование;
    НомерДок=ДокОснование.НомерДок;
    ДатаДок=ДокОснование.ДатаДок;
    Деталь=ДокОснование.Деталь;
    Деталь2=ДокОснование.Деталь2;
    Деталь3=ДокОснование.Деталь3;
    Изделие=ДокОснование.Изделие;
    ДокОснование.ВыбратьСтроки();
    Пока ДокОснование.ПолучитьСтроку()=1 Цикл
        Если (Число(ДокОснование.Дата_к)<>0) и (ДокОснование.ПринятоКоличество<>0) Тогда    
            если ДокОснование.НомерСтроки=1 тогда
                если ДокОснование.есть_зарплата=1 тогда
                    стр=2;
                иначе
                    стр=ДокОснование.НомерСтроки;
                конецесли;    
            иначе
                стр=ДокОснование.НомерСтроки+1;    
            конецесли;    
        КонецЕсли;      
    КонецЦикла;
    если стр=1 тогда                                   // если марш-ку разрывают в начале
        ДокОснование.ПолучитьСтрокуПоНомеру(стр);
        Для а=стр по ДокОснование.КоличествоСтрок() Цикл
            НоваяСтрока();
            ДокОснование.ПолучитьСтрокуПоНомеру(а);
            НомерОперации=ДокОснование.НомерОперации;
            НаименованиеОперации=ДокОснование.НаименованиеОперации;
            Цех=ДокОснование.цех;  
            Кдетали = ДокОснование.Кдетали;
            //ном_детали = ДокОснование.ном_детали;
            Замечание=ДокОснование.Замечание;
        КонецЦикла;
        Форма.Обновить();
    иначе                                             // если марш-ку разрывают в середине
        ДокОснование.ПолучитьСтрокуПоНомеру(стр);    
        Для а=стр по ДокОснование.КоличествоСтрок() Цикл
            НоваяСтрока();
            ДокОснование.ПолучитьСтрокуПоНомеру(а);
            НомерОперации=ДокОснование.НомерОперации;
            НаименованиеОперации=ДокОснование.НаименованиеОперации;
            Цех=ДокОснование.цех;  
            Кдетали = ДокОснование.Кдетали;
            //ном_детали = ДокОснование.ном_детали;
            Замечание=ДокОснование.Замечание;
        КонецЦикла;
        Форма.Обновить();
    конецесли;    
КонецПроцедуры


Вот она:

Процедура ВводНаОсновании(ДокОснование) 
    спр=СоздатьОбъект("Справочник.альбом");
    ДокументОснование=ДокОснование;
    НомерДок=ДокОснование.НомерДок;
    ДатаДок=ДокОснование.ДатаДок;
    Деталь=ДокОснование.Деталь;
    Деталь2=ДокОснование.Деталь2;
    Деталь3=ДокОснование.Деталь3;
    Изделие=ДокОснование.Изделие;
    ДокОснование.ВыбратьСтроки();
    Пока ДокОснование.ПолучитьСтроку()=1 Цикл
        Если (Число(ДокОснование.Дата_к)<>0) и (ДокОснование.ПринятоКоличество<>0) Тогда    
            если ДокОснование.НомерСтроки=1 тогда
                если ДокОснование.есть_зарплата=1 тогда
                    стр=2;
                иначе
                    стр=ДокОснование.НомерСтроки;
                конецесли;    
            иначе
                стр=ДокОснование.НомерСтроки+1;    
            конецесли;    
        КонецЕсли;      
    КонецЦикла;
    если стр=1 тогда                                   // если марш-ку разрывают в начале
        ДокОснование.ПолучитьСтрокуПоНомеру(стр);
        Для а=стр по ДокОснование.КоличествоСтрок() Цикл
            НоваяСтрока();
            ДокОснование.ПолучитьСтрокуПоНомеру(а);
            НомерОперации=ДокОснование.НомерОперации;
            НаименованиеОперации=ДокОснование.НаименованиеОперации;
            Цех=ДокОснование.цех;  
            Кдетали = ДокОснование.Кдетали;
            //ном_детали = ДокОснование.ном_детали;
            Замечание=ДокОснование.Замечание;
        КонецЦикла;
        Форма.Обновить();
    иначе                                             // если марш-ку разрывают в середине
        ДокОснование.ПолучитьСтрокуПоНомеру(стр);    
        Для а=стр по ДокОснование.КоличествоСтрок() Цикл
            НоваяСтрока();
            ДокОснование.ПолучитьСтрокуПоНомеру(а);
            НомерОперации=ДокОснование.НомерОперации;
            НаименованиеОперации=ДокОснование.НаименованиеОперации;
            Цех=ДокОснование.цех;  
            Кдетали = ДокОснование.Кдетали;
            //ном_детали = ДокОснование.ном_детали;
            Замечание=ДокОснование.Замечание;
        КонецЦикла;
        Форма.Обновить();
    конецесли;    
КонецПроцедуры




Но Я больше склоняюсь к сети, она у нас проблемная..

-=VJ=- Подменю пользователя
сообщение 30.05.11, 15:12
Сообщение #15

Оратор
Иконка группы
Группа: Местный
Сообщений: 402
Из: Киев
Спасибо сказали: 73 раз
Рейтинг: 0

Цитата(DAS_Alex @ 30.05.11, 14:37) *
Вот она:


Поправьте задвоение.

Я правильно понял: если не делать ввод на основании, а сразу после сохранения открыть документ - строк десять, а если после этого сделать ввод на основании - их в обеих документах становится три?


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

Pepe Подменю пользователя
сообщение 30.05.11, 15:12
Сообщение #16

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1434
Из: Ужгород
Спасибо сказали: 761 раз
Рейтинг: 230

Цитата(DAS_Alex @ 30.05.11, 15:37) *
Но Я больше склоняюсь к сети, она у нас проблемная..

Если вы грешите на сеть, почему бы не проверить работу вашего документа без сети, на локальной машине?

DAS_Alex Подменю пользователя
сообщение 30.05.11, 15:21
Сообщение #17

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(-=VJ=- @ 30.05.11, 15:12) *
Поправьте задвоение.

Я правильно понял: если не делать ввод на основании, а сразу после сохранения открыть документ - строк десять, а если после этого сделать ввод на основании - их в обеих документах становится три?


Не всегда, а в каких-то необъяснимых случаях. Почему я и склоняюсь к проблемам с сетью. Можно десяток создать и ввести на основании - все нормально, а на 11-й раз пропадет.

Zaval Подменю пользователя
сообщение 30.05.11, 15:21
Сообщение #18

Крутой
Иконка группы
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0

Три года работал???

smile.gif Может, неудачно усовершенствовали? В коде "две руки" просматриваются.

Зачем создавать док с тем же номером?
Не могу понять разницы между "стр=1" и "иначе".

Спасибо сказали: awp,

DAS_Alex Подменю пользователя
сообщение 30.05.11, 15:22
Сообщение #19

Говорящий
***
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Pepe @ 30.05.11, 15:12) *
Если вы грешите на сеть, почему бы не проверить работу вашего документа без сети, на локальной машине?


На локальной все нормально..

Ardi Подменю пользователя
сообщение 30.05.11, 15:31
Сообщение #20

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

7.7 дбф не устойчива к потерям пакетов данных. Вообще.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 20.04.24, 6:24
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!