7.7 Добавление значения в ТЗ

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем aleksandrvolkov, 14 ноя 2017 в 10:32.

  1. TopicStarter Overlay
    aleksandrvolkov
    Offline

    aleksandrvolkov

    Регистрация:
    23 ноя 2016
    Сообщения:
    33
    Симпатии:
    0
    Баллы:
    1
    Ребят,в общем,такая ситуация. Заполняю ТЗ, первым нажатием на кнопку столбец "НомКоробки" заполняется единицами если выполнено условие, N-ным нажатием- n-ми значениями. Нужно отследить, если выполнено условие Если ПустоеЗначение(ТЗТМЦ.НомКоробки)=0 нужно к старому значению через запятую приписать новое,но у меня никак не получается... Тип колонки на данный момент строка,было число, но он почему-то просто складывал числа.. Что не так то?
    Код:
          Если ПустоеЗначение(ТЗТМЦ.НомКоробки)=1 тогда
             ТЗТМЦ.НомКоробки=Флаг;  
           иначе
             Тек=ТЗТМЦ.ПолучитьЗначение(ТЗТМЦ.НомерСтроки,"НомКоробки");
             //ТЗТМЦ.НомКоробки=ТЗТМЦ.НомКоробки+",";
             ТЗТМЦ.НомКоробки=Тек+","+Флаг;//+Флаг;
             //ТЗТМЦ.УстановитьЗначение(ТЗТМЦ.НомерСтроки,"НомКоробки",Тек+" ,"+флаг);
           КонецЕсли;
  2. Хряк
    Online

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.522
    Симпатии:
    53
    Баллы:
    54
    чет не копируется твой код...
    для приведения к строке используй ""+пременная
    тзцм.номкоробки=""+Тек+","+флаг;
  3. TopicStarter Overlay
    aleksandrvolkov
    Offline

    aleksandrvolkov

    Регистрация:
    23 ноя 2016
    Сообщения:
    33
    Симпатии:
    0
    Баллы:
    1
    не работает так
    Код:
    ТЗТМЦ.НоваяКолонка("НомКоробки","Строка",5,,"N_коробки",2,,1);
    ТЗТМЦ.НомКоробки=""+Тек+","+Флаг;
  4. Бухгалтерский угодник
    Online

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.155
    Симпатии:
    492
    Баллы:
    104
    Код:
          
             Тек=ТЗТМЦ.ПолучитьЗначение(ТЗТМЦ.НомерСтроки,"НомКоробки");
             ТЗТМЦ.НомКоробки=Тек+","+Флаг;//+Флаг;
     
    Зачем так сложно?
    Вы уже спозиционированы на строке... Достаточно просто
    Код:
    ТЗТМЦ.НомКоробки=Тек+","+Флаг;
    без получения значения.
  5. TopicStarter Overlay
    aleksandrvolkov
    Offline

    aleksandrvolkov

    Регистрация:
    23 ноя 2016
    Сообщения:
    33
    Симпатии:
    0
    Баллы:
    1
    не понял,так надо получать значение тек или достаточно
    Код:
    ТЗТМЦ.НомКоробки=ТЗТМЦ.НомКоробки+","+Флаг;
    ?
    так все равно не работает,остается предыдущее значение...тип колонки все та же строка
  6. Бухгалтерский угодник
    Online

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.155
    Симпатии:
    492
    Баллы:
    104
    Так вам нужно добавлять новую строку? Тогда так..
    Код:
    ТекНомер=ТЗТМЦ.НомКоробки;
    ТЗТМЦ.НоваяСтрока();
    ТЗТМЦ.НомКоробки=ТекНомер+","+Флаг;
    
  7. TopicStarter Overlay
    aleksandrvolkov
    Offline

    aleksandrvolkov

    Регистрация:
    23 ноя 2016
    Сообщения:
    33
    Симпатии:
    0
    Баллы:
    1
    нет,при переборе ТЗТМЦ нужно смотреть колонку НомКоробки, и если там что-то есть, то нужно к тому, что есть, через запятую добавить Флаг
  8. Бухгалтерский угодник
    Online

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.155
    Симпатии:
    492
    Баллы:
    104
    Код:
    Если ПустоеЗначение(ТЗТМЦ.НомКоробки)=0 Тогда
    ТЗТМЦ.НомКоробки=ТЗТМЦ.НомКоробки+","+Флаг;
    КонецЕсли;
    
  9. TopicStarter Overlay
    aleksandrvolkov
    Offline

    aleksandrvolkov

    Регистрация:
    23 ноя 2016
    Сообщения:
    33
    Симпатии:
    0
    Баллы:
    1
    в том то и проблема,что так не работает...

    Не знаю,как,но сработало только
    ТЗТМЦ.НомКоробки=СокрЛП(ТЗТМЦ.НомКоробки)+","+Флаг;
  10. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    481
    Симпатии:
    82
    Баллы:
    54
    Здравствуйте.
    Тут все просто: у Вас в колонке число. Вы пытаетесь к нему добавить текст. Или наоборот, мне лень разбираться. Есть небольшая хитрость: чтобы не преобразовывать каждое слагаемое в строку, ставьте вначале пустые кавычки ("").
    То есть в вашем варианте это может выглядеть так:
    ТЗТМЦ.НомКоробки=""+ТЗТМЦ.НомКоробки+","+Флаг;
  11. Бухгалтерский угодник
    Online

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.155
    Симпатии:
    492
    Баллы:
    104
    не факт... если колонка типизирована как строка, то все работает
    --- Объединение сообщений, 15 ноя 2017 в 08:15 ---
    при добавлении колонки в ТЗ укажите что это СТРОКА. Если колонка имеет неопределенный тип, то, как вам сказала Катюфка, добавить символ к числу нельзя
  12. TopicStarter Overlay
    aleksandrvolkov
    Offline

    aleksandrvolkov

    Регистрация:
    23 ноя 2016
    Сообщения:
    33
    Симпатии:
    0
    Баллы:
    1
    добрый день, так у меня не сработало, получилось только ТЗТМЦ.НомКоробки=СокрЛП(ТЗТМЦ.НомКоробки)+","+Флаг;
  13. Бухгалтерский угодник
    Online

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.155
    Симпатии:
    492
    Баллы:
    104
    Вот так надо
    Код:
    ТЗТМЦ.НоваяКолонка("НомКоробки","Строка");
  14. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    481
    Симпатии:
    82
    Баллы:
    54
    А вот так сработает?
    ТЗТМЦ.НомКоробки=ТЗТМЦ.НомКоробки+","+Строка(Флаг);
  15. Бухгалтерский угодник
    Online

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.155
    Симпатии:
    492
    Баллы:
    104
    Если колонка не типизирована и уже присутствует число - не сработает.
    Тут или типизировать или изначально присваивать число в виде строки.

    ТЗТМЦ.НомКоробки=""+Флаг;
    или
    ТЗТМЦ.НомКоробки=Строка(Флаг);

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