|   |   | 
| 
 | Исчезли записи из регистра сведений | ☑ | ||
|---|---|---|---|---|
| 0
    
        Lemkus 28.04.12✎ 12:46 | 
        Клиент попросил сделать возможность ставить у заказов всякие там галочки о том, что заказы получены, счета отправлены и т. д. Сделал регистр сведений (непериод, независимый) и обработку, на форме которой разместил набор записей регистра сведений, при открытии обработки набор записей заполняется всеми проведенными заказами и через левое соединение с данными регистра сведений. Далее пользователь ставит свои галки, при закрытии обработки набор записей записывается. Так вот, почему-то из регистра исчезли проставленные пользователем галочки, но не все, а только некоторые. Я никак не могу понять, как такое могло быть. Прощу помощи, если я не объясню ситуацию, то видимо придется мне на выходных поработать оператором 1с     | |||
| 1
    
        КМ155 28.04.12✎ 12:47 | 
        (0)[при закрытии обработки набор записей записывается]
  херовый отбор | |||
| 2
    
        Murzz 28.04.12✎ 12:48 | 
        небось без отбора набор записываешь     | |||
| 3
    
        Wobland 28.04.12✎ 12:48 | 
        >при открытии обработки набор записей заполняется
  что, прямо вот так берёшь и пишешь данные при открытии? | |||
| 4
    
        Lemkus 28.04.12✎ 12:50 | 
        (3) Ну точнее заполняю набор записей     | |||
| 5
    
        Lemkus 28.04.12✎ 12:50 | 
        (2) А зачем там отбор, сначала все прочитали, потом все записываем     | |||
| 6
    
        ptrtss 28.04.12✎ 12:51 | 
        Видимо при очередном открытии в набор подгрузилось не все, а только часть     | |||
| 7
    
        chingiz 28.04.12✎ 12:51 | 
        Код скинь, будет уже о чем говорить.     | |||
| 8
    
        ptrtss 28.04.12✎ 12:52 | 
        "Всеми проведенными заказами" за всю историю что ли? Наверняка нет. А если записываешь без отбора, то все старое херится     | |||
| 9
    
        Lemkus 28.04.12✎ 12:52 | 
        Процедура ЗаполнитьСостояниеЗаказов()
  Запрос = новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказПокупателя.Ссылка |ПОМЕСТИТЬ Заказы |ИЗ | Документ.ЗаказПокупателя КАК ЗаказПокупателя |ГДЕ | ЗаказПокупателя.Проведен = ИСТИНА |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СостояниеЗаказа.АктыПолучены, | СостояниеЗаказа.СчетОтправлен, | СостояниеЗаказа.Поступил, | СостояниеЗаказа.Запустили, | СостояниеЗаказа.Готовность, | СостояниеЗаказа.Скомплектован, | СостояниеЗаказа.Доставлен, | СостояниеЗаказа.Отгружен, | Заказы.Ссылка КАК Заказ, | Заказы.Ссылка.Контрагент КАК Контрагент, | Заказы.Ссылка.Дата КАК Дата, | Заказы.Ссылка.СостояниеЗаказа КАК Состояние |ИЗ | Заказы КАК Заказы | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеЗаказа КАК СостояниеЗаказа | ПО Заказы.Ссылка = СостояниеЗаказа.Заказ | |УПОРЯДОЧИТЬ ПО | Дата УБЫВ"; СостояниеЗаказов.Загрузить(Запрос.Выполнить().Выгрузить()); КонецПроцедуры | |||
| 10
    
        Ненавижу 1С гуру 28.04.12✎ 12:52 | 
        (5) во, правильно ))     | |||
| 11
    
        Ненавижу 1С гуру 28.04.12✎ 12:53 | 
        (9) показывай больше     | |||
| 12
    
        Lemkus 28.04.12✎ 12:53 | 
        (9) СостояниеЗаказов это и есть набор записей регистра     | |||
| 13
    
        Lemkus 28.04.12✎ 12:54 | 
        (11) Ну и перед закрытием или при нажатии на кнопку записать
  Ответ = Вопрос("Сохранить изменения?", РежимДиалогаВопрос.ДаНет); Если Ответ=КодВозвратаДиалога.Да тогда СостояниеЗаказов.Записать(); КонецЕсли; | |||
| 14
    
        ptrtss 28.04.12✎ 12:55 | 
        А на форме есть возможность табличку с галками дилит нажимать?     | |||
| 15
    
        Ненавижу 1С гуру 28.04.12✎ 12:55 | 
        (13) отборы это для слабаков?     | |||
| 16
    
        ptrtss 28.04.12✎ 12:55 | 
        А заказы могут быть временно не проведены?     | |||
| 17
    
        Lemkus 28.04.12✎ 12:56 | 
        (16) не, дело не в это явно     | |||
| 18
    
        Lemkus 28.04.12✎ 12:57 | 
        (15) Согласен, отборы надо было сделать, но почему так не сработало     | |||
| 19
    
        dmpl 28.04.12✎ 13:12 | 
        (18) Сколько пользователей одновременно вводит эти документы? Может ли пользователь открыть одновременно более 1 документа? Если пользователей больше 1 или он может открыть одновременно 2 и более документа - то так и должно быть. Поддержание когерентности кешей - та еще задача.     | |||
| 20
    
        Lemkus 28.04.12✎ 13:17 | 
        (19) Да, пользователей более 1 и он может открыть 2 и более документа, но как это связано с регистром?     | |||
| 21
    
        Starhan 28.04.12✎ 13:19 | 
        (19)(20) ))))     | |||
| 22
    
        Lemkus 28.04.12✎ 13:22 | 
        (19), (21) Можно подробнее, пожалуйста     | |||
| 23
    
        Адинэснег 28.04.12✎ 13:33 | 
        v8: Исчезли записи из регистра сведений
  бггг... | |||
| 24
    
        hhhh 28.04.12✎ 13:42 | 
        (22) один документ ставит свои галки. Другой документ тут же стирает их и ставит свои.     | |||
| 25
    
        Lemkus 28.04.12✎ 13:43 | 
        (24) Не может такого быть, документы вообще ничего не ставят     | |||
| 26
    
        Starhan 28.04.12✎ 13:43 | 
        (22) Сам подумай. Что будет если обработку откроют два одновременно. Потом один запишет, потом второй?     | |||
| 27
    
        Starhan 28.04.12✎ 13:44 | 
        +(26) естественно 1й поставит пару своих галочек.     | |||
| 28
    
        PR 28.04.12✎ 13:45 | 
        (0) >>при закрытии обработки набор записей записывается
  За такие вещи на конюшне порют. | |||
| 29
    
        PR 28.04.12✎ 13:46 | 
        Судя по всему ТС прилежно выбирает из регистра записи по конкретному заказу, потом в наборе записей читает и очищает все без отбора по заказу и записывает в полностью очищенный регистр записи по одному заказу.     | |||
| 30
    
        Lemkus 28.04.12✎ 13:49 | 
        (29) Нет, запрос выше я приводил     | |||
| 31
    
        Lemkus 28.04.12✎ 13:50 | 
        (26) Да, действительно, теперь я понимаю, что так как я делал было делать нельзя. Но с обработкой одновременно работал только один пользователь     | |||
| 32
    
        pumbaEO 28.04.12✎ 13:50 | 
        (28) Вам на селезневку надо, разработчиков типовых пороть, пороть, пороть...
  Процедура КнопкаOKНажатие(Элемент)
  | |||
| 33
    
        dmpl 28.04.12✎ 13:51 | 
        (20) Пользователь 1 открыл документ 1. Пользователь 2 открыл документ 2. Пользователь 1 проставил галки и записал документ 1. Пользователь 2 поставил свои галки и записал документ 2. Тем самым от затер изменения, внесенные пользователем 1, ведь в его наборе записей осталась старая копия состояния галок по документу 1.     | |||
| 34
    
        Starhan 28.04.12✎ 13:52 | 
        (31) мог открыть в два окна обработку. Или запустить два раза конфу. и т.п.     | |||
| 35
    
        Lemkus 28.04.12✎ 13:57 | 
        (34) Ну да, похоже на правду, спасибо! я окончательно осознал чем плох мой способ решения задачи, видимо надо использовать форму регистра сведений или при записи ставить отбор на те документы, по которым пользователь что-то изменил     | |||
| 36
    
        extrim-style 28.04.12✎ 14:14 | 
        (35) Может кто подскажет - у меня такая штука: есть допустим 10 записей регистра сведений Сохраненные настройки, причем все разные. Иногда, допустим в пару раз в месяц из этих 10 пропадают, скажем, 2 первых, 2 последних и 5-ая. Есть свой самописный отчет, который делает записи в регистр, просмотрел код несколько раз - ошибки не нашел. База файловая - бэкап копией. Что тут может быть?     | |||
| 37
    
        extrim-style 28.04.12✎ 14:17 | 
        + (35) отчет работает только с 2-мя записями по отбору     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |