8.х Помогите исправить мой косяк, или главбух меня убьет.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Alide, 2 апр 2014.

  1. TopicStarter Overlay
    Alide
    Offline

    Alide

    Регистрация:
    10 янв 2013
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Товарищи, стояла задача во всех проводках, во всех ручных операциях установить НоменклатурнуюГруппу = "Общая".

    Я недолго думая наваял обработочку, ключевой момент которой:
    Код:
    Для каждого Запись из НаборЗаписей Цикл
    [INDENT]Запись.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы] = Справочники.НоменклатурныеГруппы.Основная;
    Запись.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы] = Справочники.НоменклатурныеГруппы.Основная;[/INDENT]
    КонецЕсли;


    Вот только т.к. я новичок я не мог даже подумать что в проводках счетов где нет субконто НоменклатурнаяГруппа, там оно появиться. Теперь при попытке изменить любую операцию введенную ранее выскакивает сообщение
    [​IMG]

    Пытался сделать так:
    Код:
    СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы] = Непределено;
    СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы] = Справочники.НоменклатурнаяГруппа.ПустаяСсылка();
    СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы] = "";
    Ничего не помогает.

    Помогите или у меня голова с плечь.
    Последнее редактирование модератором: 2 апр 2014
  2. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    все тесты надо делать на копии, бекапы есть на всякий?
  3. TopicStarter Overlay
    Alide
    Offline

    Alide

    Регистрация:
    10 янв 2013
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Есть бекап, но 3х дневный, меня закопают просто.
  4. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    ну если честно то правильно... как так вносить изменение и полениться сделать бекап...
  5. TopicStarter Overlay
    Alide
    Offline

    Alide

    Регистрация:
    10 янв 2013
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Я виноват, но должен же быть способ, пусть в ручную все операции менять или другой способ, но как? Их даже пометить на удаление нельзя. Все эта ошибка выскакивает.
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    В типовых конфах есть куски кода в котрых определяется тип субконто. Так вот этим кодом Вы пореляете ти субконто и проставляете в него пустое знаение данного типа, а потом раз ет базы то ручками все вставляете, но проше наверное восстановить бэкап трехдневный и вбить доки за 3 дня
  7. TopicStarter Overlay
    Alide
    Offline

    Alide

    Регистрация:
    10 янв 2013
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Чуток не понял последний пост.
  8. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Значит восстанавливайте бэкап, раз не поняли.
  9. ANDRE
    Offline

    ANDRE Опытный в 1С

    Регистрация:
    12 мар 2008
    Сообщения:
    456
    Симпатии:
    0
    Баллы:
    26
    Как еще один вариант.
    1. Восстановить БД из бекапа
    2. Что бы не вбивать доки за 3 дня используйте обработку из Конвертации данных и просто выгрузить документы за эти дни.
    Все должно стать корректно.
    СДЕЛАЙ ВСЕ ДЕЙСТВИЯ НА КОПИИ
  10. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а еще на будущее, перед каждым чихом не полениться и выгрузить БД, чтоб была копия не 3-хдневной давности а 1-2 минут
  11. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Это уже лишнее, т.к. каждый раз выгрузка требует монопольный режим.
  12. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    обновление тоже лучше без пользователей проводить... так что лишним не будет.Алекс - ТС новичок.
  13. TopicStarter Overlay
    Alide
    Offline

    Alide

    Регистрация:
    10 янв 2013
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Восстановил операции из копии с помощью обмена данными, всем спасибо за обсуждение. Но вопрос остался чисто спортивный, неужели программно нельзя убрать это субконто номенклатуры которое добавилось в ненужные проводки.
  14. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Можно. Нужно найти код, где это выставляется, и его уже править. Вам уважаемый Draco уже писал про это.
  15. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    НУ вот в УПП например такая функция есть. Выполняет в табличном поле приведение значений субконто к типу, соответствующему счету
    Код:
    // Выполняет в табличном поле приведение значений субконто к типу, соответствующему счету
    // сведения о счете передаются через параметр СведенияОСчете
    // используется для табличных полей, содержащих колонки типа Счет и соответствующие ему субконто
    //
    // Параметры:
    //    ТабличноеПоле     - табличное поле
    //  ДтКт             - строка "Дт", "Кт" или "" - часть имени колонки табличного поля
    //                     для колонок табличного поля поддерживаются имена
    //                    типа СубконтоДт1, СубконтоКт1, Субконто1...
    //  СведенияОСчете     - структура
    //                      КоличествоСубконто - число
    //                    ТипСубконто1 - описание типа
    //                    ТипСубконто2 - описание типа
    //                    ТипСубконто3 - описание типа
    //                      ВидСубконто1Представление - представление вида субконто - в данной процедуре не используется
    //                      ВидСубконто2Представление - представление вида субконто - в данной процедуре не используется
    //                      ВидСубконто3Представление - представление вида субконто - в данной процедуре не используется
    //
    Процедура ПривестиЗначениеСубконто(ТабличноеПоле, ДтКт, СведенияОСчете) Экспорт
        Для СчетчикСубконто = 1 По 3 Цикл
            Если СведенияОСчете.КоличествоСубконто >= СчетчикСубконто Тогда
                ТабличноеПоле.ТекущиеДанные["Субконто"+ДтКт+СчетчикСубконто] = СведенияОСчете["ТипСубконто"+СчетчикСубконто].ПривестиЗначение(ТабличноеПоле.ТекущиеДанные["Субконто"+ДтКт+СчетчикСубконто]);
            Иначе
                ТабличноеПоле.ТекущиеДанные["Субконто"+ДтКт+СчетчикСубконто] = Неопределено;
            КонецЕсли;
        КонецЦикла;
    КонецПроцедуры   // ПривестиЗначениеСубконто
    

Поделиться этой страницей